Rename bootstrapper
This commit is contained in:
85
bootstrap/initial-kube-system-bootstrap
Executable file
85
bootstrap/initial-kube-system-bootstrap
Executable file
@@ -0,0 +1,85 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
TOP=@out@/share/kube-system-bootstrap
|
||||
|
||||
ca=@initca@
|
||||
apiserver="@apiserver@"
|
||||
|
||||
grafana_ldap_toml="@grafana_ldap_toml@"
|
||||
|
||||
apply_configs () {
|
||||
d=$TOP/config
|
||||
configs[0]=$d/cluster-auth-rbac.yaml
|
||||
configs[1]=$d/kube-proxy.yaml
|
||||
configs[2]=$d/front-proxy-client.yaml
|
||||
configs[3]=$d/grafana-smtp-secret.yaml
|
||||
[ ! -z $grafana_ldap_toml ] && configs[4]=$d/grafana-ldap-toml.yaml
|
||||
|
||||
kubectl delete secret cluster-ca -n kube-system >/dev/null 2>&1
|
||||
kubectl create secret tls cluster-ca \
|
||||
--namespace=kube-system --cert=${ca}/ca.pem --key=${ca}/ca-key.pem
|
||||
|
||||
for i in ${configs[@]}; do
|
||||
kubectl apply -f $i
|
||||
done
|
||||
}
|
||||
|
||||
install_certmgr () {
|
||||
kubectl apply -f https://raw.githubusercontent.com/jetstack/cert-manager/release-0.12/deploy/manifests/00-crds.yaml
|
||||
helm repo add jetstack https://charts.jetstack.io
|
||||
helm install -n kube-system -f $TOP/charts/cert-manager.yaml \
|
||||
cert-manager jetstack/cert-manager
|
||||
}
|
||||
|
||||
helm_install () {
|
||||
echo "helm install $1"
|
||||
helm install -n kube-system -f $TOP/charts/$1.yaml $1 stable/$1
|
||||
}
|
||||
|
||||
helm_delete () {
|
||||
echo "helm delete existing $1"
|
||||
helm delete -n kube-system $1
|
||||
}
|
||||
|
||||
install_prometheus () {
|
||||
helm_delete prometheus-operator
|
||||
yaml=/tmp/prometheus-operator.yaml
|
||||
cp $TOP/charts/prometheus-operator.yaml $yaml
|
||||
chmod 640 $yaml
|
||||
# disable ldap for grafana
|
||||
[ -z $grafana_ldap_toml ] && \
|
||||
sed -i '/auth\.ldap:/,+1 s/true/false/; /ldap:/,+1 d' $yaml
|
||||
# disable storage
|
||||
[ -z $fileserver ] && \
|
||||
sed -i '/prometheusSpec:/,+10d' $yaml
|
||||
helm_install prometheus-operator $yaml
|
||||
}
|
||||
|
||||
install_charts () {
|
||||
[ ! -z $fileserver ] && charts[0]=nfs-client-provisioner
|
||||
charts[1]=nginx-ingress
|
||||
charts[2]=metrics-server
|
||||
charts[3]=kubernetes-dashboard
|
||||
|
||||
for i in ${charts[@]};do
|
||||
helm_install $i
|
||||
sleep 30
|
||||
done
|
||||
}
|
||||
|
||||
install_prometheus_crds () {
|
||||
url=https://raw.githubusercontent.com/helm/charts/master/stable/prometheus-operator/crds
|
||||
kubectl apply -f $url/crd-alertmanager.yaml
|
||||
kubectl apply -f $url/crd-prometheus.yaml
|
||||
kubectl apply -f $url/crd-prometheusrules.yaml
|
||||
kubectl apply -f $url/crd-servicemonitor.yaml
|
||||
kubectl apply -f $url/crd-podmonitor.yaml
|
||||
}
|
||||
|
||||
apply_configs
|
||||
install_prometheus_crds
|
||||
install_certmgr
|
||||
install_charts
|
||||
install_prometheus
|
||||
|
||||
# vim:ft=sh
|
||||
Reference in New Issue
Block a user