189 8069 5689

kubeadm安装Kubernetes1.15安装部署详解-Part1-创新互联

kubeadm安装Kubernetes1.15安装部署详解-Part 1

创新互联建站专业为企业提供黄陵网站建设、黄陵做网站、黄陵网站设计、黄陵网站制作等企业网站建设、网页设计与制作、黄陵企业网站模板建站服务,10年黄陵做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

简介:

Kubernetes最初源于谷歌内部的Borg,提供了面向应用的容器集群部署和管理系统。Kubernetes的目标旨在消除编排物理/虚拟计算,网络和存储基础设施的负担,并使应用程序运营商和开发人员完全将重点放在以容器为中心的原语上进行自助运营。Kubernetes 也提供稳定、兼容的基础(平台),用于构建定制化的workflows 和更高级的自动化任务。 Kubernetes 具备完善的集群管理能力,包括多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和服务发现机制、内建负载均衡器、故障发现和自我修复能力、服务滚动升级和在线扩容、可扩展的资源自动调度机制、多粒度的资源配额管理能力。 Kubernetes 还提供完善的管理工具,涵盖开发、部署测试、运维监控等各个环节。

选择部署方式

公司业务环境在去年已经完成了全线容器化改造,并结合开源容器管理平台Rancher(v1.6)流畅运行,后面发现kubernetes 有要一统的江湖节奏。后面个人有时间逐步开始调研k8s集群,先从源码部署开始的,源码部署的时候个人使用了ansible,整个过程可谓一通折腾啊,踩了很多坑。网上倒是有不少批量自动化工具,鉴于我们现在准备用在生产环境,未来是要替换公司容器化生产环境,个人按照公司的业务常规服务器配置,重新组织了基于源码部署的ansible-playbook。可以完成一件部署一套多主高可用kubernetes集群,模块如下:

p1-nginx.yaml
p2-keepalived.yml
1-download-sofrware.yaml
2-creat-key.yaml
3-kernelup.yaml
4-basic.yml
5-copy-command.yml
6-etcd.yml
7-kubmaster.yaml
8-kubnode.yaml
9-flannel.yaml
10-coredns.yml
p1-nginx.yaml
p2-keepalived.yml

整个过程花费很多精力和时间,过程痛苦而漫长(O(∩_∩)O哈!),当然收获也很多。

关于使用源码部署:

如果个人想学习或者想了解一些配置细节可以用这种方法,但是最好不要自己写自动化这块,谈不上特别复杂,主要是使用批量部署工具部署分布集群,肯定要使用很对变量对路径、配置、权限进行规范,这块调试挺花时间的,另外如果再对集群部署不熟悉就更坑了。学习、了解直接手动敲一遍就行,先别把自动化的事情在初期就一起推进。另外老鸟就另说了,有时间可以折腾,毕竟自动化部署复杂集群效率还是挺高的。

使用kubeadm工具

在使用kubadm之前个人是倾向于源码部署的,后面再看关于k8s相关周边资料发现,官方对kubeadm安装部署推广力度挺大,新功能迭代也很快。另外还有一个重要因素就是k8s的新功能更新也挺快,新的功能、特性都可能面临配置的变更和参数的变化。还有k8s周边的组件dns、网络插件与k8s兼容和匹配都有约束,好多支持版本的特性只会写在官方发布的文档里面,以上种种都带来问题和坑。。。。。。

部署方式推荐:

总体考虑我推荐使用官方推荐工具部署,首先官方发布新版本前会进行自测和功能验证,兼容性问题基本可以避免,官网工具用户量也有保障,有问题解决的速度也快。未来跟随主版本升级也比较方便。省出来的时间可以多去思考公司业务如何在k8s上跑的更加流畅。

本次部署架构

kubeadm安装Kubernetes1.15安装部署详解-Part 1

节点角色介绍

[kub-master]        节点名称                部署服务
172.20.101.157 name=kubm-01  docker、keepalived、nginx、etcd、kube-apiserver、kube-controller-manager、kube-scheduler
172.20.101.164 name=kubm-02  docker、keepalived、nginx、etcd、kube-apiserver、kube-controller-manager、kube-scheduler
172.20.101.165 name=kubm-03  docker、keepalived、nginx、etcd、kube-apiserver、kube-controller-manager、kube-scheduler

[kub-node]
172.20.101.160 name=kubnode-01 kubelet、docker、kube_proxy
172.20.101.166 name=kubnode-02 kubelet、docker、kube_proxy
172.20.101.167 name=kubnode-03 kubelet、docker、kube_proxy

部署环境介绍

docker -v
Docker version 18.06.1-ce, build e68fc7a
kubeadm version

kubeadm version: &version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.0", GitCommit:"e8462b5b5dc2584fdcd18e6bcfe9f1e4d970a529", 
GitTreeState:"clean", BuildDate:"2019-06-19T16:37:41Z",
 GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}
Kubernetes 
VERSION   v1.15.0
more /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core)
uname  -a
Linux kubm-01 4.20.10-1.el7.elrepo.x86_64 #1 SMP Fri Feb 15 08:52:17 EST 2019 x86_64 x86_64 x86_64 GNU/Linux
nginx -v
nginx version: nginx/1.16.0
keepalived -v
Keepalived v1.3.5 (03/19,2017), git commit v1.3.5-6-g6fa32f2

### 配置部署
为了减小篇幅放到一个单独的文档。

https://blog.51cto.com/michaelkang/2413965

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


标题名称:kubeadm安装Kubernetes1.15安装部署详解-Part1-创新互联
文章源于:http://cdxtjz.cn/article/dshohd.html

其他资讯