Kubernetes中有各种各样的组件,对于容器来说Kubernetes最小的单元是由Pod进行组成的,但是我们在使用过程中经常会使用到Deployment来部署我们的应用。在上节文章中部署pod,想着部署2个pod,配置文件改来改去均不能成功,故又网上看了看别人的文章,需要deployment方式部署。

小黑板

1:如果多个容器在同一Pod下他们公用一个IP所以不能出现重复的端口号,比如在一个Pod下运行两个nginx就会有一个容器异常,一个Pod下的多个容器可以使用localhost来访问对方端口

2:因为Pod是最小的单元如果在Pod中容器出现异常终止了是不会重启,在实际使用场景下基本不会直接使用Pod而是使用Deployment部署自己的应用

deployment部署:

  • Deployment拥有更加灵活强大的升级、回滚功能,并且支持滚动更新
  • 使用Deployment升级Pod只需要定义Pod的最终状态,k8s会为你执行必要的操作

编辑yaml文件:


apiVersion: apps/v1                  # K8S对应的API版本
kind: Deployment                                # 对应的类型
metadata:
  name: caoqing-deployment-test
  #labels:
   # name: cqoqing-deployment-test01
spec:
  selector:
    matchLabels:
      app: caoqing-deployment-test
  replicas: 2                                   # 镜像副本数量
  template:
    metadata:
      labels:                                   # 容器的标签 可和service关联
        app: caoqing-deployment-test
    spec:
      containers:
        - name: md-order9006                          # 容器名和镜像
          image: registry.cn-beijing.aliyuncs.com/fastdfcsc/md-order-test:2022-10-20-17-43-20
          imagePullPolicy: Always

 

yaml文件第一行apiversion版本查看命令:

[root@master00 md-order]# kubectl api-resources  |grep deployment
deployments                       deploy       apps/v1                                true         Deployment

 

创建命令:

[root@master00 md-order]# kubectl create -f md-order-03.yaml 
deployment.apps/caoqing-deployment-test created

查看pod状态

 最终均为running

参考学习大佬资料:https://www.jianshu.com/p/b4fac3d9d97f 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐