57 lines
2.2 KiB
Bash
57 lines
2.2 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
echo ""
|
||
|
echo "... ] INSTALLING KUBE CONTROLLER MANAGER [ ..."
|
||
|
|
||
|
HOME=$( cd "$(dirname "$0")" && pwd )
|
||
|
source $HOME/../config
|
||
|
|
||
|
systemctl stop kube-controller-manager
|
||
|
|
||
|
gzip -v -c -d $HOME/../blobs/kube-controller-manager.gz > /usr/local/bin/kube-controller-manager
|
||
|
chmod +x /usr/local/bin/kube-controller-manager
|
||
|
|
||
|
#generate kube-controller-manager's kubeconfig
|
||
|
rm ${CONF_DIR}/kube-controller-manager/kubeconfig
|
||
|
TOKEN=`cat ${CA_DIR}/kube-controller-manager.token`
|
||
|
kubectl config set-cluster ${CLUSTER_NAME}.virtual.local --certificate-authority=${CA_DIR}/ca.crt --embed-certs=true --server=https://${NODE_IP}:6443 --kubeconfig=${CONF_DIR}/kube-controller-manager/kubeconfig
|
||
|
kubectl config set-credentials system:kube-controller-manager --client-certificate=${CA_DIR}/kube-controller-manager.crt --client-key=${CA_DIR}/kube-controller-manager.key --embed-certs=true --token=$TOKEN --kubeconfig=${CONF_DIR}/kube-controller-manager/kubeconfig
|
||
|
kubectl config set-context ${CLUSTER_NAME}.virtual.local --cluster=${CLUSTER_NAME}.virtual.local --user=system:kube-controller-manager --kubeconfig=${CONF_DIR}/kube-controller-manager/kubeconfig
|
||
|
kubectl config use-context ${CLUSTER_NAME}.virtual.local --kubeconfig=${CONF_DIR}/kube-controller-manager/kubeconfig
|
||
|
|
||
|
cat <<EOF | tee /etc/systemd/system/kube-controller-manager.service
|
||
|
[Unit]
|
||
|
Description=Kubernetes Controller Manager
|
||
|
Documentation=https://github.com/kubernetes/kubernetes
|
||
|
|
||
|
[Service]
|
||
|
User=root
|
||
|
ExecStart=/usr/local/bin/kube-controller-manager \\
|
||
|
--allocate-node-cidrs=true \\
|
||
|
--bind-address=${NODE_IP} \\
|
||
|
--secure-port=10257 \\
|
||
|
--configure-cloud-routes=false \\
|
||
|
--cluster-cidr=${CNI_NET} \\
|
||
|
--cluster-name=${CLUSTER_NAME}.virtual.local \\
|
||
|
--cluster-signing-cert-file=${CA_DIR}/ca.crt \\
|
||
|
--cluster-signing-key-file=${CA_DIR}/ca.key \\
|
||
|
--kubeconfig=${CONF_DIR}/kube-controller-manager/kubeconfig \\
|
||
|
--leader-elect=true \\
|
||
|
--root-ca-file=${CA_DIR}/ca.crt \\
|
||
|
--service-account-private-key-file=${CA_DIR}/sa.key \\
|
||
|
--service-cluster-ip-range=${SERVICE_NET} \\
|
||
|
--use-service-account-credentials=true \\
|
||
|
--logtostderr=true \\
|
||
|
--v=2
|
||
|
|
||
|
Restart=on-failure
|
||
|
LimitNOFILE=65536
|
||
|
|
||
|
[Install]
|
||
|
WantedBy=multi-user.target
|
||
|
EOF
|
||
|
|
||
|
systemctl daemon-reload
|
||
|
systemctl enable kube-controller-manager
|
||
|
systemctl start kube-controller-manager
|