在一些場景下,您的kube.NETes集群已經(jīng)搭建完成了,但是還需要修改一些核心組件的參數(shù),如etcd、kube-apiserver、kube-scheduler、kube-controller-manager等。
通過kubectl get pod -owide -n kube-system 可以查看到這些核心容器。
NAME READY STATUS RESTARTS AGE
coreDNS-78fcd69978-rdmjm 1/1 Running 11 (23s ago) 281d
etcd-$NODE1 1/1 Running 13 (23s ago) 281d
etcd-$NODE2 1/1 Running 13 (23s ago) 281d
etcd-$NODE3 1/1 Running 13 (23s ago) 281d
.....
以etcd為例,etcd的參數(shù)就在pod中的commands參數(shù)里??梢酝ㄟ^kubectl describe pod etcd-$NODENAME -n kube-system來查看(省略部分參數(shù))
Name: etcd-$NODENAME
Namespace: kube-system
Containers:
etcd:
Command:
--client-cert-auth=true
--trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt
然而,如果您嘗試編輯pod中的參數(shù),會發(fā)現(xiàn)它們是不可修改的。
不過,如果您需要修改參數(shù),還有另一個辦法,通過修改
/etc/kubernetes/manifests/下的yaml文件來修改運行中kubernetes集群中"系統(tǒng)"Pod的參數(shù)。原理是,當(dāng)您把yaml文件修改后,kubelet會自動監(jiān)聽yaml文件的變更,并重新拉起本機器上的pod。
舉個例子,如果您希望關(guān)閉etcd集群對客戶端的認(rèn)證,那么您可以修改
/etc/kubernetes/mainfiest/etcd.yaml,將client-cert-auth設(shè)置為false,把--trusted-ca-file去掉。注意:三臺master機器節(jié)點都需要執(zhí)行此操作