k8s二進位制安裝-9,安裝kubelet
阿新 • • 發佈:2021-02-18
技術標籤:kubernetesdockerkubernetesdocker
- cp /usr/local/src/kubernetes/server/bin/kubelet /opt/kubernetes/bin
- cp /usr/local/src/kubernetes/server/bin/kube-proxy /opt/kubernetes/bin
建立配置檔案
cat > /opt/kubernetes/cfg/kubelet.conf << EOF KUBELET_OPTS="--logtostderr=false \\ --v=2 \\ --hostname-override={{node_ip}} \\ --log-dir=/opt/kubernetes/logs \\ --network-plugin=cni \\ --kubeconfig=/opt/kubernetes/cfg/kubelet.kubeconfig \\ --bootstrap-kubeconfig=/opt/kubernetes/cfg/bootstrap.kubeconfig \\ --config=/opt/kubernetes/cfg/kubelet-config.yml \\ --cert-dir=/opt/kubernetes/ssl \\ --pod-infra-container-image=gcr.io/google_containers/pause-amd64:3.0" EOF
- –hostname-override:顯示名稱,叢集中唯一
- –network-plugin:啟用CNI
- –kubeconfig:空路徑,會自動生成,後面用於連線apiserver
- –bootstrap-kubeconfig:首次啟動向apiserver申請證書
- –config:配置引數檔案
- –cert-dir:kubelet證書生成目錄
- –pod-infra-container-image:管理Pod網路容器的映象
配置引數檔案
cat > /opt/kubernetes/cfg/kubelet-config.yml << EOF kind: KubeletConfiguration apiVersion: kubelet.config.k8s.io/v1beta1 address: 0.0.0.0 port: 10250 readOnlyPort: 10255 cgroupDriver: cgroupfs clusterDNS: - 10.1.0.2 clusterDomain: cluster.local failSwapOn: false authentication: anonymous: enabled: false webhook: cacheTTL: 2m0s enabled: true x509: clientCAFile: /opt/kubernetes/ssl/ca.pem authorization: mode: Webhook webhook: cacheAuthorizedTTL: 5m0s cacheUnauthorizedTTL: 30s evictionHard: imagefs.available: 15% memory.available: 100Mi nodefs.available: 10% nodefs.inodesFree: 5% maxOpenFiles: 1000000 maxPods: 110 EOF
生成bootstrap.kubeconfig檔案
kubectl config set-cluster kubernetes \ --certificate-authority=/opt/kubernetes/ssl/ca.pem \ --embed-certs=true \ --server="https://master_ip:6443" \ --kubeconfig=bootstrap.kubeconfig kubectl config set-credentials "kubelet-bootstrap" \ --token="1064c534fb35c6d5a921df075d5281ac" \ --kubeconfig=bootstrap.kubeconfig kubectl config set-context default \ --cluster=kubernetes \ --user="kubelet-bootstrap" \ --kubeconfig=bootstrap.kubeconfig kubectl config use-context default --kubeconfig=bootstrap.kubeconfig cp bootstrap.kubeconfig /opt/kubernetes/cfg
systemd管理kubelet
cat > /usr/lib/systemd/system/kubelet.service << EOF
[Unit]
Description=Kubernetes Kubelet
After=docker.service
[Service]
EnvironmentFile=/opt/kubernetes/cfg/kubelet.conf
ExecStart=/opt/kubernetes/bin/kubelet \$KUBELET_OPTS
Restart=on-failure
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
EOF
設定開機啟動
systemctl daemon-reload
systemctl start kubelet
systemctl enable kubelet
批准kubelet證書申請加入叢集
kubectl get csr
kubectl certificate approve {{第一個引數}}