1、docker容器处于dead状态,使用删除命令提示无法删除
答:尽量避免快速删除容器,当前暂未找到较好的办法,除非重启系统
2、k8s集群调度的时区设置
答:如果集群使用的yaml文件中的image镜像本身已经设置好了时区那么可直接启动,也可设置为configmap,从configmap中直接加载,或者使用mount的方式直接挂载本地/etc/localtime
3、报错提示:Failed at step CHDIR spawning /usr/bin/kubelet: No such file or directory
答:可能出错的地方:/usr/bin/kubelet二进制文件不存在,/var/lib/kubelet工作目录不存在
4、K8S集群如何保证session共享?
5、K8S集群使用traefik实现负载均衡
答:traefik能实现动态热更新后端配置文件,并且不需要额外安装ingress controller,非常方便
6、如何实现K8S集群API的高可用?
答:api-server是无状态的可以启动多个,然后在前端再加一个nginx或者ha-proxy。而scheduler和controller都是直接用容器的方式启动的
7、kube-proxy报错kube-proxy[2241]: E0502 15:55:13.889842 2241 conntrack.go:42] conntrack returned error: error looking for path of conntrack: exec: "conntrack": executable file not found in $PATH,kubedns启动成功,运行正常,但是service之间无法解析,kubernetes中的DNS解析异常
答:CentOS中安装conntrack-tools包后重启kubernetes集群即可。
8、k8s调度pod中的容器如何保证时间与当前系统一致?
答:在yaml文件中将本地/etc/localtime挂载至容器中,加入如下图画框所示部分内容即可
9、k8s使用nfs当做挂载目录,出现创建pod失败报错的情况,如何解决?
答:很有可能是因为nfs的权限问题,比如pod运行rabbitmq应用,默认情况下,使用官方的rabbitmq运行的程序用户是rabbitmq,对nfs挂载的目录可能没有操作写入权限导致出错,解决办法是在nfs服务器上新建一个目录,并且将这个目录权限设置为rabbitmq用户,然后就可以使用了。
10、创建etcd集群出现tls:bad证书的提示,如何解决?
答:很有可能是因为ca根证书不是从master节点拷贝过去,而是自己在node节点单独生成导致的,删除node的ca证书,从master节点拷贝ca证书过去重新生成etcd证书即可
11、etcd节点启动报错:member 6592a7647e207a6e has already been bootstrapped,如何解决?
答:这是因为节点已经存在,可能是因为之前这个节点已经加入过集群了,但是启动参数那里设置的是new,所以需要将new修改为existing。
12、kubectl命令自动补全
答:source <(kubectl completion bash) && echo "source <(kubectl completion bash)" >> ~/.bashrc 直接复制这条命令执行即可
网友评论