docker & k8s

k8s分享ppt

入门文档:
https://my.oschina.net/jamesview/blog/2994112
k8s书:
https://kubernetes.io/zh/
https://www.kubernetes.org.cn/ingress

Docker:

一、思想
  • 与git思想类似
  • 与虚拟机效果类似:虚拟机提供硬件level的虚拟,更重;docker只提供app及自身所需依赖的虚拟,创建迭代快,更小,一台机器几千docker
  • 通过dockerfile确定容器创建过程
  • 可以与host交互
二、概念:
  • Dockerfile:编写依赖和如何生成镜像的步骤定义,同一docker生成的镜像和容器是一致的(可多个)
  • 镜像:build Dockerfile后(把环境装好)
  • 容器:run 镜像后(启动)
  • 仓库:本地镜像仓库,类似github,分版本,可以pull、push镜像
  • register:远程库
    客户端/服务器:
    客户端通过build等命令调用服务器,与register通信
三、工作流

编写Dockerfile - 生成镜像 - 发布镜像 - run成容器

K8

参考开头的ppt

实践

一、参考

Docker: https://docs.docker.com/docker-for-mac/
K8s: https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-on-linux
Yml: https://kubernetes.io/docs/concepts/services-networking/ingress/

demo

https://github.com/huoyuxin/deploy-demo

二、调试相关

docker:

  • Open bash:
// 启动前:
docker run -it --entrypoint /bin/sh image_name
// 启动后:
docker exec -it container_name /bin/sh
  • Bind port
docker run -p 9000:9001 image_name  
// host_port:container_port

https://runnable.com/docker/binding-docker-ports

  • Vim: docker安装vim
apt-get update
apt-get install vim

https://stackoverflow.com/questions/30853247/how-do-i-edit-a-file-after-i-shell-to-a-docker-container

三、 疑难
  • k8s的node是可以是物理机也可以是虚拟机。Node本质上不是Kubernetes来创建的,Kubernetes只是管理Node上的资源
  • k8s怎么连接多个node?kubeadm join
  • jenkis & k8s怎么协作:jenkins工作流中调用k8s的deploy,指定yml文件
  • 后端服务不能放云上:可以,k8s的cloud-controller-manager组件适用
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容