• k8s -- day02


    K8S - day02

    # rc 痛点
    1. edit 编辑rc配置后,只有启动新的pod才生效
    2. rc滚动升级后,pod标签也升级,导致svc关联不上
    3. 执行滚动升级,需要原来的配置文件
    
    # 新的资源 -- Deployment
    -- 解决了rc痛点
    创建deployment资源
    kubectl create -f nginx-deploy.yaml
    查看
    kubectl get all /-o wide
    
    查看版本 # 回滚不依赖配置文件,自动记载版本信息
    kubectl rollout history deployment nginx-deployment
    
    回滚  
    kubectl rollout undo deployment nginx-deployment --to-reversion=1
    
    # rc VS deployment 管理pod的方式
    1. rc直接管理pod
       deployment -- rs -- 管理pod
       deployment 升级生成新的rs 管理新的pod
    2. rs(ReplicaSet) 有rc 95%的功能,rs由deployment自动创建
    
    # 命令行创建deployment -- vs 配置文件创建
    -- 可以记录使用的命令行,history 可以查看修改的具体内容
    
    kubectl run aa --image=... -replicas=3 --record
    修改
    kubectl set image deployment aa aa=新版本
    查看history
    kubectl rollout history deployment aa
    
    # deployment also need svc 以供外界访问
    -- 可以命令行创建service
    kubectl expose deployment aa --port=80 (vip端口) --type=NodePort
    

    volume -- 持久化

    # 分两种
    1. pv 持久化存储   # 对接来源(存储类型)
    2. pvc持久化存储,分配  # pod中,只负责用
    # 存储的类型
    NFS, glusterFS, ceph, MFS -- PV对接存储驱动
    -- pvc 唯一绑定,在pod中,负责用
    

    Horizontal Pod Autoscaler -- 自动扩展

    # HPA: pod的水平自动扩展(弹性伸缩,max,min)
    微服务 -- 开发架构 -- 拆业务
    '''
    mysql : 并发压力
    '''
    1. 步骤一: 创建dashboard
    # dashboad 进行监控
    -- deployment
    -- service
    1. 上传dashboad镜像 到私有仓库
    docker load -- docker tag -- docker push
    2. 根据yaml文件创建资源
    github -- dashboad -- dashboard.yaml
    kubectl create -f dashboard.yaml
    kubectl create -f dashboard-svc.yaml
    kubectl get all --namespace=kube-system
    3. 访问dashboard
    
    2.步骤二: 创建heapster, 创建HPA
    # 实现HPA:
    1. 搭建监控平台 -- heapster
    '''
    创建一个目录,上传5个yaml文件
    上传三个docker镜像到私有仓库
    kubectl create -f .  # 根据配置文件创建资源
    kubectl get all --namespace=kube-system # 验证
    '''
    2. 创建HPA,底层需要rc或deployment, 设置pod max and min
       -- 扩容策略: --cpu 80 cpu使用百分比作为触发条件
    '''
    # 删除所有的deployment  kubectl delete deployment
    1. kubectl create -f nginx-deploy-hpa.yaml # 起deploy资源
    2. 创建HPA资源
    kubectl autoscale deployment nginx-deployment --max=8 --min=1 --cpu-percent=80
    
    '''
    
    
    
    
    

    1603119503059

    K8S -- 资源关系

    # HPA 最高级的资源
    

    1603121989126

    命令总结

    # 删除所有的deployment
    kubectl delete deployment
    
  • 相关阅读:
    elasticsearch数据迁移
    Leetcode <剑指 Offer 64. 求1+2+…+n>
    Leetcode <27.移除元素>
    Leetcode <7.整数反转>
    Leetcode <1. 两数之和>
    python实现对于告警规则的判断思路
    Python实现密码生成器
    Autojs 打包APP+签名
    Docker 文档整理
    Pycharm 连接Linux远程开发
  • 原文地址:https://www.cnblogs.com/Afrafre/p/13875938.html
Copyright © 2020-2023  润新知