• kubernetes集群系列资料08--deployment介绍


    一、deployment案例

    vim nginx-deployment.yaml
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
        name: nginx-deployment
    spec:
        replicas: 3
        template:                   #以下为嵌套pod的字段;
            metadata:
                labels:
                    tier: nginx
            spec:
                containers:
                - name: nginx
                  image: hub.atguigu.com/library/nginx:latest
                  ports:
                  - containerPort: 80   #由于k8s的网络为扁平化网络,直接可通过IP访问,因此无需声明端口。
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    kubectl apply -f nginx-deployment.yaml --record #--record参数可以记录命令,以便查看每次revision的变化。尽量加上该参数,如果不加,则 kubectl rollout history 查询历史版本时CHANGE-CAUSE的值皆为none。
    kubectl get deployment;kubectl get rs;kubectl get pod --show-labels   #创建deployment会自动创建对应的RS和pod出来。
    kubectl get pod -o wide #查看pod运行节点及IP;
    curl 10.244.2.36:80     #测试nginx服务是否能访问。
    kubectl scale deployment nginx-deployment --replicas=5 #对指定nginx-deployment进行扩容,此时,pod的RS不会发生变化;
    kubectl scale deployment nginx-deployment --replicas=2 #对指定nginx-deployment进行缩容,此时,pod的RS不会发生变化;
    kubectl get deployment;kubectl get rs;kubectl get pod   #查看扩容结果;
    # kubectl autoscale deployment nginx-deployment --min=2 --max=15 --cpu-percent=80 #如果集群支持HPA的化,还可以为deployment设置为自动扩展。
    kubectl exec nginx-deployment-567c69b49f-4vzqg -it -- /usr/sbin/nginx -v    #查看nginx版本为1.21.0;
    kubectl set image deployment/nginx-deployment nginx=nginx:1.19.1             #更新镜像为nginx:1.19.1;也可直接edit其yaml文件中image版本。此时,pod的RS会发生变化;
    kubectl exec nginx-deployment-5c5c5d7bdc-f9bvz -it -- /usr/sbin/nginx -v    #查看nginx更新后的版本为1.19.1;
    kubectl rollout undo deployment/nginx-deployment    #回滚nginx上一个版本
    kubectl rollout status deployment/nginx-deployment  #查看rollout的状态及更新流程(按照更新策略更新)。如果rollout成功完成,将会返回一个0的exit code。
    kubectl rollout history deployment/nginx-deployment #查看rollout的历史。
    kubectl rollout pause deployment/nginx-deployment   #暂停deployment的更新。
    kubectl rollout undo deployment/nginx-deployment --to-revision=2    #回滚nginx指定版本;
    kubectl exec nginx-deployment-567c69b49f-5mnx7 -it -- /usr/sbin/nginx -v    #查看nginx更新后的版本为1.21.0;
    kubectl get rs      #查看rs,包含历史RS;
    kubectl describe deployments #查看deployment详细信息,包含变更events;
    

      

  • 相关阅读:
    DDD~大话目录
    基于DDD的.NET开发框架-DDD经典分层
    补习知识:Entity Framework Code First属性映射约定
    一个官翻教程集合:ASP.NET Core 和 EF Core 系列教程
    补知识:EntityFramework Core映射关系详解
    关于this的问题
    promise
    js的类型转换
    不要在块内声明一个函数
    let和var
  • 原文地址:https://www.cnblogs.com/chalon/p/14897611.html
Copyright © 2020-2023  润新知