08- Kubernetes-Deployment入门

本文介绍如何使用kubectl命令创建、查看和删除Deployment,以及通过yaml文件配置Deployment的基本流程,包括设置镜像、端口和副本数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

  • 本篇来学习Deployment相关基础知识

Deployment

  • 在kubernetes中,Pod是最小的控制单元,但是kubernetes很少直接控制Pod,一般都是通过Pod控制器来完成的。Pod控制器用于pod的管理,确保pod资源符合预期的状态,当pod的资源出现故障时,会尝试进行重启或重建pod

命令方式

  • 命令格式: kubectl run deployment名称 [参数]
  • –image 指定pod的镜像
  • –port 指定端口
  • –replicas 指定创建pod数量
  • –namespace 指定namespace
# 创建
[root@master ~]# kubectl run nginx --image=nginx:latest --port=80 --replicas=3 -n test
kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.
deployment.apps/nginx created

# 查看创建的pod
[root@master ~]# kubectl get pod -n test
NAME                    READY   STATUS    RESTARTS   AGE
nginx-dd6b5d745-86529   1/1     Running   0          18s
nginx-dd6b5d745-qhzvs   1/1     Running   0          18s
nginx-dd6b5d745-rbnx2   1/1     Running   0          18s

# 查看deployment的信息   UP-TO-DATE:成功升级的副本数量   AVAILABLE:可用副本的数量
[root@master ~]# kubectl get deploy -n test
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
nginx   3/3     3  

# 查看deployment的详细信息
[root@master ~]# kubectl describe deploy nginx -n test
Name:                   nginx
Namespace:              test
CreationTimestamp:      Mon, 04 Apr 2022 10:05:30 +0800
Labels:                 run=nginx
Annotations:            deployment.kubernetes.io/revision: 1
Selector:               run=nginx
Replicas:               3 desired | 3 updated | 3 total | 3 available | 0 unavailable
StrategyType:           RollingUpdate
MinReadySeconds:        0
RollingUpdateStrategy:  25% max unavailable, 25% max surge
Pod Template:
  Labels:  run=nginx
  Containers:
   nginx:
    Image:        nginx:latest
    Port:         80/TCP
    Host Port:    0/TCP
    Environment:  <none>
    Mounts:       <none>
  Volumes:        <none>
Conditions:
  Type           Status  Reason
  ----           ------  ------
  Available      True    MinimumReplicasAvailable
  Progressing    True    NewReplicaSetAvailable
OldReplicaSets:  <none>
NewReplicaSet:   nginx-dd6b5d745 (3/3 replicas created)
Events:
  Type    Reason             Age    From                   Message
  ----    ------             ----   ----                   -------
  Normal  ScalingReplicaSet  2m50s  deployment-controller  Scaled up replica set nginx-dd6b5d745 to 3

# 删除deployment
[root@master ~]# kubectl delete deploy nginx -n test
deployment.apps "nginx" deleted

配置方式

  • 创建一个deploy-nginx.yaml,内容如下:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
  namespace: dev
spec:
  replicas: 3
  selector:
    matchLabels:
      run: nginx
  template:
    metadata:
      labels:
        run: nginx
    spec:
      containers:
      - image: nginx:latest
        name: nginx
        ports:
        - containerPort: 80
          protocol: TCP
  • 创建命令:kubectl create -f deploy-nginx.yaml
    在这里插入图片描述在这里插入图片描述

  • 删除命令:kubectl delete -f deploy-nginx.yaml
    在这里插入图片描述
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱学习de测试小白

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值