kubernetes当中的deployment

通过前面的笔记应该知道:在实际部署应用时基本不会单独去创建 pod 的资源,而是会通过 ReplicaSet 资源来管理 pod。

而通过 deployment 的学习,需要知道:在实际部署应用时,也很少使用 ReplicaSet,而是通过 deployment 来创建和管理 ReplicaSet。

在 kubernetes 中,Deployment是⼀种更⾼阶资源,⽤于部署应⽤程序并以声明的⽅式升级应⽤,⽽不是通过ReplicaSet进⾏部署,ReplicaSet 被认为是更底层的概念。当创建⼀个Deployment时,ReplicaSet资源也会随之创建,而通过 ReplicaSet 管理的 pod 也会被随之创建。在 Deployment 中,pod 还是由 ReplicaSet 创建和管理。

为什么 k8s 还要抽象出一个 Deployment 的概念而不直接用 ReplicaSet 呢?因为它提供的功能更多,使用起来也更简单。在进行金丝雀这样的发布方式时,能非常轻松的对服务进行回滚和水平设置。

# 设置 deployment

还是通过编写 yaml 文件的形式编写,而且 deployment 的设置和 ReplicaSet 基本没什么区别,只需要修改 kind 类型:

# nginx-dp.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-dp
spec:
  replicas: 3  # 设置副本数量
  selector:
    matchLabels:
      app: nginx  # 匹配叫 nginx 的 pod 标签
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx

# 部署

kubectl apply -f nginx-dp.yaml

# 查看

kubectl get deployment

本文完,感谢你的耐心阅读,如有需要可加我微信,备注「博客」并说明原因,我们一起进步,下次见。

上次更新: 2022/06/01, 08:59:38
最近更新
01
02-Cypress如何在写代码时获取提示
08-27
02
02-Cypress安装
08-27
03
0-Python怎么才能快速学好
08-27
更多文章>