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
相关推荐
yuguo.im2 小时前
Docker 两大基石:Namespace 和 Cgroups
运维·docker·容器
会飞的土拨鼠呀2 小时前
docker部署 outline(栗子云笔记)
笔记·docker·容器
没有bug.的程序员3 小时前
高频IO服务优化实战指南
java·jvm·spring·容器
Hernon4 小时前
微服务架构设计 - 可降级设计
微服务·云原生·架构
lisanmengmeng5 小时前
docker 方式安装部署禅道zentao(五)
运维·docker·容器
露临霜6 小时前
Docker安装nginx
nginx·docker·容器
CAFEBABE 348 小时前
安装完docker之后怎么使用
运维·docker·容器
测试人社区—小叶子9 小时前
测试开发面试高频“灵魂八问”深度解析与应答策略
网络·人工智能·测试工具·云原生·容器·面试·职场和发展
Henry Zhu12310 小时前
VPP中ACL实战配置指南与VPP的API使用初探
运维·服务器·网络·计算机网络·云原生