修改运行中kubernetes集群中etcd的参数

在一些场景下,您的kube.NETes集群已经搭建完成了,但是还需要修改一些核心组件的参数,如etcd、kube-apiserver、kube-scheduler、kube-controller-manager等 。
通过kubectl get pod -owide -n kube-system 可以查看到这些核心容器 。
【修改运行中kubernetes集群中etcd的参数】NAMEREADYSTATUSRESTARTSAGEcoreDNS-78fcd69978-rdmjm1/1Running11 (23s ago)281detcd-$NODE11/1Running13 (23s ago)281detcd-$NODE21/1Running13 (23s ago)281detcd-$NODE31/1Running13 (23s ago)281d.....以etcd为例,etcd的参数就在pod中的commands参数里 。可以通过kubectl describe pod etcd-$NODENAME -n kube-system来查看(省略部分参数)
Name: etcd-$NODENAMENamespace: kube-systemContainers:etcd:Command:--client-cert-auth=true--trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt然而,如果您尝试编辑pod中的参数,会发现它们是不可修改的 。
不过,如果您需要修改参数,还有另一个办法,通过修改
/etc/kubernetes/manifests/下的yaml文件来修改运行中kubernetes集群中"系统"Pod的参数 。原理是,当您把yaml文件修改后,kubelet会自动监听yaml文件的变更,并重新拉起本机器上的pod 。
举个例子,如果您希望关闭etcd集群对客户端的认证,那么您可以修改
/etc/kubernetes/mainfiest/etcd.yaml,将client-cert-auth设置为false,把--trusted-ca-file去掉 。注意:三台master机器节点都需要执行此操作




    推荐阅读