当下主流的IT技术有虚拟化,云计算,大数据,人工智能等。其中,虚拟化技术越来越广泛的被应用到企业中。而Docker就是虚拟化技术的一种,近年来也是非常的火爆,是目前互联网使用最多的虚拟化技术。它有不少优点:轻量级,操作启动快,开源免费。
学习docker
首先要了解docker原理以及镜像
如何搜索docker镜像,如何制作,上传、下载镜像
dockerfile
docker-compose
docker swarm
等工具使用。
然后要了解docker容器
知道docker容器是docker虚拟化产物,是基于镜像运行。会通过docker命令来操作docker容器。如查看docker容器,启动停止docker容器,删除docker容器等等
最后知道docker仓库
Docker仓库是用于存放Docker镜像的地方,如何来部署docker仓库、docker私有仓
docker原理图:
其次要了解docker 几种网络模式
1、 host/container/none/bridge
会使用pipework工具固定容器IP。
熟练使用docker构建LNAMP服务。
学习K8s
熟悉docker后,就可以进一步学习k8s了,它可以帮助用户省去应用容器化过程中许多手动部署和扩展操作。比如:
1、可以实现容器自动化部署和复制
2、可以实现多台主机进行容器编排与管理
3、能够快速、按需容器化应用及资源扩容
4、可以对应用实施状况检查及自我修复
等等
k8s支持docker,也支持另一种容器技术rocket。
要理解:master、node节点,以及运行在各节上的组件,如apiserver,scheduler,controller-manager,kubelet,kube-proxy,etcd,flannel
还要弄清楚pod,lable,service概念
k8s架构图
在生产环境 ,
为方便操作,要会Dashboard UI,为方便访问,会用Nodeport,Loadbalancer以及 ingress
要实实检测系统运行状态,还需要了解prometheus
如果k8s应用容器内容更新,比如nginx发布内容更新操作
包括升级,升级失败回滚(rollout),要熟练操作方法。
最后要K8S里面的数据,要做永久化储存,这个要涉及到ceph或NFS.
以上内容为个人一些总结,想到哪写到哪,比较零碎,不足之处欢迎来补充