k8s练习-创建一个Deployment

创建Deployment

  1. 创建一个nginx deployment

    root@k8s-master home# cat nginx-deployment.yaml

powershell 复制代码
apiVersion: apps/v1
kind: Deployment
metadata:
 name: nginx-deployment
spec:
 selector:
  matchLabels:
   app: nginx		# 配置pod的labels
 replicas: 2		# 声明2个副本
 template:
  metadata:
   labels:
    app: nginx		# 副本的labels
  spec: 
   containers:
   - name: nginx
     image: nginx
     ports:
     - containerPort: 80
复制代码
[root@k8s-master home]# kubectl create -f nginx-deployment.yaml 
  1. 查看deploy

    root@k8s-master home# kubectl get deploy

  2. 显示nginx Deployment的相关信息

    root@k8s-master home# kubectl describe deploy nginx-deployment

powershell 复制代码
Name:                   nginx-deployment
Namespace:              default
CreationTimestamp:      Mon, 01 Apr 2024 22:15:47 +0800
Labels:                 <none>
Annotations:            deployment.kubernetes.io/revision: 1
Selector:               app=nginx
Replicas:               2 desired | 2 updated | 2 total | 2 available | 0 unavailable
StrategyType:           RollingUpdate
MinReadySeconds:        0
RollingUpdateStrategy:  25% max unavailable, 25% max surge
Pod Template:
  Labels:  app=nginx
  Containers:
   nginx:
    Image:        nginx
    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-deployment-7c5ddbdf54 (2/2 replicas created)
Events:
  Type    Reason             Age    From                   Message
  ----    ------             ----   ----                   -------
  Normal  ScalingReplicaSet  4m40s  deployment-controller  Scaled up replica set nginx-deployment-7c5ddbdf54 to 2
  1. 列出该Deployment创建的Pod

    查看nginx-deployment 匹配的Pod标签

    复制代码
     [root@k8s-master home]# kubectl get deployment nginx-deployment -o wide

    通过标签查看该Department创建的所有的Pod

    复制代码
     [root@k8s-master home]# kubectl get pods -l app=nginx
  2. 展示某个Pod的相关信息

    复制代码
     kubectl describe pod <pod-name>

更新Deployment

  1. 修改nginx 副本数,将2 个增加到 4 个
    直接修改yaml文件
powershell 复制代码
apiVersion: apps/v1
kind: Deployment
metadata:
 name: nginx-deployment
spec:
 selector:
  matchLabels:
   app: nginx
 replicas: 4		# 增加副本个数
 template:
  metadata:
   labels:
    app: nginx
  spec:
   containers:
   - name: nginx
     image: nginx
     ports:
     - containerPort: 80

更新nginx-deployment

复制代码
[root@k8s-master home]# kubectl apply -f nginx-deployment.yaml

查看Pod

复制代码
[root@k8s-master home]# kubectl get pod

使用edit更新一个Deployment

复制代码
[root@k8s-master home]# kubectl edit deployment  nginx-deployment

将副本数修改为10个并保存

查看pod

删除Deployment

格式

kubectl delete <资源类型> <资源名称>

复制代码
[root@k8s-master home]# kubectl delete deploy nginx-deployment

扩展:

  1. 查看所有api资源,简称以及资源类型对应的api

    复制代码
     kubectl api-resources
powershell 复制代码
[root@k8s-master home]# kubectl api-resources | grep apps
controllerrevisions                            apps/v1                                true         ControllerRevision
daemonsets                        ds           apps/v1                                true         DaemonSet
deployments                       deploy       apps/v1                                true         Deployment
replicasets                       rs           apps/v1                                true         ReplicaSet
statefulsets                      sts          apps/v1                                true         StatefulSet
powershell 复制代码
[root@k8s-master home]# kubectl api-resources | grep pod
pods                              po           v1                                     true         Pod
podtemplates                                   v1                                     true         PodTemplate
horizontalpodautoscalers          hpa          autoscaling/v2                         true         HorizontalPodAutoscaler
poddisruptionbudgets              pdb          policy/v1                              true         PodDisruptionBudget
相关推荐
Sagittarius_A*3 小时前
Docker:渗透前置容器化核心基础
运维·安全·docker·容器
名字还没想好☜6 小时前
Docker 多阶段构建:把镜像从 1.2GB 砍到 15MB
运维·docker·容器·多阶段构建·镜像优化
her_heart6 小时前
ChatGPT 5.6 实战:用 AI 做云成本治理,从账单复盘到 K8s 优化
人工智能·云原生·chatgpt·kubernetes·测试用例
花和满楼7 小时前
K8s 1.36 ImageVolume GA:OCI 镜像不再只能跑容器
java·容器·kubernetes
生活爱好者!7 小时前
NAS还能玩游戏?部署一款 WebGL 3D 赛车小游戏
游戏·docker·容器·玩游戏
DolphinScheduler社区8 小时前
Apache DolphinScheduler 6 月治理优化,补齐调度运维全链路细节
大数据·运维·云原生·apache·海豚调度
hj2862519 小时前
Docker 核心知识点整理(网络 + Dockerfile + 原理 + 命令)
网络·docker·容器
梦想的颜色17 小时前
【Docker原理】Docker 容器一文打尽:生命周期、环境管控、迁移备份、日志进程排查、垃圾清理
运维·docker·容器·容器生命周期·容器日志排查·容器迁移备份·容器进程管理
万里侯20 小时前
GitOps 漂移检测:集群里改了配置,Git 还以为一切正常
微服务·容器·k8s
AOwhisky1 天前
Python 学习笔记(第三期)——流程控制:条件判断与循环结构
运维·笔记·python·学习·云原生·流程控制·循环