kubernetes V1.9,如何获取kubelet.conf?

kubernetes V1.9,如何获取kubelet.conf?,kubernetes,kubelet,Kubernetes,Kubelet,我正在尝试使用RBAC authz和准入控制选项构建Kubernetes集群V1.9.3 我已经用V1.6做过了,所有的工作都很好,当我的节点启动kubelet时,它使用引导文件来获取kubelet的客户端证书。 它得到5个文件:kubelet.crt、kubelet.key、kubelet-client.key、kubelet-client.crt和kubelet.conf 在V1.9中,我在所有组件上使用相同的配置,我只是将它们调整为更新1.6->1.9。 apiserver、schedul

我正在尝试使用RBAC authz和准入控制选项构建Kubernetes集群V1.9.3

我已经用V1.6做过了,所有的工作都很好,当我的节点启动kubelet时,它使用引导文件来获取kubelet的客户端证书。 它得到5个文件:kubelet.crt、kubelet.key、kubelet-client.key、kubelet-client.crt和kubelet.conf

在V1.9中,我在所有组件上使用相同的配置,我只是将它们调整为更新1.6->1.9。 apiserver、scheduler和controller manager启动时没有任何问题

当我的节点启动kubelet时,它也会使用引导,并获得kubelet.crt kubelet.key和kubelet-client.key,但既不是kubelet-client.crt也不是kubelet.conf文件

我在所有组件的日志中都没有看到任何问题,看起来一切正常,但是我的kubelet没有得到它的配置文件

这里是我在1.9中的apiserver配置:

--admission-control=NodeRestriction,NamespaceLifecycle,LimitRanger,ServiceAccount,PersistentVolumeLabel,DefaultStorageClass,ResourceQuota,DefaultTolerationSeconds 
--authorization-mode=Node,RBAC 
--secure-port=6443 
--bind-address=0.0.0.0 
--advertise-address=10.0.0.8 
--insecure-port=0 
--insecure-bind-address=127.0.0.1 
--client-ca-file=/etc/kubernetes/pki/ca.crt 
--etcd-servers=http://127.0.0.1:2379 
--service-account-key-file=/etc/kubernetes/pki/sa.pub 
--service-cluster-ip-range=172.30.100.0/24 
--tls-cert-file=/etc/kubernetes/pki/kube-apiserver.crt 
--tls-private-key-file=/etc/kubernetes/pki/kube-apiserver.key 
--enable-bootstrap-token-auth 
--kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt
--kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key 
--kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname 
--requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt 
--requestheader-username-headers=X-Remote-User 
--requestheader-group-headers=X-Remote-Group 
--requestheader-allowed-names=front-proxy-client 
--requestheader-extra-headers-prefix=X-Remote-Extra-
1.9中的Kubelet配置:

--bootstrap-kubeconfig=/etc/kubernetes/kubeconfig
--kubeconfig=/etc/kubernetes/kubelet.conf   
--pod-manifest-path=/etc/kubernetes/manifests   
--allow-privileged=true   
--network-plugin=cni   
--cni-conf-dir=/etc/cni/net.d   
--cni-bin-dir=/opt/cni/bin   
--cluster-dns=172.30.0.10   
--cluster-domain=cluster.local   
--authorization-mode=Webhook   
--client-ca-file=/etc/kubernetes/pki/ca.crt   
--cadvisor-port=0   
--rotate-certificates=true   
--cert-dir=/var/lib/kubelet/pki  
--cgroup-driver=systemd
系统控制状态-l kubelet:

Feb 23 17:24:43 kubenode1 systemd[1]: Started Kubernetes Kubelet.
Feb 23 17:24:43 kubenode1 systemd[1]: Starting Kubernetes Kubelet...
Feb 23 17:24:43 kubenode1 kubelet[12489]: I0223 17:24:43.664804   12489 feature_gate.go:226] feature gates: &{{} map[]}
Feb 23 17:24:43 kubenode1 kubelet[12489]: I0223 17:24:43.664956   12489 controller.go:114] kubelet config controller: starting controller
Feb 23 17:24:43 kubenode1 kubelet[12489]: I0223 17:24:43.664960   12489 controller.go:118] kubelet config controller: validating combination of defaults and flags
Feb 23 17:24:44 kubenode1 kubelet[12489]: W0223 17:24:44.078716   12489 cni.go:171] Unable to update cni config: No networks found in /etc/cni/net.d
Feb 23 17:24:44 kubenode1 kubelet[12489]: I0223 17:24:44.082194   12489 server.go:182] Version: v1.9.3
Feb 23 17:24:44 kubenode1 kubelet[12489]: I0223 17:24:44.082228   12489 feature_gate.go:226] feature gates: &{{} map[]}
Feb 23 17:24:44 kubenode1 kubelet[12489]: I0223 17:24:44.082310   12489 plugins.go:101] No cloud provider specified.
ls/var/lib/kubelet/pki:

kubelet-client.key
kubelet.crt
kubelet.key
如何强制kubelet在v1.9中获取kubelet.conf文件?
有人知道吗?

我想我发现了问题,控制器经理不再自动批准kubelet请求。我必须使用以下命令来批准它:

$ kubectl -n kube-system get csr
NAME                                                   AGE       REQUESTOR                 CONDITION
node-csr-a1NZL_Efc2eDyrtSNZcIL1NxuHTvrsCO-ObfFFRUh8U   27s       system:bootstrap:61bb3c   Pending
node-csr-co5i3DRYeYOwCBff5XYA0rfSIqniy05VtdiVTmarQQA   5h        system:bootstrap:61bb3c   Approved,Issued
$ kubectl certificate approve node-csr-IoN3CNTJmJHGKUWso1OXLwd1H3KLOon4oVCz3uVYfqw
certificatesigningrequest "node-csr-a1NZL_Efc2eDyrtSNZcIL1NxuHTvrsCO-ObfFFRUh8U" approved
我遵循此文档,认为可以启用自动批准,但似乎不是:/

使用以下命令生成相应的配置文件:

kubeadm alpha-kubeconfig用户——组织系统:masters——客户端名称kubernetes admin>admin.conf
kubeadm alpha kubeconfig用户--客户端名称系统:kube controller manager>controller-manager.conf
kubeadm alpha kubeconfig用户--组织系统:节点--客户端名称系统:节点:$(主机名)>kubelet.conf
kubeadm alpha kubeconfig用户--客户端名称系统:kube scheduler>scheduler.conf