#yyds干货盘点#k8s集群中的控制器

Posted 极客开发者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#yyds干货盘点#k8s集群中的控制器相关的知识,希望对你有一定的参考价值。

本节目标

  • 了解Controller
  • 了解Controller分类
  • 了解Deployment控制器作用
  • 掌握创建Deloypment控制器型应用方法
  • 掌握删除Deployment控制器型应用方法

一、相关概念

1. 介绍

  • Controller是k8s集群中的控制器组件
  • 用于对应用运行的资源对象进行监控
  • 当Pod出现问题时,会把Pod重新拉起,以达到用户期望的状态

2. 分类

常见的Pod控制器分类
Deployment:声明式更新控制器,用于发布无状态应用

ReplicaSet:副本集控制器,用于对Pod进行副本规模扩大或剪裁

StatefulSet:有状态副本集,用于发布有状态应用

DaemonSet:在k8s集群每一个Node上运行一个副本,用于发布监控或日志收集类等应用

Job:运行一次性作业任务

CronJob:运行周期性作业任务

二、相关命令

1. 创建

新版本已经启用命令创建,我们使用资源文件创建,新建03-create-deployment-nginx-app2.yaml文件,写入如下内容:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-apps
  labels:
    app: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginxapp
        image: nginx:latest
        imagePullPolicy: IfNotPresent
        ports: 
        - containerPort: 80

使用以下命令进行创建

kubectl apply -f 03-create-deployment-nginx-app2.yaml

2. 查看

查看创建的deployment

kubectl get deployment.apps

或者查看replicas

kubectl get rs

或通过查看pod详情

kubectl get pods -o wide

3. 删除

查看运行的deployment控制器类型的应用

kubectl get deployment.apps

通过命令删除deployment控制器类型的应用

kubectl delete deployment.apps nginx-app2

通过资源清单删除,在二中创建的应用,可以使用以下命令删除

kubectl delete -f 03-create-deployment-nginx-app2.yaml

以上是关于#yyds干货盘点#k8s集群中的控制器的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点#K8S 之命令行应用编排

#yyds干货盘点#k8s集群中容器的数据存储方案

#yyds干货盘点#快速搭建k8s集群

#yyds干货盘点#K8S 之名称空间

#yyds干货盘点#K8S 之 kubeadm 介绍

#yyds干货盘点#k8s中的基础核心概念