kubeadm安裝Kubernetes1.15安裝部署詳解-Part 1
創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供黃陵網(wǎng)站建設(shè)、黃陵做網(wǎng)站、黃陵網(wǎng)站設(shè)計、黃陵網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、黃陵企業(yè)網(wǎng)站模板建站服務(wù),10年黃陵做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。Kubernetes最初源于谷歌內(nèi)部的Borg,提供了面向應(yīng)用的容器集群部署和管理系統(tǒng)。Kubernetes的目標旨在消除編排物理/虛擬計算,網(wǎng)絡(luò)和存儲基礎(chǔ)設(shè)施的負擔,并使應(yīng)用程序運營商和開發(fā)人員完全將重點放在以容器為中心的原語上進行自助運營。Kubernetes 也提供穩(wěn)定、兼容的基礎(chǔ)(平臺),用于構(gòu)建定制化的workflows 和更高級的自動化任務(wù)。 Kubernetes 具備完善的集群管理能力,包括多層次的安全防護和準入機制、多租戶應(yīng)用支撐能力、透明的服務(wù)注冊和服務(wù)發(fā)現(xiàn)機制、內(nèi)建負載均衡器、故障發(fā)現(xiàn)和自我修復(fù)能力、服務(wù)滾動升級和在線擴容、可擴展的資源自動調(diào)度機制、多粒度的資源配額管理能力。 Kubernetes 還提供完善的管理工具,涵蓋開發(fā)、部署測試、運維監(jiān)控等各個環(huán)節(jié)。
公司業(yè)務(wù)環(huán)境在去年已經(jīng)完成了全線容器化改造,并結(jié)合開源容器管理平臺Rancher(v1.6)流暢運行,后面發(fā)現(xiàn)kubernetes 有要一統(tǒng)的江湖節(jié)奏。后面?zhèn)€人有時間逐步開始調(diào)研k8s集群,先從源碼部署開始的,源碼部署的時候個人使用了ansible,整個過程可謂一通折騰啊,踩了很多坑。網(wǎng)上倒是有不少批量自動化工具,鑒于我們現(xiàn)在準備用在生產(chǎn)環(huán)境,未來是要替換公司容器化生產(chǎn)環(huán)境,個人按照公司的業(yè)務(wù)常規(guī)服務(wù)器配置,重新組織了基于源碼部署的ansible-playbook??梢酝瓿梢患渴鹨惶锥嘀鞲呖捎胟ubernetes集群,模塊如下:
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哈!),當然收獲也很多。
如果個人想學習或者想了解一些配置細節(jié)可以用這種方法,但是最好不要自己寫自動化這塊,談不上特別復(fù)雜,主要是使用批量部署工具部署分布集群,肯定要使用很對變量對路徑、配置、權(quán)限進行規(guī)范,這塊調(diào)試挺花時間的,另外如果再對集群部署不熟悉就更坑了。學習、了解直接手動敲一遍就行,先別把自動化的事情在初期就一起推進。另外老鳥就另說了,有時間可以折騰,畢竟自動化部署復(fù)雜集群效率還是挺高的。
在使用kubadm之前個人是傾向于源碼部署的,后面再看關(guān)于k8s相關(guān)周邊資料發(fā)現(xiàn),官方對kubeadm安裝部署推廣力度挺大,新功能迭代也很快。另外還有一個重要因素就是k8s的新功能更新也挺快,新的功能、特性都可能面臨配置的變更和參數(shù)的變化。還有k8s周邊的組件dns、網(wǎng)絡(luò)插件與k8s兼容和匹配都有約束,好多支持版本的特性只會寫在官方發(fā)布的文檔里面,以上種種都帶來問題和坑。。。。。。
總體考慮我推薦使用官方推薦工具部署,首先官方發(fā)布新版本前會進行自測和功能驗證,兼容性問題基本可以避免,官網(wǎng)工具用戶量也有保障,有問題解決的速度也快。未來跟隨主版本升級也比較方便。省出來的時間可以多去思考公司業(yè)務(wù)如何在k8s上跑的更加流暢。
[kub-master] 節(jié)點名稱 部署服務(wù)
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
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。