1、重置Kubernetes 集群,重新配置kubectl出现以下错误
Unable to connect to the server: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "kubernetes")
查看配置详情
[root@localhost ~]# kubectl config view
解决:
[root@localhost ~]# kubectl config delete-cluster kubernetes
deleted cluster kubernetes from /root/.kube/config
2、部署Service过程中,使用NodePort暴露80端口遇到端口范围问题
The Service "nginx-test" is invalid: spec.ports[0].nodePort: Invalid value: 80: provided port is not in the valid range. The range of valid ports is 30000-32767
解决:
使用 kubeadm 安装 K8S 集群的情况下,您的 Master 节点上会有一个文件:
/etc/kubernetes/manifests/kube-apiserver.yaml
修改此文件,向api-server中添加:
--service-node-port-range=1-50000
重启api-server:
systemctl daemon-reload
systemctl restart kube-apiserver
已发布的服务,需要重新发布生效
3、Kubernates使用私有仓库无法拉取镜像问题
使用kubectl describe pod [问题pod名称] 查看发现,报错 no basic auth credentials
解决方案:
在master节点使用如下语句创建名为regcred 的secret
kubectl create secret generic regcred --from-file=.dockerconfigjson=/root/.docker/config.json --type=kubernetes.io/dockerconfigjson
并制定yml文件中的imagePullSecrets
imagePullSecrets:
- name: regcred
重新部署,问题解决!
#使用base64生成docker仓库登录凭据
base64 -w 0 /root/.docker/config.json
4、kubernetes部署项目出现 "cni0" already has an IP address different from 10.244.2.1/24 报错信息
可能是重新部署k8s相关信息没有清理干净
使用下列命令删除网口再重新初始化
ifconfig cni0 down
ip link delete cni0
5、pod使用了latest标签的镜像,但是发布了新版的docker镜像,使用kubectl apply -f 无法触发pod重新部署
使用以下命令,更新pod的labels可以触发pod拉取新的镜像并重新部署
kubectl patch deployment [my_deployment] -n [my_namespace] -p '{"spec":{"template":{"metadata":{"labels":{"date":"'`date +'%s'`'"}}}}}';
5、某节点宕机,重启后没有主动加入到k8s集群
#重启docker
systemctl daemon-reload
systemctl restart docker
#重启kubelet
systemctl restart kubelet.service
6、修改kubelet驱逐配置
vi /var/lib/kubelet/config.yaml
#添加配置
evictionHard:
imagefs.available: 15%
memory.available: 1Gi
nodefs.available: 10%
nodefs.inodesFree: 5%
7、批量强行删除卡死的pod
kubectl get pods -n [NAMESPACE]| awk '{ print $1 }' | xargs kubectl delete --force --grace-period=0 -n [NAMESPACE] pod