记录工作中遇到的k8s的坑

记录工作中遇到的k8s的坑和简单用法

1、k8s指定node节点启动pod

  • 在工作中遇到集群节点通信问题,需要指定节点启动pod的情况,这个时候就要去修改yaml脚本。

  • 首先我需要知道指定节点上的标签,k8s不能直接指定hostname进行节点指定,需要从节点的label中找到特征的key-value,用 nodeSelector 这个字段,放在containers的同级。不要用TAB键。

    执行下面这条命令

kubectl get node --show-labels
# 结果如下
10-111-22-34    Ready    <none>   121d   v1.14.6   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=10-111-22-34 
10-111-33-44   Ready    master   224d   v1.14.6   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=10-111-33-44

从上面的结果中,我们获取到 kubernetes.io/hostname=10-111-33-44 这个字段,放入到下面的yaml中,即可实现指定节点的目的。

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: hyper-rt-backend
  namespace: hyper-rt
spec:
  replicas: 1
  template:
    metadata:
      labels:
        task: hyper-rt
        app: hyper-rt-backend
    spec:
      nodeSelector:
        kubernetes.io/hostname: 10-111-33-44 # 这个是指定节点启动,key:value类型
      containers:
	........

2 、强制删除pod

kubectl delete pod nginx-deployment-759484bc6d-t9f72 --force --grace-period=0

3、label操作

# 获取所有节点label
kubectl get node --show-labels
# 删除label
kubectl label node xxx gpuname-
# 创建label
kubectl label node xxx gpuname=00
# 修改label
kubectl label node xxx gpuname=1080 --overwrite
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值