k8s运维管理

node管理

node隔离与恢复

1.使用patch命令

bash 复制代码
#实现node隔离调度
kubectl patch node node1 -p '{"spec":{"unschedulable":true}}'
#节点信息多了一项SchedulingDisabled
node1    Ready,SchedulingDisabled   <none>   7d3h   v1.18.20
#解除
kubectl patch node node1 -p '{"spec":{"unschedulable":false}}'

2.使用cordon

bash 复制代码
#隔离
kubectl cordon node1
#恢复
kubectl uncordon node1

以上两种方法只会让节点脱离调度 不会停止运行的pod 需要手动停止

3.使用drain

首先会让节点脱离调度 然后会删除节点所有运行的pod,如果强制删除deployment之类的控制器 会在其他节点创建pod

bash 复制代码
#脱离调度
kubectl drain node1 --ignore-daemonsets
#参数
--force 当一些pod不是经 ReplicationController, ReplicaSet, Job, DaemonSet 或者 
StatefulSet 管理的时候就需要用--force来强制执行 (例如:kube-proxy)
--ignore-daemonsets 无视DaemonSet管理下的Pod。即--ignore-daemonsets往往需要指定的,这是
因为deamonset会忽略unschedulable标签(使用kubectl drain时会自动给节点打上不可调度标签),
因此deamonset控制器控制的pod被删除后可能马上又在此节点上启动起来,这样就会成为死循环.因此
这里忽略daemonset。
--delete-local-data 如果有mount local volumn的pod,会强制杀掉该pod。

#恢复
kubectl uncordon node1

集群环境隔离

使用namespace 与 context 对不通工作组进行区分 互相不打扰 防止误操作

1,创建两个namespace

bash 复制代码
#dev
kubectl create namespace dev
#prod
kubectl create namespace prod

2,定义contest 即运行环境 这个运行环境将属于某一个命名空间

可以使用命令方式创建 也可以修改kubectl的配置文件 .kube/config来配置

bash 复制代码
#绑定dev空间
kubectl config set-context ctx-dev --namespace=dev --cluster=kubernetes --user=kubernetes-admin
#绑定prod空间
kubectl config set-context ctx-prod --namespace=prod --cluster=kubernetes --user=kubernetes-admin
#查看配置
kubectl config view
#把当前运行环境设置为dev 就只能在dev里执行命令
kubectl config use-context ctx-dev
#切换回默认之前默认的空间
kubectl config use-context kubernetes-admin@kubernetes
相关推荐
水母量化14 分钟前
自动化开盘卖出如何适应价格笼子规则
运维·自动化·区块链·量化交易
码农阿豪16 分钟前
不装 SSH 客户端也能连服务器:用 WebSSH 把终端搬进浏览器
运维·服务器·ssh
明月心95219 分钟前
关于docker的一些命令
运维·docker·容器
云贝贝贝22 分钟前
MySQL 运维高频 6 坑:字符集、超时、SQL_MODE、隐式转换、Online DDL、主从延迟
运维·sql·mysql
万象新讯22 分钟前
企业海外子公司管理外包如何择优?看重数字化管理平台与全球服务覆盖,核心考核覆盖能力、自动化效率与规模化整合实力
运维·人工智能·自动化
captain37636 分钟前
网络初 识
运维·服务器·网络
ZzzZZzzzZZZzzzz…41 分钟前
K8s---网络:从 Pod 网络模型到 Calico 三种模式
运维·网络·云原生·容器·kubernetes·calico·pod网络模型
kyle~1 小时前
Linux --- epoll (I/O就绪事件通知机制)
linux·运维·服务器
一条泥憨鱼1 小时前
【从0开始学习计算机网络】| 邮件协议入门:SMTP、POP3、IMAP
linux·运维·计算机网络·github
LJianK12 小时前
服务器、节点 、 集群、分布式
运维