zoukankan      html  css  js  c++  java
  • Deployment

    1.Deployment概念

    用于部署无状态的服务,这个最常用的控制器。一般用于管理维护企业内部无状态的微服务,比如configserver、zuul、springboot。他可以管理多个副本的Pod实现无缝迁移、自动扩容缩容、自动灾难恢复、一键回滚等功能。
    

    2.创建一个Deployment

    1.命令行创建
    [root@k8s-master01 ~]# kubectl create deployment nginx --image=nginx:1.15.2
    2.导出yaml文件
    [root@k8s-master01 ~]# kubectl get deployment nginx -o yaml > nginx-deploy.yaml、
    3.查看yaml文件
    [root@k8s-master01 ~]# cat -n nginx-deploy.yaml     #### 这是删减修改后的
         1	apiVersion: apps/v1
         2	kind: Deployment
         3	metadata:
         4	  annotations:
         5	    deployment.kubernetes.io/revision: "1"
         6	  creationTimestamp: "2020-09-19T02:41:11Z"
         7	  generation: 1
         8	  labels:
         9	    app: nginx
        10	  name: nginx
        11	  namespace: default
        12	spec:
        13	  progressDeadlineSeconds: 600
        14	  replicas: 2 #副本数,默认是1
        15	  revisionHistoryLimit: 10 # 历史记录保留的个数
        16	  selector:
        17	    matchLabels:
        18	      app: nginx
        19	  strategy:
        20	    rollingUpdate:
        21	      maxSurge: 25%
        22	      maxUnavailable: 25%
        23	    type: RollingUpdate
        24	  template:
        25	    metadata:
        26	      creationTimestamp: null
        27	      labels:
        28	        app: nginx
        29	    spec:
        30	      containers:
        31	      - image: nginx:1.15.2
        32	        imagePullPolicy: IfNotPresent
        33	        name: nginx
        34	        resources: {}
        35	        terminationMessagePath: /dev/termination-log
        36	        terminationMessagePolicy: File
        37	      dnsPolicy: ClusterFirst
        38	      restartPolicy: Always
        39	      schedulerName: default-scheduler
        40	      securityContext: {}
        41	      terminationGracePeriodSeconds: 30
    

    3.replace下

    [root@k8s-master01 ~]# kubectl replace -f nginx-deploy.yaml  # 通过文件管理我们的deployment
    

    4.查看

    [root@k8s-master01 ~]# kubectl get deployment nginx
    NAME    READY   UP-TO-DATE   AVAILABLE   AGE
    nginx   2/2     2            2           11m
    [root@k8s-master01 ~]#  kubectl get deploy -owide
    NAME    READY   UP-TO-DATE   AVAILABLE   AGE   CONTAINERS   IMAGES         SELECTOR
    nginx   2/2     2            2           12m   nginx        nginx:1.15.2   app=nginx
    	NAME: Deployment名称
    	READY:Pod的状态,已经Ready的个数
    	UP-TO-DATE:已经达到期望状态的被更新的副本数
    	AVAILABLE:已经可以用的副本数
    	AGE:显示应用程序运行的时间
    	CONTAINERS:容器名称
    	IMAGES:容器的镜像
    	SELECTOR:管理的Pod的标签
    [root@k8s-master01 ~]# kubectl get po -owide 查看部署在哪个节点
    

    5.edit管理

    [root@k8s-master01 ~]# kubectl edit deploy nginx  ### 副本数修改为1
    deployment.apps/nginx edited
    [root@k8s-master01 ~]# kubectl get po        # 会先有个pod会进入Terminating
    NAME                     READY   STATUS        RESTARTS   AGE
    nginx-66bbc9fdc5-jmgwq   1/1     Running       0          15m
    nginx-66bbc9fdc5-l2lfn   0/1     Terminating   0          10m
    [root@k8s-master01 ~]# kubectl get po
    NAME                     READY   STATUS    RESTARTS   AGE
    nginx-66bbc9fdc5-jmgwq   1/1     Running   0          16m
    
  • 相关阅读:
    Android开发之JSON数据发送与获取
    Layouts之TableLayout表格布局
    Layouts之GridLayout网格布局
    Android WiFi模块学习
    关于Fragment的讲解及适配
    hive 压缩全解读(hive表存储格式以及外部表直接加载压缩格式数据);HADOOP存储数据压缩方案对比(LZO,gz,ORC)
    Dynamics CRM SQL转化为FetchXML的在线转化工具
    Dynamics CRM 通过Odata创建及更新记录各类型字段的赋值方式
    shell命令执行hive脚本(hive交互,hive的shell编程)
    CRM 2013 Script Loading Deep Dive
  • 原文地址:https://www.cnblogs.com/Applogize/p/14381867.html
Copyright © 2011-2022 走看看