网站首页 > 基础教程 正文
kubernetes中设置master节点为不可调度:
kubectl cordon $node_ip
kubernetes中驱逐故障节点上的pod:
kubectl drain $node_ip --ignore-daemonsets --delete-local-data(删除本地数据需要谨慎操作)
遇到不能驱逐的,采取强制驱逐:
kubectl get pod -A - o wide | grep -w ${workernode_ip} >./podlist.txt
while read ns pod; do kubectl delete pod $pod $ns; done <./podlist.txt
deployment用来部署无状态的服务,statefulset用来部署有状态的服务。
有状态的服务管理的是持久化数据,无状态的服务只维护有限的状态信息。
无状态的服务比如web应用,有状态的服务比如分布式数据库。
无状态的业务不会在本地存储持久化数据。
在pod的spec里面指定nameNode,可以绑定pod到worker node节点。
绑定节点的pod不可漂移,当服务器故障之后,一般会处于pending状态,请求不会转发到这个状态的pod上。
~~~我是华丽的分隔线~~~
查看kubernetes pod的镜像版本:
kubectl get pod -n $namespace -o yaml | grep -i images
~~~我是华丽的分隔线~~~
镜像的导出和导入:
导出:
docker save 镜像:标签 -o /tmp/镜像名称.tar
远程拷贝镜像:
scp -P22 镜像名 远程IP:路径
导入docker镜像:
docker load -i 镜像名
~~~我是华丽的分隔线~~~
清除pagecache和slab分配器中的缓存对象:
echo 3> /proc/sys/vm/drop_caches
清除pagecache:
echo 1> /proc/sys/vm/drop_caches
~~~我是华丽的分隔线~~~
docker启动Django应用:
docker run -d -p 8002:8002 --name myblog -e MYSQL_HOST=192.168.116.168 -e MYSQL_USER=root -e MYSQL_PASSWD=123456 myblog:v1
进入docker 容器:
docker exec -it myblog bash
导入数据:
python3 manage.py makemigrations
python3 manage.py migrate
创建超级用户:
docker exec -ti myblog python3 manage.py createsuperuser
收集静态文件:
docker exec -ti myblog python3 manage.py collectstatic
~~~我是华丽的分隔线~~~
kubernetes对pod副本数减少,进行缩容:
kubectl get deploy -A> /tmp/deploy.txt
把所有pod副本数调整成1:
while read ns deploy ready utd av age; do kubectl scale deploy $deploy --replicas=1 -n $ns;done < /tmp/deploy.txt
恢复pod副本数:
while read ns deploy ready utd av age; do kubectl scale deploy $deploy --replicas=$av -n $ns;done < /tmp/deploy.txt
~~~我是华丽的分隔线~~~
设置node节点为不可调度:
kubectl cordon ${node_ip}
驱逐node节点上的pod:
kubectl drain ${node_ip}
kubectl drain ${node_ip} --ignore-daemonsets
kubectl drain ${node_ip} --ignore-daemonsets --delete-local-data
强制删除pod:
kubectl delete pod -n $namespace $pod_name --force --grace-period=0
使用循环强制驱逐pod:
kubectl get pod -A -o wide | grep -w ${node_ip}> /tmp/podlist.txt
while read ns pod; do kubectl delete pod $pod $ns;done < /tmp/podlist.txt
~~~我是华丽的分隔线~~~
kubernetes设置节点不可调度pod:
kubectl cordon ${node_ip}
kubernetes设置恢复节点调度:
kubectl uncordon ${node_ip}
鼓励的话语:四海之内皆兄弟!
猜你喜欢
- 2025-05-08 掌握SpringBoot-2.3的容器探针:实战篇
- 2025-05-08 Linux环境中制作网络哨兵Sentinel Docker镜像
- 2025-05-08 k8s之配置CNI网络(k8s 网络配置)
- 2025-05-08 docker实战之:镜像更新(docker 镜像升级替换)
- 2025-05-08 离线在docker镜像方式部署ragflow0.17.2
- 2025-05-08 Linux日常小技巧Docker打包(docker打包lnmp)
- 2025-05-08 使用dockerfile构建docker镜像(docker通过dockerfile构建镜像命令)
- 2025-05-08 「云原生」Containerd ctr,crictl 和 nerdctl 命令介绍与实战操作
- 2025-05-08 Kylin安装Dify(kylin安装部署)
- 2025-05-08 如何查看Docker镜像内容(docker查看镜像状态)
- 最近发表
-
- 掌握SpringBoot-2.3的容器探针:实战篇
- kubernetes基础知识之驱逐节点(k8s驱逐节点后恢复)
- Linux环境中制作网络哨兵Sentinel Docker镜像
- k8s之配置CNI网络(k8s 网络配置)
- docker实战之:镜像更新(docker 镜像升级替换)
- 离线在docker镜像方式部署ragflow0.17.2
- Linux日常小技巧Docker打包(docker打包lnmp)
- 使用dockerfile构建docker镜像(docker通过dockerfile构建镜像命令)
- 「云原生」Containerd ctr,crictl 和 nerdctl 命令介绍与实战操作
- Kylin安装Dify(kylin安装部署)
- 标签列表
-
- jsp (69)
- pythonlist (60)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- pythonif (68)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- console.table (62)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)