2016 - 2024

感恩一路有你

电脑配置清单表 微服务在Docker k8s下如何部署?

浏览量:1376 时间:2021-03-16 19:28:07 作者:admin

微服务在Docker k8s下如何部署?

正好最近在项目中用到了这些技术,我来抛砖引玉吧。

首先说结论:

1. k8s 是非常好的一项技术,很稳定。如果发现正在运行的 pod 的数量不等于用户设定的期望值, k8s 则会自动创建或者删除 pod,直到两者相等。这样既保障了服务的不间断运行,同时还可以动态缩放服务的规格。用户只要调整 pod 的 replicate 的数量即可,其他的都交给 k8s 就好,非常省心。

2. 要用 jenkins 来集成命令行操作,虽然我个人非常偏爱使用命令行,但是我不得不承认用 jenkins 集成命令行操作会极大的提升工作效率。

下面说实现步骤:(本文以 azure 平台为例)

1. 编写 Dockerfile

2. 在 jenkins 创建任务,并执行包含如下命令的脚本

2.1 git pull 源代码到本地

2.2 docker build 命令生成镜像文件

2.3 docker 定义镜像文件版本号并上传到 azure 平台

2.4 kubectl 命令来创建 k8s 的 deployment & service.

2.5 每次版本更新可以调用 update image 来编译新的镜像版本并提供给 k8s 使用

注意在创建 k8s 的 deployment 和 service 的时候需要编写 yaml 格式的配置文件, deployment 配置包括 名称,镜像文件地址, cpu 最大最小分配值,内存最大最小分配值等。service 配置文件包括 名称,引用的 deployment 名称,以及是否使用 load balancer等。

更多详细信息可以参考我的 wiki. https://github.com/FamingHou/MyWiki

K8s网络问题自己能解决吗?

你好,我是研华科技西安分公司的技术主管,目前正在进行我司物联网k8s云平台的建设和开发,我来回答您的问题:

k8s本身不处理具体的网络问题,事实上它也无法兼顾不同的网路需求和实现。k8s的做法是提出了CNI标准,由不同的厂商通过插件的形式根据自己的需求去实现具体的网络设施。目前比较流行的插件有:

  • flannel:flannel的方式比较简单,它基于linux内核的虚拟网桥机制实现了同一个k8s主机上不同容器之间的物理通信;对于不同主机不同pod之间的通信则使用了overlay网络,也就是在udp协议之上运行vxlan协议。通信模型如下:overlay协议(vxlan over udp)抓包如下:
  • calico:calico把每台k8s主机都模拟成一个路由器,并在其上面运行BGP路由协议来实现k8s主机之间的通信,所以控制比较灵活,而且可以实现网络安全方面的管理,目前我们的集群里采用的就是这个插件。calico的架构如下:

  • canal:这个插件我没有了解过,研究过的朋友可以再做补充!

k8s为什么那么难部署?

k8s部署其实并不是特别难,但是如果你是要学习的话,那么,建议你把整体知识点先过一遍!另外,可以参考我自己的相关脚本,头条搜”非常友好的kubernetes集群部署脚本”,使用脚本部署K8S的话会非常的快的!部署难度主要是因为网络环境不通,导致各种各样的插件出现超时。劝题主多一点耐心,而且K8S本身它的概念比较多,学习的重点还是重在理解各种各样的专业概念,在日常的工作当中,能够及时处理问题。

如何在CentOS7上部署Kubernetes集群?

安装方式很多,既可以通过诸如kubeadm等第三方工具来辅助快速安装kubernetes集群,也可以自己搭建节点然后裸机手动安装。前一种方法安装比较快速方便,出错的概率小点,而后者则可以帮助我们更好的理解kubernetes的架构。建议可以搞两个节点,一主一丛,然后手动搭建看看,遇到问题解决问题即可。

手动在裸机上安装我个人已经完整的实践过,可以参考我的文章:https://www.jianshu.com/p/7d1fb03b8925

电脑配置清单表 怎么看电脑的配置 博途v15对电脑配置要求

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。