• 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
    

      

  • 相关阅读:
    Windows 科研软件推荐
    有关Python 包 (package) 的基本知识
    《Using Python to Access Web Data》Week4 Programs that Surf the Web 课堂笔记
    Coursera助学金申请模板
    《Using Databases with Python》 Week2 Basic Structured Query Language 课堂笔记
    Jupyter 解决单个变量输出问题
    解决 pandas 中打印 DataFrame 行列显示不全的问题
    《Using Python to Access Web Data》 Week3 Networks and Sockets 课堂笔记
    缓存击穿及解决方案
    jvm垃圾收集器
  • 原文地址:https://www.cnblogs.com/linlf03/p/14080957.html
Copyright © 2020-2023  润新知