Kubernetes 之 Deployment

Kubernetes 之 Deployment

Deployment 定义

Deployment 是 Kubernetes 中最常用资源之一,为 ReplicaSet 和 Pod 的创建提供了一种声明式的定义方法。Kubernetes 通过定义一个Deployment 控制器会创建一个新的 ReplicaSet 资源,通过 ReplicaSet 资源创建对应 Pod 的副本数。同时,如果我们删除 Deployment 控制器,也会删除 Deployment 控制器下对应的 ReplicaSet 控制器和 Pod 副本,这也是声明式定义的一个特点。

Deployment 常规使用

yaml 复制代码
apiVersion: apps/v1
kind: Deployment
metadata:
  name: deployment-nginx
  namespace: default
  labels:
    app: deployment-nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: pod-nginx
  template:
    metadata:
      labels:
        app: pod-nginx
    spec:
      containers:
        - name: nginx
          image: docker.io/k8s-test:v1.0
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 80
复制代码
root@k8s-master1:~# kubectl get pods -owide
NAME                                READY   STATUS    RESTARTS   AGE   IP               NODE          NOMINATED NODE   READINESS GATES
deployment-nginx-6977747dd9-rv2mx   1/1     Running   0          8s    10.244.194.122   k8s-worker1   <none>           <none>
deployment-nginx-6977747dd9-sz42q   1/1     Running   0          8s    10.244.126.23    k8s-worker2   <none>           <none>
root@k8s-master1:~# kubectl get rs
NAME                          DESIRED   CURRENT   READY   AGE
deployment-nginx-6977747dd9   2         2         2       24s
root@k8s-master1:~# kubectl get deployment
NAME               READY   UP-TO-DATE   AVAILABLE   AGE
deployment-nginx   2/2     2            2           41s
相关推荐
B1nna2 小时前
Docker学习
学习·docker·容器
缘友一世2 小时前
网安系列【15】之Docker未授权访问漏洞
docker·容器
armcsdn13 小时前
基于Docker Compose部署Traccar容器与主机MySQL的完整指南
mysql·docker·容器
铅笔侠_小龙虾15 小时前
Docker 实战 -- Mysql
mysql·docker·容器
阿里云云原生15 小时前
Higress MCP 服务管理,助力构建私有 MCP 市场
云原生
IvanCodes15 小时前
三、Docker常用命令
docker·容器
zzywxc78716 小时前
云原生 Serverless 架构下的智能弹性伸缩与成本优化实践
云原生·架构·serverless
海星船长丶17 小时前
基于docker进行渗透测试环境的快速搭建(在ubantu中docker设置代理)
运维·docker·容器