zoukankan      html  css  js  c++  java
  • K8s控制器管理原理与实践

    业务调用通过控制器管理,包括以下控制器

    ReplicaSet: 一个Pod可以有多个副本,这些副本实现相同的功能

    Deployment: 在ReplicaSet之上,负责Pod的发布和Pod中容器的升级。

    Job: 任务

    SatefulSet: 保存Pod的名称不变

    DaemonSet: 相当于值班人员,保证单节点只起一个Pod

    1、sscale多个副本

     kubectl scale --replicas=3  deployment/nginx-deployment

    查询replicaset情况

    kubectl  get   replicaset

     

    2、滚动升级

    修改代码后,打包生成镜像,修改yml的版本后,从而实现滚动升级。

    升级: 更新镜像 + kubectl apply

    查询: kubectl rollout history deployment

    回滚: kubectl rollout undo deployment

    首先检查nginx版本为1.7.9

    kubectl describe pod nginx-deployment-5d76d6897d

    然后将nginx的版本从1.7.9 改为1.7.10

    cd  /home/tools/k8s

    vi mynginx-deployment.yml

    查看nginx-deployment当前只有一个版本

    kubectl apply -f mynginx-deployment.yml  --record

    查看版本  kubectl rollout history deployment

    可以发现多了一个版本

    查看pod

    kubectl get pod

    如果发现升级的版本错误,可以回滚

    kubectl rollout undo deployment nginx-deployment  --to-revision=1

    3、daemonset

    kubectl get daemonset  --namespace=kube-system

     编辑

    kubectl edit daemonset kube-proxy  --namespace=kube-system

    查看Pod

    kubectl get pod --namespace=kube-system | grep kube-proxy

     查看在哪个节点上

    kubectl get pod --namespace=kube-system -o wide | grep kube-proxy

    4、Batch Job 

     vi hello.yml

    apiVersion: batch/v1
    kind: Job
    metadata:
      name: hello
    spec:
      template:
        metadata:
          name: hello
        spec:
          containers:
          - name: busybox
            image: busybox
            command: ["echo", "hello world"]
          restartPolicy: Never
    

      

     查看job

     kubectl get job

     查看Pod

    输出日志    kubectl logs hello-wg8v7

    5、CronJob

    apiVersion: batch/v2alpha1
    kind: CronJob
    metadata:
      name: hello
    spec:
      schedule: "*/1 * * * *"
      jobTemplate:
        spec:
          template:
            spec:
              containers:
              - name: busybox
                image: busybox
                command: ["echo", "hello world, CronJob."]
              restartPolicy: Never
    

      

  • 相关阅读:
    Visual C#动态生成控件
    (转)GridView 72般绝技
    ASP.NET给DataGrid,Repeater等添加全选批量删除等功能(转)
    JS操作字符串
    在IE中调试客户端脚
    一组很棒的button样式 (转)
    c#实现随机字符串(不包含数字)
    1996年4月全国计算机等级考试二级C语言笔试试题
    ASP.NET 2.0站点登录、导航与权限管理 转
    1996年9月全国计算机等级考试二级C语言笔试试题
  • 原文地址:https://www.cnblogs.com/linlf03/p/14080957.html
Copyright © 2011-2022 走看看