|NO.Z.00066|——————————|^^ 部署 ^^|——|KuberNetes&二進位制部署.V19|3臺Server|---------------------------------------|kubernetes配置|生產環境關鍵性配置|
阿新 • • 發佈:2022-03-29
[CloudNative:KuberNetes&二進位制部署.V19] [Applications.KuberNetes] [|DevOps|k8s|**3節點**|二進位制1.20|kubernetes生產環境關鍵性配置|] [|docker|controller-manager|kubelet|kubelet-conf|Node.ROLES|]
一、生產環境關鍵性配置:docker引數配置——所有節點
### --- docker引數配置——所有節點 ~~~ docker引數:所有節點都需要更改。 [root@k8s-master01 ~]# vim /etc/docker/daemon.json { "registry-mirrors": [ "https://registry.docker-cn.com", "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn" ], "exec-opts": ["native.cgroupdriver=systemd"], "max-concurrent-downloads": 10, "max-concurrent-uploads": 5, "log-opts": { "max-size": "300m", "max-file": "2" }, "live-restore": true }
### --- docker引數配置說明 { "registry-mirrors" // docker的配置引數 "max-concurrent-downloads": 10, // 併發下載的執行緒數 "max-concurrent-uploads": 5, // 併發上傳的執行緒數 "log-opts": { // 日誌,cat /var/lib/docker/containers/k8s日誌地址 "max-size": "300m", // 限制最大檔案大小,到了300M後進行切割 "max-file": "2" }, // 生成的檔案數 "live-restore": true // 進行配置檔案配置需要重啟docker,重啟docker容器會重新啟動,需要一定時間誤差;所以開啟live-restore。就不用重啟docker;
二、ControllerManager引數配置——master節點
### --- ControllerManager引數配置——master節點 ~~~ controller-manager頒發證書時間修改 [root@k8s-master01 ~]# vim /usr/lib/systemd/system/kube-controller-manager.service --leader-elect=true \ // 在此行一下新增引數 --experimental-cluster-signing-duration=876000h0m0s \ // 新增這行引數 --use-service-account-credentials=true \ // 在此行以上新增引數 [root@k8s-master01 ~]# systemctl daemon-reload [root@k8s-master01 ~]# systemctl restart kube-controller-manager
### --- ControllerManager引數配置說明
~~~ 注:controller-manager頒發證書預設時間是一年,該引數設定頒發證書時間更長一些。
~~~ 注:頒發時間有些長,但是最長設定最長是5年,不一定生效,但是到達時間會重新頒發。
--cluster-signing-duration=876000h0m0s \
三、kubelet引數配置說明——所有節點
### --- kubelet引數配置——所有節點
~~~ 設定安全漏洞掃描引數,及下載引數(此驗證失敗,待實驗)
[root@k8s-master01 ~]# vim /etc/systemd/system/kubelet.service.d/10-kubelet.conf
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.kubeconfig --kubeconfig=/etc/kubernetes/kubelet.kubeconfig"
Environment="KUBELET_SYSTEM_ARGS=--network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin"
Environment="KUBELET_CONFIG_ARGS=--config=/etc/kubernetes/kubelet-conf.yml --pod-infra-container-image=registry.cn-hangzhou.aliyuncs.com/google_containers/pause-amd64:3.2"
Environment="KUBELET_EXTRA_ARGS=--node-labels=node.kubernetes.io/node='' --tls-cipher-suites=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 --image-pull-progress-deadline=30m " //引號內新增引數
ExecStart=
ExecStart=/usr/local/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_SYSTEM_ARGS $KUBELET_EXTRA_ARGS
~~~ # kubelet引數配置說明
~~~ 引號內新增引數:--tls-cipher-suites=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 --image-pull-progress-deadline=30m
--tls-cipher-suites=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
~~~ 若是公司有安全監控的情況下,會把k8s的安全漏洞會掃描出來,設定高級別的加密演算法,就會掃描不出來。對於叢集是沒有任何影響的。
--image-pull-progress-deadline=30m"
~~~ 在下載映象的時候預設時間是很短的。若是不設定,下載會一直迴圈。設定時間長一些,就儘量避免迴圈的出現
### --- 修改kubelet-conf配置引數
~~~ 容器是部署在pod裡面,需要修改核心引數併發量的;但是預設是不允許修改核心的;所以設定引數允許修改核心。
[root@k8s-master01 ~]# vim /etc/kubernetes/kubelet-conf.yml
~~~ 注:末尾新增如下配置
rotateServerCertificates: true
allowedUnsafeSysctls:
- "net.core*"
- "net.ipv4.*"
kubeReserved:
cpu: "10m"
memory: 10Mi
ephemeral-storage: 10Mi
systemReserved:
cpu: "10m"
memory: 20Mi
ephemeral-storage: 1Gi
### --- kubelet-conf配置引數說明
allowedUnsafeSysctls: - "net.core*" - "net.ipv4.*"
~~~ 注:允許pod核心修改開啟時,開啟安全設定,根據情況來定。不是必須的。
kubeReserved: cpu: "1" memory: 1Gi ephemeral-storage: 10Gi
systemReserved: cpu: "1" memory: 1Gi ephemeral-storage: 10Gi
~~~ 注:容器跑到主機上,不是無限制的消耗系統的資源。需要給k8s和系統預留一些資源。
### --- 重啟kubelet
[root@k8s-master01 ~]# systemctl daemon-reload
[root@k8s-master01 ~]# systemctl restart kubelet
### --- 檢視日誌狀態:檢視叢集執行是否正常
[root@k8s-master01 ~]# tail -f /var/log/messages
四、更改node.ROLES標籤引數
### --- 檢視node狀態
~~~ 檢視叢集是否執行正常
~~~ 注:ROLES引數值為none
[root@k8s-master01 ~]# kubectl get node
NAME STATUS ROLES AGE VERSION
k8s-master01 Ready <none> 15h v1.20.0
k8s-master02 Ready <none> 15h v1.20.0
k8s-master03 Ready <none> 15h v1.20.0
k8s-node01 Ready <none> 15h v1.20.0
k8s-node02 Ready <none> 15h v1.20.0
### --- 更改ROLES標籤引數
~~~ 更改ROLES:可以去配置,也可以不用去配置。
~~~ 注:擴充套件更改ROLES標籤
[root@k8s-master01 ~]# kubectl label node k8s-master01 node-role.kubernetes.io/master=''
node/k8s-master01 labeled
### --- 檢視更改後的ROLES標籤引數
[root@k8s-master01 ~]# kubectl get node
NAME STATUS ROLES AGE VERSION
k8s-master01 Ready master 15h v1.20.0
k8s-master02 Ready <none> 15h v1.20.0
===============================END===============================
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor
來自為知筆記(Wiz)