K8S问题记录

时间:2022-07-22
本文章向大家介绍K8S问题记录,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

拉取Harbor镜像失败问题

在使用habor作为镜像仓库时,默认拉取镜像是走的https,如果在安装harbor时没有设置证书,则会报错,timeout,deny之类的错误,如果没有证书的话,就需要修改nginx的配置

解决办法

在所有需要拉取镜像的机器都要配置,k8s的整个集群都要设置

# vim /etc/docker/daemon.json 
{
  "insecure-registries": ["192.168.1.47","reg.docker.tb"]
}

多个地址以逗号分隔,如果harbor的地址为IP,则写IP,域名则写域名,默认是80端口,如果是非80端口,则需要指定端口

修改完成后,重启docker

systemctl daemon-reload
systemctl restart docker

如果没有/etc/docker/daemon.json这个文件,则需要创建下,若按照上述方式修改后,docker启动报错,一般是因为/usr/lib/systemd/system/docker.service这个docker的service文件没有设置正确,需要仔细检查下,修改/etc/docker/daemon.json和修改/usr/lib/systemd/system/docker.service这两个只能二选一,不能都配置,否则也会报错,下面看下修改docker.service的方法

vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --graph /data/docker --insecure-registry 192.168.1.1:8000

修改完成后,需要重启

systemctl daemon-reload
systemctl restart docker

Pod一直处于Terminaling状态

删除处于Terminaling或者Pending的状态的pod,需要强制删除才行,方法如下:

kubectl delete pod --force --grace-period=0 istio-operation-web-7568cfc9b5-fwbqk