




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
GA(生產(chǎn)可用),所以包括了大量的手動工作,跟我們所預(yù)期的一鍵部署還有一定距離。GA89這次部署,我不會依賴于任何公有云或私有云的能力,而是完全在Bare-metal環(huán)境中完首先,準(zhǔn)備機器。最直接的辦法,自然是到公有云上申請幾個虛擬機。當(dāng)然,如果條件允許的話,拿幾臺本地的物理服務(wù)器來組集群是最好不過了。這些機器只要滿足如下幾個條件即Docker64Linux3.10x86或者ARM能夠到gcr.io、quay.io這兩個dockerregistry,因為有小部分鏡像需要在這里2CPU、8GB30GB或以上的可用磁盤空間,這主要是留給Docker2核CPU、7.5GB30GBUbuntuKubernetesDocker和部署Kubernetes部署Kubernetes部署Dashboard安裝kubeadm和我在上一篇文章《Kubernetes一鍵部署利器:kubeadm》中,已經(jīng)介紹過kubeadm的基礎(chǔ)用法,它的一鍵安裝非常方便,我們只需要添加kubeadm的源,然后直接使用apt-get安裝即可,具體流程如下所示:備注:為了方便講解,我后續(xù)都直接會在root$curl-s/apt/doc/apt-key.gpg|apt-keyadd$cat<<EOF>debkubernetes-xenial$apt-get$apt-getinstall-ydocker.io在上述安裝kubeadm的過程中,kubeadm和kubelet、kub、 i這幾另外,這里我直接使用Ubuntu的docker.io的安裝源,原因是Docker公司每次發(fā)布的的DockerCE(社區(qū)版)產(chǎn)品往往還沒有經(jīng)過Kubernetes項目的驗證,可能會有兼部署Kubernetes的MasterkubeadmMaster中既然要部署一個“完整”的Kubernetes集群,那我們不妨稍微提高一下難度:通過配kubeadm用的YAML文件(名叫apiVersion:kind:horizontal-pod-autoscaler-use-rest-s:horizontal-pod-autoscaler-sync-period:node-monitor-grace-period:runtime-config:kubernetesVersion:"stable-這個配置中,我給kube-controller-managerhorizontal-pod-autoscaler-use-rest-s:kube-controller-manager(Custom其中,“stable-1.11”就是kubeadm幫我們部署的Kubernetes版本號,即:Kubernetesrelease1.11的穩(wěn)定版,在我的環(huán)境下,它是v1.11.1。你也可以直接指定這個版本,比如:kubernetesVersion:“v1.11.1”。$kubeadminit--configkubeadmjoin10.168.0.2:6443--token00bwbx.uvnaa2ewjflwu1ry--discovery-token-ca-這個kubeadmjoin命令,就是用來給這個Master節(jié)點添加工作節(jié)點(Worker)的命令。我們在后面部署Worker節(jié)點的時候馬上會用到它,所以找一個地方把這條命令記錄此外,kubeadmKubernetesmkdir-psudocp-i/etc/kubernetes/admin.confsudochown$(id-u):$(id-g)而需要這些配置命令的原因是:Kubernetes集群默認(rèn)需要。所以,這幾條命令,就是將剛剛部署生成的Kubernetes集群的安全配置文件,保存到當(dāng)前用戶的.kube下,kubectl默認(rèn)會使用這個下的信息Kubernetes集群。如果不這么做的話,我們每次都需要通過exportKUBECONFIG環(huán)境變量告訴kubectl這kubectlget1$get234getMasterNotReady,這是為什么在調(diào)試Kubernetes集群時,最重要的就是用kubectldescribe來查看這個節(jié)1$kubectldescribenode234567 False...KubeletNotReadyruntimenetworknotready:NetworkReady=falsekubectldescribeNodeNotReady另外,我們還可以通過kubectl檢查這個節(jié)點上各個系統(tǒng)Pod的狀態(tài),其中,kube-systemKubernetesPod(Namepsace,注意它并不是LinuxNamespace,它只是Kubernetes劃分不同工作空間的單位):1$kubectlgetpods-nkube-2 RESTARTS Pending Pending Running Running Pending 9 NodeLost10kube-scheduler-Running都處于Kubernetes執(zhí)行一句kubectlapply指令,以Weave為例:1$kubectlapply-f部署完成后,我們可以通過kubectlget重新檢查Pod1$kubectl1$kubectlgetpods-nkube-34coredns-78fcdf6894-05coredns-78fcdf6894-06etcd-07kube-apiserver-08kube-controller-manager-09kube--010kube-scheduler-011weave-net-02可以看到,所有的系統(tǒng)Pod都成功啟動了,而剛剛部署的Weave網(wǎng)絡(luò)插件則在kube-systemweave-net-cmk27PodPodKubernetes支持容器網(wǎng)絡(luò)插件,使用的是一個名叫CNI的通用接口,它也是當(dāng)前容器網(wǎng)絡(luò)的事實標(biāo)準(zhǔn),市面上的所有容器網(wǎng)絡(luò)開源項目都可以通過CNI接入Kubernetes,比如Flannel、Calico、C、Romana等等,它們的部署方式也都是類似的“一鍵部署”。至此,Kubernetes的Master節(jié)點就部署完成了。如果你只需要一個單節(jié)點的Kubernetes,現(xiàn)在你就可以使用了。不過,在默認(rèn)情況下,Kubernetes的Master節(jié)點部署Kubernetes的WorkerKubernetes的Worker節(jié)點跟Master節(jié)點幾乎是相同的,它們運行著的都是一個kubelet組件。唯一的區(qū)別在于,在kubeadminit的過程中,kubelet啟動后,Master節(jié)點上還會自動運行kube-apiserver、kube-scheduler、kube-controller-manger這三個系統(tǒng)Pod。所以,相比之下,部署WorkerWorkerkubeadmDocker”一節(jié)的所有步驟。第二步,執(zhí)行部署Master節(jié)點時生成的kubeadmjoin指令:1$kubeadmjoin10.168.0.2:6443--token00bwbx.uvnaa2ewjflwu1ry--discovery-token-ca-通過Taint/Toleration調(diào)整Master執(zhí)行Pod我面提到過,默認(rèn)情況下Master節(jié)點是不允許運行用戶Pod的。而Kubernetes做到這一點,依靠的是Kubernetes的Taint/Toleration機制。Taint,即被“打上了污點”,那么所有Pod就都不能在這個節(jié)點上運行,因為Kubernetes的Pod都有“潔癖”。除非,有個別的Pod自己能“”這個“污點”,即了Toleration,它才可以$kubectltaintnodesnode1這時,該node1節(jié)點上就會增加一個鍵值對格式的Taint,即:foo=bar:NoSchedule。其中值里面的NoSchedule,意味著這個Taint只會在調(diào)度新Pod時產(chǎn)生作用,而不會影響已經(jīng)在node1上運行的Pod,哪怕它們沒有Toleration。那么Pod又如何Toleration呢我們只要在Pod的.yaml文件中的spec部分,加入tolerationsapiVersion:kind:-key:operator:value:effect:這個Toleration的含義是,這個Pod能“”所有鍵值對為foo=bar的MasterTaint$kubectldescribenode2 可以看到,Master節(jié)點默認(rèn)被加上了node-此時,你就需要像下面這樣用“Exists”操作符(operator:“Exists”,“存在”即可)來說明,該Pod能夠所有以foo為鍵的Taint,才能讓這個Pod運行在該Master節(jié)點apiVersion:kind:-key:operator:effect:當(dāng)然,如果你就是想要一個單節(jié)點的Kubernetes,刪除這個Taint$kubectltaintnodes--allnode-如上所示,我們在“oe-rekbeee.imser”這個鍵后面加上了一個短de-rl.kentei/asert。到了這一步,一個基本完整的KuberneteskubeadmKubernetes像、、各個組件的配置等部署中最麻煩的操作,kubeadm都已經(jīng)幫你完成了。KubernetesDashboard部署Dashboard$kubectlapply-fDashboard對應(yīng)的Pod$kubectlgetpods-nkube-23kubernetes-dashboard-6948bdb78- 需要注意的是,由于Dashboard是一個WebServer,很多人經(jīng)常會在自己的公有云上無意地Dashboard的端口,從而造成安全隱患。所以,1.7版本之后的Dashboard項目部署完成后,默認(rèn)只能通過的方式在本地。具體的操作,你可以查看Dashboard項目的文檔。而如果你想從集群外這個Dashboard的話,就需要用到Ingress,我會在后面的文章接下來,讓我們完成這個Kubernetes集群的最后一塊拼圖:容器持久化我面介紹容器原理時已經(jīng)提到過,很多時候我們需要用數(shù)據(jù)卷(oe)主機上的或者文件掛載進容器的MountNmespace或者文件的目的。容器里的應(yīng)用,也就可以在這些數(shù)據(jù)卷中新建和寫入文件。而容器的持久化,就是用來保存容器狀態(tài)的重要:插件會在容器里掛載一個基于網(wǎng)絡(luò)或者其他機制的數(shù)據(jù)卷,使得在容器里創(chuàng)建的文件,實際上是保存在存由于Kubernetes本身的松耦合設(shè)計,絕大多數(shù)項目,比如Ceph、GlusterFS、NFS等,都可以為Kubernetes提供持久化能力。在這次的部署實戰(zhàn)中,我會選擇部署一個很重要的Kubernetes插件項目:Rook。Rook項目是一個基于Ceph的Kubernetes插件(它后期也在加入對實現(xiàn)的支持)。不過,不同于對Ceph的簡單封裝,Rook在自己的實現(xiàn)中加入了水平擴展、遷得益于容器化技術(shù),用兩條指令,Rook就可以把復(fù)雜的Ceph后端部署起來1$kubectlapply-f23$kubectlapply-fNamespace1$kubectlgetpods-nrook-ceph-23rook-ceph-agent-04rook-ceph-operator-78d498c68c-05rook-discover-607$kubectlgetpods-89rook-ceph-mon0-010rook-ceph-mon1-0KubernetesPodPersistentVolume(PV)VolumeClaim(PVC)的方式,在容器里掛載由Ceph而Rook項目,則會負(fù)責(zé)這些數(shù)據(jù)卷的生命周期管理、備份等運維工作。關(guān)于這些容Rook如果你去研究一下RookKubs提供的編排能力,合理的使用了很多諸如OperatoCRD等重要的擴展特性(這些特性我都會在后面的文章中逐一講解到)。這使得Rook項目,成為了目前社區(qū)中基于KubsAPI構(gòu)最完最成容器插件相信樣的路線快就到整區(qū)的備注:其實,在很多時候,大家說的所謂“云原生”,就是“Kubernetes原生”的意思。而像Rook、Istio這樣的項目,正是這個思路的典范。在我們后面講解了式API之后,相信你對這些項目的設(shè)計思想會有更深刻的體在本篇文章中,我們完全從0開始,在Bare-metal環(huán)境下使用kubeadm工具部署了一個完整的Kubernetes集群:這個集群有一個Master節(jié)點和多個Worker節(jié)點;使用Weave作為容器網(wǎng)絡(luò)插件;使用Rook作為容器持久化插件;使用Dashboard插件提供了可視化的Web界面。kubeadm項目大大簡化了部署Kubernetes的準(zhǔn)備工作,尤其是配置文件、、二進制文件的準(zhǔn)備和制作,以及集群版本管理等操作,都被kubeadm接管了。Kubernetes署KubernetesKubernetesKubernetesAPI而一旦這項工作能夠基于Kubs實現(xiàn)容器化,就很有可能像上面的部署過程一樣,你是否使用其他工具部署過KubernetesKubernetes(v1.11)能夠有效管理的集群規(guī)模是多少個節(jié)點?你 售賣。頁面已增加防盜追蹤,將依法其下一 12|牛刀小試:我的第一個容器化應(yīng)言言 65 Roy 28aptremovekubeletkubectlkubeadmaptinstallkubelet=1.11.3-00aptinstallkubectl=1.11.3-龍 對 ,不能直接給kubeadm上,讓dockerdaemon翻,正確參見 柳 deb/kubernetes/aptkubernetes-xenial我還是猴 11kubernetes1.12.2/docker-ce 9kubeadm1.14apiVersion:kubeadm.k8s.io/v1beta1kind:ClusterConfiguration同心 你好,照著你的,我在執(zhí)行kubeadminit--configkubeadm.yaml,提示:yourconfigurationfileusesanoldAPIspec:"kubeadm.k8s.io/v1alpha1".Pleaseusekubeadmv1.11insteadandrun'kubeadmconfigmigrateold-configold.yamlnew-confignew.yaml',whichwillwritethenew,similarspecusinganewerAPI 8 [ERRORKubeletVersion]:thekubeletversionishigherthanthecontrolneversion.Thisisnotasupportedversionskewandmayleadtoamalfunctionalcluster.Kubeletversion:"1.12.0-rc.1"Controlneversion:"1.11.3"杰 6Terry 我也為大家提供一些[kubelet]Downloadingconfigurationforthekubeletfromthe"kubelet-1.11"ConfigMapinthekube-system 6WorkNode暮 6Terry root@kube-worker1:~#kubectlgetTheconnectiontotheserverlocalhost:8080wasrefused-didyouspecifyth
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國民宿行業(yè)市場深度調(diào)研及供需與投資價值研究報告
- 2025-2030中國橫紋肌肉瘤藥行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國機械手行業(yè)市場發(fā)展分析及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 2025-2030中國有機野生產(chǎn)品行業(yè)市場深度調(diào)研及發(fā)展趨勢與投資前景預(yù)測研究報告
- 2025-2030中國智能鎖行業(yè)市場深度調(diào)研及調(diào)查研究報告
- 2025-2030中國智能吸入器行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國無籽西瓜種子行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國新型機器人和無人機行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國數(shù)字無繩家用電話行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國教學(xué)地球儀行業(yè)市場深度調(diào)研及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 2024至2030年中國車用氮氧傳感器行業(yè)市場發(fā)展調(diào)研及投資前景分析報告
- 人工肩關(guān)節(jié)置換(反肩)
- 離婚協(xié)議書范本2個孩子可打印
- 人教版 水平四 《一百米跑》說課稿
- 藏族民間舞-熱巴舞智慧樹知到期末考試答案章節(jié)答案2024年西藏大學(xué)
- 《何西阿書一概要》課件
- 超市經(jīng)銷商轉(zhuǎn)場協(xié)議書
- 中華全國律師協(xié)會律師知識產(chǎn)權(quán)盡職調(diào)查操作指引
- 人教版高一下學(xué)期期中考試數(shù)學(xué)試卷及答案(共兩套)
- 產(chǎn)科診療指南及技術(shù)操作規(guī)范
- 小學(xué)二年級數(shù)學(xué)三位數(shù)加減三位數(shù)計算同步練習(xí)口算題帶答案
評論
0/150
提交評論