1.kubeadm删除节点
(1).先删除node节点
kubectl drain
(drain 翻译排出,此时卸载节点,但是没有删除)
kubectl delete node
(需要先卸载,此步为删除节点操作。通过kubectl get nodes 已经没有node节点了)
(2).清空init配置在需要删除的节点上执行(注意,当执行init 或者 join 后出现任何错误,都可以使用此命令返回)
kubeadm reset
2.查看日志
多种查看日志的方法,这很重要
tail -f /var/log/messages
/var/log/messages 是这个节点的所有日志信息,当init 或者join中间出错的时候都可以查看他进行寻找
journalctl --unit=kubelet -n 100 --no-pager
输出某个服务最后100行的消息
journalctl -f -u kubelet
输出某个服务的消息,但是注意时间
kubectl describe pods coredns-123344 -n kube-system
输出某个pod的详细信息,kube-system是namespace范围下,
kubectl log coredns-123344 -n kube-system
当确定这个节点有问题,输出一下报错信息
3.修改cgroup
查看docker的cgroup
docker info | grep -i cgroup
查看kubectl 的cgroup
cat /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
修改组信息
https://blog.csdn.net/Andriy_dangli/article/details/85062983
4.删除所有镜像/容器
docker rmi $(docker images -q)
docker rm $(docker ps -aq
5.kubectl 常用命令
kubectl get pod -n kube-system
kubectl get pods --all-namespaces -owide
kubectl get services --all-namespaces
查看pod,service信息
kubectl describe pods kube-dns-dd8ff5758-45h56 -n kube-system
根据上面的信息查看具体详情
kubectl delete -f coredns.yaml
kubectl create -f coredns.yaml
删除或者创建pod
kubectl get nodes --show-labels
kubectl label nodes
查看和创建node标签
kubectl taint nodes node1 key1=value1:NoSchedule
kubectl taint nodes node1 key1:NoSchedule-
kubectl describe nodes node1
设置污点,删除污点,查看node的污点情况
kubectl replace --force -f
重启节点
6.镜像,容器和压缩包的相互转化
tar > images
docker load -i centos_latest.tar
docker tag pid centos:latest
images > container
docker run -dit centos:latest /bin/bash //示例启动代码
container > images
docker commit pid new_centos:latest /bin/bash
images> tar
docker save new_centos:latest > new_centos.tar
7.启动服务 && 重启服务
systemctl daemon-reload && systemctl enable kube-controller-manager && systemctl restart kube-controller-manager
systemctl daemon-reload && service restart kube-controller-manager
8.创建kubectl权限
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
9.查看pod详细信息
kubectl get pod coredns-xxx -n kube-system -o yaml