马哥课程回顾----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的主要内容,如果未能解决你的问题,请参考以下文章

马哥Linux2016最新高薪运维视频课程

马哥Linux教程:Linux基础入门和架构了解

马哥linux基础教程 就业

干货马哥linux运维学院公开课-今晚课程介绍:《应运而生的架构》

好课分享: 马哥教育 马哥高端Go语言百万并发高薪班微服务分布式高可用Go高并发 百度云

马哥Linux第七周课程作业