kubeadm安装Kubernetes1.15安装部署详解-Part 1
admin
2023-04-03 04:02:10
0

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

简介:

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

相关内容

热门资讯

台湾演员赴陆偶遇“如花”高喊“... 据台媒TVBS,曾演出《破事精英第二季》的台湾演员萧子一,日前在中国大陆横店影视城巧遇景区知名NPC...
东盟“不选边”走到尽头? 第48届东盟峰会落幕,中东冲突外溢、美国关税施压、内部矛盾凸显,东盟陷入“经济要救生、安全走钢丝”的...
17岁高中生写作业至凌晨,外出... 5月11日,据青海大通县融媒体中心消息:大通县公安局表示,5月8日6时15分,大通县公安局桥头派出所...
天猫“国货严选”纯棉一次性内裤... 淘宝天猫国货严选旗舰店内一次性内裤宣称“纯棉”,“假一赔十”,实际收到商品为“100%聚酯纤维”。近...
字节砍掉30%的AI项目?背后... 来源:市场资讯 (来源:钛媒体APP) 5月9日,一则关于字节跳动AI战略的消息,在社交媒体上迅速发...
戴尔电脑频繁出现蓝屏死机、重启... IT之家 5 月 11 日消息,Windows 11 更新时常出故障并引发各类问题,其中最让用户恼火...
分享PD氮化镓快充哪个品牌款式... 现在不少小伙伴选氮化镓快充头,尤其是苹果用户,找来找去都会纠结:PD氮化镓快充哪个品牌款式多,苹果氮...
激光近视手术和ICL晶体植入哪... 很多想摘镜的朋友都会纠结:选激光手术,还是ICL晶体植入?到底哪种更安全、更适合自己?广州英华眼科蔡...
原创 天... 备受科技圈关注的联发科技 MTK 天玑开发者大会即将启幕,# 天玑开发者大会# 话题提前霸占数码热搜...
量子力学如何开辟了人类认识和改... 量子力学是 20 世纪最具颠覆性、最具奠基性的基础科学革命成果,与相对论共同构筑起现代物理学两大支柱...