k8x/systemd/install_kube_controller_manager.sh

57 lines
2.2 KiB
Bash
Raw Permalink Normal View History

2024-05-17 21:45:52 -04:00
#!/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