zoukankan      html  css  js  c++  java
  • 9.Pod控制器概念和基本操作2

    利用一个简单的例子来启动一个deployment的Pod控制器
    [root@master song]# cat deploy.yml 
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: myapp-deploy
      namespace: default
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: myapp
          release: canary
      template:
        metadata:
          labels:
            app: myapp
            release: canary
        spec:
          containers:
          - name: myapp
            image: ikubernetes/myapp:v1
    Pod.yml

     启动控制器

    kubectl create --save-config  -f deploy.yml
    [root@master song]# !952
    kubectl get pod -l app=myapp
    NAME                            READY   STATUS    RESTARTS   AGE
    myapp-deploy-7769f49474-lq7dw   1/1     Running   0          14m   
    myapp-deploy-7769f49474-v4nj4   1/1     Running   0          14m

    查看deployment和rs之间的命名关系

    [root@master song]# kubectl get deployments.
    NAME           READY   UP-TO-DATE   AVAILABLE   AGE
    myapp-deploy   2/2     2            2           15m
    nginx-test     2/2     2            2           6d21h
    tomcat-test    2/2     2            2           6d18h
    [root@master song]# kubectl get rs
    NAME                      DESIRED   CURRENT   READY   AGE
    myapp-deploy-7769f49474   2         2         2       15m           rs控制器的名字为deployment的名称+随机串
    nginx-test-8bbbdc7d5      2         2         2       6d21h
    nginx-test-8f5f46d94      0         0         0       6d20h
    tomcat-test-76789745c5    2         2         2       6d18h

    编辑配置文件 将 replicas改为3

    使用  kubectl  get pods  -l app=myapp  -w

    ^C[root@master ~]# kubectl get pods -l app=myapp -w
    NAME                            READY   STATUS    RESTARTS   AGE
    myapp-deploy-84d9546645-l6gvz   1/1     Running   0          6m3s
    myapp-deploy-84d9546645-lmn8n   1/1     Running   0          6m3s
    pod-demo                        2/2     Running   0          2d3h
    myapp-deploy-84d9546645-tjhtr   0/1   Pending   0     0s
    myapp-deploy-84d9546645-tjhtr   0/1   Pending   0     0s
    myapp-deploy-84d9546645-tjhtr   0/1   ContainerCreating   0     0s
    myapp-deploy-84d9546645-tjhtr   1/1   Running   0     2s

    在将配置文件中 副本数一值改为5,进行版本升级操作

    是控制器配置生效的集中操作  apply直接更改配置文件   edit 编辑动态配置   path 命令行动态的以json形式进行资源更改

    kubectl patch deployments myapp-deploy  -p '{"spec":{"strategy":{"rollingUpdate":{"maxSurge":1,"maxUnavailable":0}}}}'   字母不能错,错了不提示

    查看最新描述中有关rollingUpdate 的部分操作

    Selector:               app=myapp,release=canary
    Replicas:               5 desired | 5 updated | 5 total | 5 available | 0 unavailable
    StrategyType:           RollingUpdate
    MinReadySeconds:        0
    RollingUpdateStrategy:  0 max unavailable, 1 max surge

    进行版本更新,并在途中执行pause命令来进行服务暂停

    [root@master song]# kubectl set image deployment myapp-deploy myapp=ikubernetes/myapp:v2 && kubectl rollout pause deployment myapp-deploy 
    deployment.extensions/myapp-deploy image updated
    deployment.extensions/myapp-deploy paused
    
    查看状态
    [root@master ~]# kubectl get pods -l app=myapp -w
    NAME                            READY   STATUS    RESTARTS   AGE
    myapp-deploy-7769f49474-8zxl2   1/1     Running   0          13m
    myapp-deploy-7769f49474-jsj6l   1/1     Running   0          20m
    myapp-deploy-7769f49474-nkr5g   1/1     Running   0          13m
    myapp-deploy-7769f49474-vc6dg   1/1     Running   0          20m
    myapp-deploy-7769f49474-wg2cx   1/1     Running   0          20m
    pod-demo                        2/2     Running   0          2d4h
    myapp-deploy-84d9546645-v55vd   0/1   Pending   0     0s
    myapp-deploy-84d9546645-v55vd   0/1   Pending   0     0s
    myapp-deploy-84d9546645-v55vd   0/1   ContainerCreating   0     0s
    myapp-deploy-84d9546645-v55vd   1/1   Running   0     1s
    
    describe 来查看资源状态,5个副本中多出来一个就是我们的新启动的这个
    
    Selector:               app=myapp,release=canary
    Replicas:               5 desired | 1 updated | 6 total | 6 available | 0 unavailable
    StrategyType:           RollingUpdate
    MinReadySeconds:        0
    RollingUpdateStrategy:  0 max unavailable, 1 max surge
    Pod Template:

    Daemonset 控制器

  • 相关阅读:
    07 selenium模块基本使用
    06 高性能异步爬虫
    05 request高级操作
    04 验证码识别
    03 数据解析
    02 requests模块
    01 爬虫简介
    Get和Post的正解
    pytoch之 encoder,decoder
    pytorch之 RNN 参数解释
  • 原文地址:https://www.cnblogs.com/leleyao/p/10437659.html
Copyright © 2011-2022 走看看