处理方案:kubectl delete pod PODNAME --force --grace-period=0,我来为大家科普一下关于k8s 如何更新程序?下面希望有你要的答案,我们一起来看看吧!
k8s 如何更新程序
问题一
- pod无法删除的问题
处理方案:kubectl delete pod PODNAME --force --grace-period=0
问题二- pv无法删除的问题
处理方案:kubectl patch pv 你的pv名字 -p '{"metadata":{"finalizers":null}}'
问题三- namespace 无法删除
处理方案:
kubectl get namespace jenkins -o json > tmp.json
然后打开tmp.json,删除其中的spec字段 "spec": { #带有finalizers
},
开启代理到本地: kubectl proxy --port=8081
然后运行
curl -k -H "Content-Type: application/json" -X PUT --data-binary @tmp.json http://127.0.0.1:8081/api/v1/namespaces/jenkins/finalize
kubecet get ns #查看已经删除了
问题四- k8s 出现failed to watch file "/var/log/pods/xxxx/xxxxxx.log": no space left on deviceroot
解决方法:
vi /etc/sysctl.conf
在文件中添加或者修改成自己想要的值,一般直接翻倍,一直到没有问题不报错了
fs.inotify.max_user_watches = 2097152
修改完后执行命令,读取修改后的值
/sbin/sysctl -p
参数解释:inotify定义了下列的接口参数,可以用来限制inotify消耗kernel memory的大小。由于这些参数都是内存参数,因此,可以根据应用需求,实时的调节其大小:
- /proc/sys/fs/inotify/max_queued_evnets
- 表示调用inotify_init时分配给inotify instance中可排队的event的数目的最大值,超出这个值的事件被丢弃,但会触发IN_Q_OVERFLOW事件。
- /proc/sys/fs/inotify/max_user_instances
- 表示每一个real user ID可创建的inotify instatnces的数量上限。
- /proc/sys/fs/inotify/max_user_watches
- 表示每个inotify instatnces可监控的最大目录数量。如果监控的文件数目巨大,需要根据情况,适当增加此值的大小。