k8s-deployment控制器

k8s-deployment控制器

1、yaml文件标签学习-指定pod在哪台节点上创建

强制指定pod在指定节点上创建:

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: web1
  template:
    metadata:
      labels:
        app: web1
    spec:
      nodeName: node01.local # 强制指定pod在node01.local节点上创建
      containers:
      - name: my-pod-dep
        image: 192.168.84.11/k8s/music:v3
        ports:
        - protocol: TCP
          containerPort: 80

给node节点打标签,选择pod在那个标签的node节点运行

查看节点标签

[root@master ~]# kubectl get nodes node01.local --show-labels
NAME           STATUS   ROLES    AGE   VERSION   LABELS
node01.local   Ready    <none>   17h   v1.17.6   
beta.kubernetes.io/arch=amd64,
beta.kubernetes.io/os=linux,
kubernetes.io/arch=amd64,
kubernetes.io/hostname=node01.local,
kubernetes.io/os=linux

打标签

[root@master ~]# kubectl label nodes node01.local disktype=ssd        #打标签
node/node01.local labeled
[root@master ~]# kubectl get nodes node01.local --show-labels
NAME           STATUS   ROLES    AGE   VERSION   LABELS
node01.local   Ready    <none>   17h   v1.17.6   beta.kubernetes.io/arch=amd64,
beta.kubernetes.io/os=linux,
disktype=ssd,                                 #打的标签
kubernetes.io/arch=amd64,
kubernetes.io/hostname=node01.local,
kubernetes.io/os=linux

使用标签

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-deployment
spec:
  replicas: 3
  selector:
    matchLabels:        #选择下面的template的pod
      app: web1     #选择下面的template的pod
  template:
    metadata:
      labels:
        app: web1
    spec:
      #nodeName: node01.local
      nodeSelector:																		# 选择标签disktype=ssd的节点
        disktype: ssd
      containers:
      - name: my-pod-dep
        image: 192.168.84.11/k8s/music:v3
        ports:
        - protocol: TCP
          containerPort: 80

2、集群扩容方法

replicas:使用replicas标签

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-deployment
spec:
  replicas: 6                       # 使用replicas标签
  selector:
    matchLabels:    
      app: web1    
  template:
    metadata:
      labels:
        app: web1
    spec:
      #nodeName: node01.local
      nodeSelector:
        disktype: ssd
      containers:
      - name: my-pod-dep
        image: 192.168.84.11/k8s/music:v3
        ports:
        - protocol: TCP
          containerPort: 80

使用命令

[root@master ~]# kubectl edit deployments.apps my-deployment

deployment.apps/my-deployment edited

2、

[root@master ~]# kubectl scale deployment my-deployment --replicas=2

deployment.apps/my-deployment scaled

3、节点调度策略

https://kubernetes.io/zh-cn/docs/concepts/scheduling-eviction/assign-pod-node/

相关推荐
默 唁4 小时前
win11系统 Docker Desktop提示Docker Engine stopped解决全过程记录
docker·容器
Godlovesea5 小时前
ubuntu安装docker 无法拉取问题
云原生·eureka
计算机毕设定制辅导-无忧学长5 小时前
Docker 与持续集成 / 持续部署(CI/CD)的集成(一)
ci/cd·docker·容器
Yuanymoon6 小时前
Docker 修改配置后无法启动问题
运维·docker·容器
阿猿收手吧!9 小时前
【Docker】Docker中卷的类型、区别及应用
开发语言·docker·容器·eureka
青啊青斯10 小时前
Windows搭建CUDA大模型Docker环境
windows·docker·容器
桂月二二11 小时前
基于Knative的无服务器引擎重构:实现毫秒级冷启动的云原生应用浪潮
云原生·serverless·knative
阿里云大数据AI技术12 小时前
阿里云 MaxCompute MaxQA 开启公测,解锁近实时高效查询体验
大数据·阿里云·云原生·实时数仓·maxcompute
茅坑的小石头12 小时前
CentOS系统docker配置镜像加速registry-mirrors,配置阿里云和道客
运维·docker·容器
喝水塞牙12 小时前
使用docker部署NextChat,使用阿里云、硅机流动、deepseek的apikey
阿里云·docker·容器