加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

9.Pod控制器概念和基本操作2

发布时间:2020-12-14 02:00:29 所属栏目:Linux 来源:网络整理
导读:利用一个简单的例子来启动一个deployment的Pod控制器 [[email?protected] song]# cat deploy.yml apiVersion: apps / v1kind: Deploymentmetadata: name: myapp - deploy namespace: defaultspec: replicas: 2 selector: matchLabels: app: myapp release: c
利用一个简单的例子来启动一个deployment的Pod控制器

[[email?protected] 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
[[email?protected] 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之间的命名关系

[[email?protected] 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
[[email?protected] 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[[email?protected] ~]# 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命令来进行服务暂停

[[email?protected] 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

查看状态
[[email?protected] ~]# 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 控制器

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读