Compare commits

..

6 Commits

Author SHA1 Message Date
Robert Dower 2b6c3ec3cf Update README.md 2025-08-07 13:34:33 -07:00
Peter W. Morreale 9e3697308e Fix create_stack for version 1.25
kubernetes 1.25 changed the key for the NoSchedule taint to
'control-plane'.

Fix the script to handle both pre and post version 1.25

Signed-off-by: Peter W. Morreale <pwmorreale@gmail.com>
2022-11-15 14:39:32 -07:00
Ganesh Maharaj Mahalingam af1171a6af Add storage back to all function (#346)
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>

Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2022-08-31 09:37:52 -07:00
Ganesh Maharaj Mahalingam 17ee9d5040 Upgrades to components in preparation of k8s 1.25 (#345)
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2022-08-29 12:17:33 -07:00
Ganesh Maharaj Mahalingam ae85c01b63 Revert check for prometheus deployment and update nginx
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2022-08-16 17:18:48 -06:00
Ganesh Maharaj Mahalingam 8f2f1d7422 Fix bash command to check prometheus crds
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2022-08-15 17:00:30 -06:00
14 changed files with 154 additions and 15 deletions
+8
View File
@@ -1,3 +1,11 @@
## DISCONTINUATION OF PROJECT.
This project will no longer be maintained by Intel.
Intel will not provide or guarantee development of or support for this project, including but not limited to, maintenance, bug fixes, new releases or updates. Patches to this project are no longer accepted by Intel. If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the community, please create your own fork of the project.
Contact: webadmin@linux.intel.com
## Cloud Native Setup
Automation around setting up the cloud-native content (Kubernetes) on Clear Linux.
@@ -0,0 +1,4 @@
resources:
- canal/canal.yaml
@@ -0,0 +1,19 @@
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
@@ -0,0 +1,4 @@
resources:
- dashboard/aio/deploy/recommended.yaml
- dashboard-admin.yaml
@@ -0,0 +1,8 @@
resources:
- instrumentation-addons/fluentd-elasticsearch/create-logging-namespace.yaml
- instrumentation-addons/fluentd-elasticsearch/es-service.yaml
- instrumentation-addons/fluentd-elasticsearch/es-statefulset.yaml
- instrumentation-addons/fluentd-elasticsearch/fluentd-es-configmap.yaml
- instrumentation-addons/fluentd-elasticsearch/fluentd-es-ds.yaml
- instrumentation-addons/fluentd-elasticsearch/kibana-deployment.yaml
- instrumentation-addons/fluentd-elasticsearch/kibana-service.yaml
@@ -0,0 +1,2 @@
resources:
- ingress-nginx/deploy/static/provider/baremetal/deploy.yaml
@@ -0,0 +1,6 @@
resources:
- rook/deploy/examples/cluster.yaml
- rook/deploy/examples/csi/rbd/storageclass.yaml
patchesStrategicMerge:
- probe_timeout.yaml
@@ -0,0 +1,16 @@
---
apiVersion: ceph.rook.io/v1
kind: CephCluster
metadata:
name: rook-ceph
namespace: rook-ceph
spec:
healthCheck:
startupProbe:
osd:
probe:
timeoutSeconds: 120
initialDelaySeconds: 100
periodSeconds: 10
failureThreshold: 10
successThreshold: 1
@@ -0,0 +1,9 @@
resources:
- rook/deploy/examples/cluster.yaml
- rook/deploy/examples/csi/rbd/storageclass.yaml
patchesStrategicMerge:
# patches rook to use 'directories' instead of partitions.
# comment out to use partitions
- patch_cephcluster.yaml
- probe_timeout.yaml
@@ -0,0 +1,19 @@
---
apiVersion: ceph.rook.io/v1
kind: CephCluster
metadata:
name: rook-ceph
namespace: rook-ceph
spec:
mon:
allowMultiplePerNode: true
---
apiVersion: ceph.rook.io/v1
kind: CephBlockPool
metadata:
name: replicapool
namespace: rook-ceph
spec:
replicated:
requireSafeReplicaSize: false
size: 1
@@ -0,0 +1,30 @@
---
apiVersion: ceph.rook.io/v1
kind: CephCluster
metadata:
name: rook-ceph
namespace: rook-ceph
spec:
healthCheck:
startupProbe:
mon:
probe:
timeoutSeconds: 10
initialDelaySeconds: 100
periodSeconds: 10
failureThreshold: 12
successThreshold: 1
mgr:
probe:
timeoutSeconds: 10
initialDelaySeconds: 100
periodSeconds: 10
failureThreshold: 12
successThreshold: 1
osd:
probe:
timeoutSeconds: 10
initialDelaySeconds: 100
periodSeconds: 10
failureThreshold: 12
successThreshold: 1
+27 -13
View File
@@ -18,17 +18,17 @@ LOAD_BALANCER_IP=${LOAD_BALANCER_IP:-""}
LOAD_BALANCER_PORT="${LOAD_BALANCER_PORT:-6444}"
# versions
CANAL_VER="${CLRK8S_CANAL_VER:-v3.22}"
CANAL_VER="${CLRK8S_CANAL_VER:-v3.24}"
CILIUM_VER="${CLRK8S_CILIUM_VER:-v1.9.13}"
FLANNEL_VER="${CLRK8S_FLANNEL_VER:-v0.16.3}"
CILIUM_VAL_OVERRIDE=""
K8S_VER="${CLRK8S_K8S_VER:-}"
KATA_VER="${CLRK8S_KATA_VER:-2.3.3}"
ROOK_VER="${CLRK8S_ROOK_VER:-v1.8.6}"
KATA_VER="${CLRK8S_KATA_VER:-2.4.0}"
ROOK_VER="${CLRK8S_ROOK_VER:-v1.8.10}"
METRICS_VER="${CLRK8S_METRICS_VER:-v0.6.1}"
DASHBOARD_VER="${CLRK8S_DASHBOARD_VER:-v2.0.0-beta2}"
INGRES_VER="${CLRK8S_INGRES_VER:-nginx-0.26.1}"
EFK_VER="${CLRK8S_EFK_VER:-v1.15.1}"
DASHBOARD_VER="${CLRK8S_DASHBOARD_VER:-v2.6.1}"
INGRES_VER="${CLRK8S_INGRES_VER:-controller-v1.3.0}"
EFK_VER="${CLRK8S_EFK_VER:-193692c92eb4667b8f4fb7d4cdf0462e229b5f13}"
METALLB_VER="${CLRK8S_METALLB_VER:-v0.8.3}"
NPD_VER="${CLRK8S_NPD_VER:-v0.6.6}"
PROMETHEUS_VER="${CLRK8S_PROMETHEUS_VER:-v0.10.0}"
@@ -115,9 +115,17 @@ function cluster_init() {
fi
fi
#Ensure single node k8s works
#Ensure single node k8s works both pre and post v1.25
if [ "$(kubectl get nodes | wc -l)" -eq 2 ]; then
kubectl taint nodes --all node-role.kubernetes.io/master-
minor=$(kubeadm version -o short | cut -f 2 -d "." )
if [ $minor -ge "25" ]; then
kubectl taint nodes --all node-role.kubernetes.io/control-plane-
elif [ $minor -eq "24" ]; then
kubectl taint nodes --all node-role.kubernetes.io/control-plane-
kubectl taint nodes --all node-role.kubernetes.io/master-
else
kubectl taint nodes --all node-role.kubernetes.io/master-
fi
mode="standalone"
fi
}
@@ -222,7 +230,7 @@ function storage() {
ROOK_URL="https://github.com/rook/rook.git"
ROOK_DIR=7-rook
# This function might be called standalone, so good to check the mode we are in.
# This function might be called standalone, so good to check the mode we are in.
if [ "$(kubectl get nodes --no-headers | wc -l)" -eq 1 ]; then
mode="standalone"
fi
@@ -258,10 +266,11 @@ function monitoring() {
set_repo_version "${PROMETHEUS_VER}" "${PROMETHEUS_DIR}/overlays/${PROMETHEUS_VER}/kube-prometheus"
kubectl apply --server-side -f "${PROMETHEUS_DIR}/overlays/${PROMETHEUS_VER}/kube-prometheus/manifests/setup/"
while ! $(kubectl get servicemonitors --all-namespaces) ; do
while ! [[ $(kubectl get crd alertmanagers.monitoring.coreos.com prometheuses.monitoring.coreos.com prometheusrules.monitoring.coreos.com servicemonitors.monitoring.coreos.com) ]]; do
echo "Waiting for prometheus crds"
sleep 10
done
kubectl apply -k "${PROMETHEUS_DIR}/overlays/${PROMETHEUS_VER}/"
#Expose the dashboards
@@ -277,6 +286,8 @@ function dashboard() {
get_repo "${DASHBOARD_URL}" "${DASHBOARD_DIR}/overlays/${DASHBOARD_VER}"
set_repo_version "${DASHBOARD_VER}" "${DASHBOARD_DIR}/overlays/${DASHBOARD_VER}/dashboard"
kubectl apply -k "${DASHBOARD_DIR}/overlays/${DASHBOARD_VER}"
echo 'Run "kubectl -n kubernetes-dashboard create token admin-user" to create an admin token'
}
function ingres() {
@@ -290,10 +301,10 @@ function ingres() {
function efk() {
EFK_VER=${1:-$EFK_VER}
EFK_URL="https://github.com/kubernetes/kubernetes.git"
EFK_URL="https://github.com/kubernetes-sigs/instrumentation-addons.git"
EFK_DIR="3-efk"
get_repo "${EFK_URL}" "${EFK_DIR}/overlays/${EFK_VER}"
set_repo_version "${EFK_VER}" "${EFK_DIR}/overlays/${EFK_VER}/kubernetes"
set_repo_version "${EFK_VER}" "${EFK_DIR}/overlays/${EFK_VER}/instrumentation-addons"
kubectl apply -k "${EFK_DIR}/overlays/${EFK_VER}"
}
@@ -354,7 +365,7 @@ function minimal() {
function all() {
minimal
storage
storage
monitoring
miscellaneous
}
@@ -395,6 +406,9 @@ command_handlers[npd]=npd
command_handlers[nfd]=nfd
command_handlers[kata]=kata
command_handlers[metrics]=metrics
command_handlers[dashboard]=dashboard
command_handlers[efk]=efk
command_handlers[ingres]=ingres
declare -A command_help
command_help[init]="Only inits a cluster using kubeadm"
+2 -2
View File
@@ -1,4 +1,4 @@
apiVersion: kubeadm.k8s.io/v1beta2
apiVersion: kubeadm.k8s.io/v1beta3
kind: InitConfiguration
---
apiVersion: kubelet.config.k8s.io/v1beta1
@@ -11,7 +11,7 @@ kubeReserved:
cpu: 500m
memory: 256M
---
apiVersion: kubeadm.k8s.io/v1beta2
apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
networking:
dnsDomain: cluster.local