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 控制器

  • 相关阅读:
    NOIP2011 D1T1 铺地毯
    NOIP2013 D1T3 货车运输 倍增LCA OR 并查集按秩合并
    POJ 2513 trie树+并查集判断无向图的欧拉路
    599. Minimum Index Sum of Two Lists
    594. Longest Harmonious Subsequence
    575. Distribute Candies
    554. Brick Wall
    535. Encode and Decode TinyURL(rand and srand)
    525. Contiguous Array
    500. Keyboard Row
  • 原文地址:https://www.cnblogs.com/leleyao/p/10437659.html
Copyright © 2011-2022 走看看