kuberneets 1.17 采坑

kube-proxy 报错

conntrack returned error: error looking for path of conntrack: exec: "conntrack": executable file not found in $PATH
导致 dns 无法访问 host unresolve 

安装 conntrack-tools  yum install conntrack-tools

 

关闭所有服务,清空iptables -F nat ,iptables -F, iptables -F raw , iptables -F mangle ,重新启动服务,如果还不行就重新安装覆盖网重新清空iptables    

 

Bootstrap TLS 验证的问题

根据文档不使用kubeadm搭建 bootstrap TLS 验证的kubelet

参考文档 

https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping/#token-authentication-file

https://kubernetes.io/docs/reference/access-authn-authz/certificate-signing-requests/

https://kubernetes.io/docs/reference/access-authn-authz/node/

 

注意事项:

1. 首先kubelet启动时用static token作为验证,要保证token文件里配置的用户名有bootstrap的权限,这里需要绑定到system:node-bootstrapper的clusterrole

2. 申请成功后会有csr 可以通过kubectl get csr 查看,但是手动approve是无效的,需要controller-manager来issue

3. 要配置--authorization-mode里 增加 Node, --admission-control里增加NodeRestriction

4. 如果Kubelet使用bootstrap启动 则需要用 --bootstrap-kubeconfig 来指定一个绑定到与token一样User的config

5. kubelet启动后会生成kubeconfig与cert-dir下的文件

 

证书过期问题

之前是手动搭建没有用Kubeadm, 证书过期后需要重新生成,涉及到的所有ServiceAccount都失效了,重新创建。

 

删除的node如何恢复

需要把cert-dir下生成的文件删除,重启kubelet,这种方式仅限于bootstrap启动模式

 

posted @ 2020-01-09 13:22  xuchenCN  阅读(638)  评论(0编辑  收藏  举报