马哥课程回顾----deployment
Posted beawh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了马哥课程回顾----deployment相关的知识,希望对你有一定的参考价值。
原来k8s与docker 对结通过
CRI ----》dockershim ---->docker daemon
kubelet :
1、cri-docker ----->docker CE (daemon)
2、containerd ( 是 docker 捐献给CNNF 云原生组织的)
dokcer 容器4个组件
docker Daemon 守护进程
containerd -->CNNF
dockershim
runc
Docker Engine早于CRI,因此 Docker Engine不兼容 CRI。 为了解决这个问题,在 kubelet 组件中引入了一个小型软件 shim (dockershim),专门用于填补 Docker Engine 和 CRI 之间的空白, 允许集群操作员继续使用 Docker Engine 作为他们的容器运行时。
deployment
Deployment为Pod和Replica Set提供声明式更新。
spec 定义一组Pod期望状态,status 一组Pod实际状态。期望状态一般来自用户提交的YAML文件,这些信息都保存在Etcd中。
Pod被ReplicaSet管理,ReplicaSet控制pod的数量;ReplicaSet被Deployment管理,Deployment控制pod应用的升级、回滚,当然也能控制pod的数量。Service提供一个统一固定入口,负责将前端请求转发给Pod。
查看deployment 。 kubectl get deployment
查看deploymnet 以yaml格式查看。 kubectl get deployment web01 -o yaml -n test-ns
查看deployment 事件。 kubectl describe deployment web01 -n test-ns
应用yaml创建deployment 。 kubectl apply -f nginx.yml
不真正执行生成yaml文件 。 kubectl run myweb99 --image=nginx:1.7.9 --dry-run=client -o yaml
升级deployment 。 kubectl set image deployment web01 nginx=nginx:1.13
回滚deployment版本 。
kubectl rollout history deployment/nginx-deployment //查看可回滚的历史版本
kubectl rollout undo deployment/nginx-deployment --to-revision=3 //回滚到指定历史版本
kubectl rollout undo deployment/nginx-deployment //不指定版本,就是回滚到前一个
扩容缩容deployment 数量。
[root@k8s-master01 ~]# kubectl get deployment -n test-ns
NAME READY UP-TO-DATE AVAILABLE AGE
web01 3/3 3 3 5d14h
web02 3/3 3 3 5d14h
[root@k8s-master01 ~]# kubectl scale deployment web01 --replicas=5 -n test-ns
deployment.apps/web01 scaled
[root@k8s-master01 ~]# kubectl get deployment -n test-ns
NAME READY UP-TO-DATE AVAILABLE AGE
web01 3/5 5 3 5d14h
web02 3/3 3 3 5d14h
[root@k8s-master01 ~]# kubectl scale deployment web01 --replicas=2 -n test-ns
deployment.apps/web01 scaled
[root@k8s-master01 ~]# kubectl get deployment -n test-ns
NAME READY UP-TO-DATE AVAILABLE AGE
web01 2/2 2 2 5d14h
暴露 deployment端口:(容器的80端口 ,映射到service 的 30000以上端口)
[root@k8s-master01 ~]# kubectl expose deployment myweb --type=NodePort --port=80
service/myweb exposed
删除deployment (会删除pod ,rs ,但不会删除service)
马哥-Linux云计算架构班学习计划
就业班的课
总共147节课 计划每天保质保量的学2节课 计划用73.5天学完 稍微加快点进度计划花2个月的时间学完
架构班的课
总共143节课 计划每天保质保量的学2节课计划用71.5天学完 稍微加快点进度计划花2个月的时间学完
开始时间-完成时间 2018.12.1-2019.4.1
每天学习两节课
学习方式:看视频,做笔记,笔记做完,对照课程大纲,回顾知识点,在51CTO上写博客,输出自己学习的内容
以上是关于马哥课程回顾----deployment的主要内容,如果未能解决你的问题,请参考以下文章
干货马哥linux运维学院公开课-今晚课程介绍:《应运而生的架构》