




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Kubernetes的概念與功能單元一Kubernetes概述全套可編輯PPT課件
本課件是可編輯的正常PPT課件目錄/ContentsKubernetes的概念Kubernetes的起源與發(fā)展Kubernetes的核心功能020301本課件是可編輯的正常PPT課件Kubernetes源于希臘語,意為“舵手”或“飛行員”k8s是通過8個字母“ubernete”替換為8而導(dǎo)出的縮寫。Kubernetes—工業(yè)級容器編排平臺PhotobyJuliusSilverfromPexels自動化的容器編排平臺
部署
彈性
管理本課件是可編輯的正常PPT課件Kubernetes的起源與發(fā)展起源2014201520182020Kubernetes最初源于谷歌內(nèi)部的容器編排系統(tǒng)Borg開源版。谷歌云計算專家埃里克·布魯爾(EricBrewer)在舊金山的發(fā)布會為這款新的開源工具揭牌K8S迭代到v1.0并在OSCON大會上正式對外公布。超過1700開發(fā)者成為Kubernetes項目社區(qū)貢獻者,全球有500多場沙龍。Kubernetes項目已經(jīng)成為貢獻者僅次于Linux項目的第二大開源項目。成為了業(yè)界容器編排的事實標準。本課件是可編輯的正常PPT課件0201030506服務(wù)的發(fā)現(xiàn)與負載的均衡密鑰與配置管理自我修復(fù)存儲編排自動部署和回滾自動完成裝箱計算核心功能Kubernetes04本課件是可編輯的正常PPT課件Kubernetes本課件是可編輯的正常PPT課件Kubernetes本課件是可編輯的正常PPT課件Kubernetes本課件是可編輯的正常PPT課件THANKS謝謝聆聽謝謝本課件是可編輯的正常PPT課件Kubernetes的架構(gòu)單元一Kubernetes概述本課件是可編輯的正常PPT課件Kubernetes的架構(gòu)一個Kubernetes集群主要是由控制節(jié)點(Master)和工作節(jié)點(Node)構(gòu)成,每個節(jié)點都會桿安裝不同的組件。Node:集群的數(shù)據(jù)平面,負責為容器提供運行環(huán)境node:集群的數(shù)據(jù)平面,負責為容器提供運行環(huán)境。Master:集群的控制平面,負責集群的決策。(管理)本課件是可編輯的正常PPT課件Master主要包含API
Server、Scheduler、Controller、Etcd等組件。Kubernetes的架構(gòu)—MasterAPIServer:是用來處理API操作的,資源操作的唯一入口,接收用戶輸入的命令,提供認證、授權(quán)等機制。Controller:是控制器,它用來完成對集群狀態(tài)的一些管理。Scheduler:是調(diào)度器,“調(diào)度器”顧名思義就是完成調(diào)度的操作。etcd:是一個分布式的一個存儲系統(tǒng),保證整個Kubernetes的Master組件的高可用性。本課件是可編輯的正常PPT課件Kubernetes的架構(gòu)—NodeKubelet:負責維護容器的生命周期,即通過控制docker,來創(chuàng)建、更新、銷毀容器。Kube-proxy:負責提供集群內(nèi)部的服務(wù)發(fā)現(xiàn)和負載均衡。Docker:負責節(jié)點上容器的各種操作。本課件是可編輯的正常PPT課件Kubernetes的架構(gòu)—例子本課件是可編輯的正常PPT課件THANKS謝謝聆聽謝謝本課件是可編輯的正常PPT課件Kubernetes的常見術(shù)語單元一Kubernetes概述本課件是可編輯的正常PPT課件目錄/ContentsPodVolumeDeploymentServiceNamespaces0203040501Kubernetes的常見術(shù)語—Pod最小的調(diào)度以及資源單元由一個或者多個容器組成定義容器運行的方式(Command、環(huán)境變量等)提供給容器共享的運行環(huán)境(網(wǎng)絡(luò)、進程空間)本課件是可編輯的正常PPT課件聲明在Pod中的容器可訪問的文件目錄可以被掛載在Pod中一個(或多個)容器的指定路徑下支持多種后端存儲的抽象本地存儲、分布式存儲、云存儲...Kubernetes的常見術(shù)語—VolumePodVolumeRemoteBlockDevice本課件是可編輯的正常PPT課件定義一組Pod的副本數(shù)目、版本等提供控制器(Controller)維持Pod的數(shù)目自動恢復(fù)失敗的Pod通過控制器以指定的策略控制版本滾動升級、重新生成、回滾等Kubernetes的常見術(shù)語—Deployment本課件是可編輯的正常PPT課件Kubernetes的常見術(shù)語—Service提供訪問一個或多個Pod的實例的穩(wěn)定訪問地址支持多種訪問方式實現(xiàn)ClusterIPNodePortLoadBalancer本課件是可編輯的正常PPT課件一個集群內(nèi)部的邏輯隔離機制(鑒權(quán)、資源額度)每一個資源都屬于一個Namespace同一個Namespace中的資源名命唯一不同Namespace中的資源可重名Kubernetes的常見術(shù)語—Namespaces本課件是可編輯的正常PPT課件THANKS謝謝聆聽謝謝本課件是可編輯的正常PPT課件kubernetes部署規(guī)劃單元二Kubernetes基礎(chǔ)環(huán)境部署本課件是可編輯的正常PPT課件目錄/Contents軟件要求系統(tǒng)基礎(chǔ)環(huán)境配置要求020301硬件要求本課件是可編輯的正常PPT課件節(jié)點硬件規(guī)格主節(jié)點MasterCPU內(nèi)核總數(shù)>=2內(nèi)存2G,官方要求最少1700MB硬盤40G工作節(jié)點WorkerCPU內(nèi)核總數(shù)>=1內(nèi)存1G硬盤40G硬件要求本教材用于演示用途的Kubernetes集群擬包含三個節(jié)點,包括一個主節(jié)點(Master),兩個工作節(jié)點(Worker)本課件是可編輯的正常PPT課件軟件要求軟件具體要求宿主機操作系統(tǒng)Windows1064位虛擬機軟件VMwareWorkstationPro16.1集群操作系統(tǒng)UbuntuServer20.04LTS64位Docker版本Docker19.03.15(Kubernetes不支持20以上的版本)Kubernetes軟件Kubernetes1.20.4遠程登錄軟件MobaXterm20.5/Putty本課件是可編輯的正常PPT課件
確保集群中的所有機器的網(wǎng)絡(luò)均能相互連接,可以ssh登錄。確保節(jié)點之間沒有有重復(fù)的主機名、MAC地址等,yum可用。確保所有節(jié)點swap交換分區(qū)關(guān)閉。為了保證kubelet正常工作,必須禁用交換分區(qū)。確保SELinux及系統(tǒng)防火墻處于關(guān)閉狀態(tài)。確保所有節(jié)點安裝docker、kubeadm、kubectl和kubelet。系統(tǒng)基礎(chǔ)環(huán)境配置要求本課件是可編輯的正常PPT課件THANKS謝謝聆聽謝謝本課件是可編輯的正常PPT課件單元二Kubernetes基礎(chǔ)環(huán)境部署UbuntuServer20.04LTS操作系統(tǒng)安裝與配置本課件是可編輯的正常PPT課件UbuntuServer系統(tǒng)安裝01本課件是可編輯的正常PPT課件準備工作本課程以UbuntuServer20.04LTSlinux作為基本教學和實驗環(huán)境,以上兩項內(nèi)容是初始化安裝一臺UbuntuServer20.04LTS操作系統(tǒng)虛擬計算機的必備工作。用于實驗的物理計算機應(yīng)保證物理內(nèi)存大小不低于8G,否則計算機和虛擬機都將運轉(zhuǎn)緩慢,極大降低學習和使用體驗。鏡像系統(tǒng)虛擬計算機+本課程使用已經(jīng)安裝了Ubuntu64位的虛擬計算機k8s1.22.1_template已經(jīng)下載好的ubuntu-20.04.2-live-server-amd64.iso的系統(tǒng)文件本課件是可編輯的正常PPT課件開啟虛擬機配置系統(tǒng)重啟系統(tǒng)插入鏡像開啟虛擬機,并選擇進入安裝模式。向虛擬機光驅(qū)中插入UbuntuServer20.04LTS系統(tǒng)鏡像文件。按序配置操作系統(tǒng)的安裝方式和基本工作參數(shù)。在安裝完成后重啟虛擬機,接收GPLv2許可授權(quán)協(xié)議,進入系統(tǒng)桌面。安裝過程本課件是可編輯的正常PPT課件UbuntuServer系統(tǒng)安裝操作演示本課件是可編輯的正常PPT課件THANKS謝謝聆聽謝謝本課件是可編輯的正常PPT課件在VM虛擬機管理軟件中創(chuàng)建虛擬計算機單元二Kubernetes概述本課件是可編輯的正常PPT課件目錄/Contents虛擬計算機管理軟件VmwareWorkstation的概述虛擬計算機管理軟件的安裝與配置在VM虛擬機管理軟件中創(chuàng)建虛擬計算機020301本課件是可編輯的正常PPT課件虛擬計算機管理軟件—VmwareWorkstation01本課件是可編輯的正常PPT課件虛擬計算機管理軟件—VmwareWorkstation1、VMware是一個虛擬PC的軟件。2、可以在現(xiàn)有的操作系統(tǒng)上虛擬出一個新的硬件環(huán)境。3、相當于模擬出一臺新的PC。4、實現(xiàn)在一臺機器上真正同時運行兩個獨立的操作系統(tǒng)。5、VMware官網(wǎng):/cn.html。介紹1、不需要分區(qū)或重新開機就能在同一臺PC上使用兩種以上的操作系統(tǒng)。2、本機系統(tǒng)可以與虛擬機系統(tǒng)網(wǎng)絡(luò)通信。3、可以設(shè)定并且隨時修改虛擬操作系統(tǒng)的硬件環(huán)境。主要特點CPU:建議主頻為1GHz以上內(nèi)存:建議1GB以上硬盤:建議分區(qū)空閑空間8GB以上。建議配置
本課件是可編輯的正常PPT課件虛擬計算機管理軟件的安裝與配置02本課件是可編輯的正常PPT課件
虛擬計算機管理軟件的安裝與配置安裝環(huán)境1、PC機。2、VMwareWorkstation安裝文件(本課程采用VMwareWorkstationPro16及以上版本)3、Windows操作系統(tǒng)鏡像文件本課程以安裝VMware-workstation-full-16.1.0-17198959.exe為例子,給出VMwareWorkstationPro的安裝的全過程:1)打開下載好的安裝文件,點擊下一步本課件是可編輯的正常PPT課件2)接受最終用戶許可協(xié)議,點擊下一步3)自定義安裝中,選擇增強型鍵盤驅(qū)動程序,以及將VMwareWorkstation控制臺工具添加到系統(tǒng)PATH,點擊下一步虛擬計算機管理軟件的安裝與配置本課件是可編輯的正常PPT課件4)用戶體驗設(shè)置中,取消啟動時檢查產(chǎn)品更新和加入VMware客戶體驗提升計劃,點擊下一步5)快捷方式取默認即可,點擊下一步虛擬計算機管理軟件的安裝與配置本課件是可編輯的正常PPT課件虛擬計算機管理軟件的安裝與配置6)如果之前已經(jīng)安裝過VMwareWorkstationPro,則將進行升級或要求先卸載再安裝,若系統(tǒng)中尚未安裝過VMwareWorkstationPro,則點擊安裝7)安裝結(jié)束,點擊完成本課件是可編輯的正常PPT課件菜單欄虛擬機工作區(qū)虛擬機列表工具欄虛擬計算機管理軟件的安裝與配置本課件是可編輯的正常PPT課件創(chuàng)建虛擬計算機的操作演示03本課件是可編輯的正常PPT課件創(chuàng)建虛擬計算機的操作演示本課件是可編輯的正常PPT課件THANKS謝謝聆聽謝謝本課件是可編輯的正常PPT課件單元二Kubernetes基礎(chǔ)環(huán)境部署UbuntuServer20.04LTS操作系統(tǒng)配置本課件是可編輯的正常PPT課件目錄/Contents配置root用戶密碼修改SSH服務(wù)配置配置靜態(tài)ip開啟bash參數(shù)自動補全關(guān)閉系統(tǒng)swap分區(qū)020304050106更新系統(tǒng)本課件是可編輯的正常PPT課件配置root用戶密碼創(chuàng)建bnqccit用戶時設(shè)置的登錄密碼為root用戶設(shè)置的新登錄密碼重復(fù)確認新的登錄密碼本課件是可編輯的正常PPT課件目的:確保集群中的所有機器的網(wǎng)絡(luò)均能相互連接,可以遠程ssh登錄訪問。修改SSH服務(wù)配置1)使用vim/etc/ssh/sshd_config命令,將#PermitRootLoginprohibit-password一行修改為PermitRootLoginyes:2)查看系統(tǒng)ip地址,用于遠程登錄軟件putty上輸入:本課件是可編輯的正常PPT課件修改SSH服務(wù)配置并登錄遠程登錄軟件3)打開下載好的用于遠程登錄軟件putty,在設(shè)置頁輸入之前查看的ip地址4)輸入賬號密碼登錄本課件是可編輯的正常PPT課件UbuntuServer系統(tǒng)配置操作演示本課件是可編輯的正常PPT課件THANKS謝謝聆聽謝謝本課件是可編輯的正常PPT課件單元二Kubernetes基礎(chǔ)環(huán)境部署docker與kubadm的安裝與配置本課件是可編輯的正常PPT課件Docker與Kubernete是平臺與組件的關(guān)系,Kubernetes可以利用現(xiàn)有的Docker容器運行時技術(shù)。對于Docker單一容器技術(shù)而言,Kubernetes容器編排技術(shù)可以很好地實現(xiàn)大規(guī)模容器的組織和管理,從而使容器技術(shù)實現(xiàn)了從“容器”到“容器云”的飛躍。Docker與Kubernete的關(guān)系本課件是可編輯的正常PPT課件docker的安裝與配置本課件是可編輯的正常PPT課件kubeadm是一個提供了kubeadminit命令和kubeadmjoin命令的工具,作為創(chuàng)建Kubernetes集群的“快捷途徑”最佳實踐。kubeadm通過執(zhí)行必要的操作來啟動和運行最小可用集群。kubeadm原理介紹kubeadm的目標是提供一個最小可用的可以通過Kubernetes一致性測試的集群。kubeadm默認情況下并不會安裝一個網(wǎng)絡(luò)解決方案,所以用kubeadm安裝完之后需要自己來安裝一個網(wǎng)絡(luò)的插件。Kubeadm只關(guān)心啟動集群,而不關(guān)心其他工作,如部署前的節(jié)點準備工作、安裝各種kubenertesDashboard、監(jiān)控解決方案以及特定云提供商的各種插件,這些也都屬于kubeadm的管轄范圍本課件是可編輯的正常PPT課件Kubeadm部署要安裝的組件用來初始化集群的指令。kubeadm在集群中的每個節(jié)點上用來啟動Pod和容器等。kubelet用來與集群通信的命令工具。kubectlkubeadm安裝切記:kubeadm不會自動去安裝和管理kubelet和kubectl,所以需要自己去確保安裝的版本和你想要安裝的kubernetes版本相同。(本教材安裝kubeadm1.20.4版本)本課件是可編輯的正常PPT課件安裝前準備:Kubeadm安裝過程本課件是可編輯的正常PPT課件Kubeadm安裝過程本課件是可編輯的正常PPT課件Kubeadm安裝過程本課件是可編輯的正常PPT課件THANKS謝謝聆聽謝謝本課件是可編輯的正常PPT課件單元三Kubernetes集群環(huán)境部署節(jié)點的創(chuàng)建與配置本課件是可編輯的正常PPT課件各節(jié)點主機名與網(wǎng)絡(luò)規(guī)劃虛擬機名IP地址角色OS組件內(nèi)存k8s1.20.4_master01100主節(jié)點UbuntuServer20.04LTS2Gk8s1.20.4_worker01101工作節(jié)點UbuntuServer20.04LTS1Gk8s1.20.4_worker02102工作節(jié)點UbuntuServer20.04LTS1G本課件是可編輯的正常PPT課件VmareWorkstation的克隆功能克隆功能:
就是對已建立的虛擬機復(fù)制一份,如果該虛擬機已經(jīng)安裝好了系統(tǒng)就相當于多了一個相同的系統(tǒng),克隆的過程并不影響原始虛擬機,克隆的操作一但完成,克隆的虛擬機就可以脫離原始虛擬
機獨立存在。本課件是可編輯的正常PPT課件節(jié)點配置內(nèi)容本課件是可編輯的正常PPT課件虛擬機節(jié)點創(chuàng)建與配置的操作演示本課件是可編輯的正常PPT課件THANKS謝謝聆聽謝謝本課件是可編輯的正常PPT課件單元三Kubernetes集群環(huán)境部署單控制平面初始化本課件是可編輯的正常PPT課件各節(jié)點主機名與網(wǎng)絡(luò)規(guī)劃虛擬機名IP地址角色OS組件內(nèi)存k8s1.20.4_master01100主節(jié)點UbuntuServer20.04LTSkube-apiserver、kube-controller-manager、kube-scheduler、kube-proxy、etcd、coredns、calico、2Gk8s1.20.4_worker01101工作節(jié)點UbuntuServer20.04LTSkube-proxy、calico1Gk8s1.20.4_worker02102工作節(jié)點UbuntuServer20.04LTSkube-proxy、calico1G本課件是可編輯的正常PPT課件Master主要包含API
Server、Scheduler、Controller、Etcd等組件。Kubernetes的架構(gòu)—MasterAPIServer:是用來處理API操作的,資源操作的唯一入口,接收用戶輸入的命令,提供認證、授權(quán)等機制。Controller:是控制器,它用來完成對集群狀態(tài)的一些管理。Scheduler:是調(diào)度器,“調(diào)度器”顧名思義就是完成調(diào)度的操作。etcd:是一個分布式的一個存儲系統(tǒng),保證整個Kubernetes的Master組件的高可用性。本課件是可編輯的正常PPT課件kubeadminit
命令
本課件是可編輯的正常PPT課件首先控制平面創(chuàng)建需要提供配置文件,kubeadm提供了生成控制平面配置文件的參數(shù)。在主節(jié)點master01上創(chuàng)建init-cluster目錄,在該目錄下生成集群控制平面配置文件init-defaults.yaml。打印默認的init配置文件編輯集群控制平面配置文件來控制平面初始化本課件是可編輯的正常PPT課件初始化命令說明:–apiserver-advertise-address:kubeadm會使用默認網(wǎng)關(guān)所在的網(wǎng)絡(luò)接口廣播其主節(jié)點的IP地址。所以在init-defaults.yaml文件中需要手動的修改主節(jié)點master01deip地址-clusterName字段,表示集群名稱,這里集群名設(shè)定為cluster-demo01:–image-repository:Kubenetes默認Registries地址是k8s.gcr.io,國內(nèi)無法訪問,在1.13版本后可以增加–image-repository參數(shù),將其指定為可訪問的鏡像地址,這里使用/google_containers。配置文件初始化方式更改為00更改為clusterName:cluster-demo01更改為imageRepository:/google_containers本課件是可編輯的正常PPT課件配置文件初始化方式在主節(jié)點master01上進行控制平面集群初始化,使用kubeadminit命令本課件是可編輯的正常PPT課件初始化完成之后,可以使用kubectlgetnodes命令查看當前控制平面中節(jié)點的數(shù)量的簡要信息連接被拒絕kubectl配置文件解決方式:再次使用kubectlgetnodes命令查看可以使kubeclt連接到集群中master01狀態(tài)為notready本課件是可編輯的正常PPT課件本教材使用Calico網(wǎng)絡(luò),可使用kubectlapply命令安裝Calico網(wǎng)絡(luò)插件:master01狀態(tài)變更為ready創(chuàng)建完成Kubernetes的網(wǎng)絡(luò)之后,再次查看節(jié)點信息:Kubernetes網(wǎng)絡(luò)配置——安裝calico網(wǎng)絡(luò)插件本課件是可編輯的正常PPT課件安裝了pod網(wǎng)絡(luò)后,確認coredns以及其他pod全部運行正常,查看master節(jié)點狀態(tài)為Ready驗證網(wǎng)絡(luò)插件master01狀態(tài)變更為ready本課件是可編輯的正常PPT課件THANKS謝謝聆聽謝謝本課件是可編輯的正常PPT課件單元四
節(jié)點資源管理節(jié)點添加、刪除與重置本課件是可編輯的正常PPT課件-token和discovery-token-ca-cert-hash說明--token用于Master驗證Node身份可以使用kubeadmtokenlist命令查看--discovery-token-ca-cert-hash:用于Node驗證Master身份該值截取于主節(jié)點master01的CA的公鑰證書數(shù)據(jù),可以使用openssl命令查看:使用kubeadminit進行控制平面初始時的輸出內(nèi)容中存在如下信息:本課件是可編輯的正常PPT課件節(jié)點添加本課件是可編輯的正常PPT課件注意:由于kubeadm生成的token是有過期時間的,希望生成一個永久有效的token,可以使用--ttl0參數(shù),重新創(chuàng)建node節(jié)點和master節(jié)點的token:
kubeadmtokencreate--ttl=0驗證節(jié)點添加信息本課件是可編輯的正常PPT課件節(jié)點的刪除(主節(jié)點進行)與重置(工作節(jié)點進行)主節(jié)點上(刪除):工作節(jié)點上(重置)本課件是可編輯的正常PPT課件THANKS謝謝聆聽謝謝本課件是可編輯的正常PPT課件單元四
節(jié)點資源管理Kubeadm集群部署k8s小結(jié)本課件是可編輯的正常PPT課件部署kubernetes部署基礎(chǔ)環(huán)境Node加入mastermaster節(jié)點初始化Kubeadm集群部署k8s流程本課件是可編輯的正常PPT課件部署基礎(chǔ)環(huán)境0201030506VM上安裝配置ubuntuserver
節(jié)點selinux關(guān)閉
防火墻關(guān)閉
節(jié)點swap關(guān)閉
開啟bash參數(shù)自動補全使用vm克隆功能
將部署好的基礎(chǔ)環(huán)境作為模板克隆出三個工作節(jié)點,(一個主節(jié)點master01,兩個node節(jié)點work01,work02使用遠程登錄軟件登錄
修改ssh配置,開啟putty或其他遠程登錄軟件登錄所有節(jié)點節(jié)點安裝docker
節(jié)點獲取docker的
cgroups
節(jié)點配置iptables
配置鏡像加速器節(jié)點安裝kubeadm
安裝kubernetes的GPG證書
增加kubernetes的軟件源
配置系統(tǒng)內(nèi)核參數(shù)使流過網(wǎng)橋的流量進入iptables節(jié)點安裝kubectl和kubelet
版本必須與kubeadm相同,本教材是由1.20.4版本部署基礎(chǔ)環(huán)境04本課件是可編輯的正常PPT課件部署kubernetes各個節(jié)點配置主機名
各個節(jié)點配置IP地址配置hosts解析本課件是可編輯的正常PPT課件master節(jié)點初始化kubectl配置文件編輯集群控制平面配置文件來控制平面初始化更改ip地址更改集群名稱指定可訪問鏡像地址master節(jié)點初始化使用kubeadminit命令下載各個組件配置admin.conf文件,使kubectl連接到集群中使用kubectlgetnodes驗證狀態(tài)為notReadyKubernetes網(wǎng)絡(luò)配置安裝calico網(wǎng)絡(luò)插件kubectlapply命令安裝Calico網(wǎng)絡(luò)插件使用kubectlgetnodes驗證狀態(tài)為
Ready本課件是可編輯的正常PPT課件將node加入集群(node節(jié)點操作)使用kubeadmjoin命令將新節(jié)點加入集群在主節(jié)點使用kubectlgetnodes驗證狀態(tài)為Ready再master安裝成功后獲取的代碼在node上執(zhí)行將節(jié)點加入集群或者在控制節(jié)點通過kubeadmtokencreate命令重新創(chuàng)建新代碼。如果提示NotReady的話需要等node節(jié)點的鏡像都拉取完畢。顯示角色為代表它可以成為其他角色。至此Node節(jié)點配置完畢本課件是可編輯的正常PPT課件THANKS謝謝聆聽謝謝本課件是可編輯的正常PPT課件單元五
標簽Label與注解Annotation標簽Label本課件是可編輯的正常PPT課件Label概述Label的特點:一個Label會以key/value鍵值對的形式附加到各種對象上,如Node、Pod、Service等等一個資源對象可以定義任意數(shù)量的Label,同一個Label也可以被添加到任意數(shù)量的資源對象上去.Label通常在資源對象定義時確定,當然也可以在對象創(chuàng)建后勃態(tài)添加或者刪除可以通過Label實現(xiàn)資源的多維度分組,以便靈活、方便地進行資源分配、調(diào)度、配置、部署等管理工作。使用Label原因:當相同類型的資源越來越多,對資源劃分管理是很有必要,此時就可以使用Label為資源對象命名,以便于配置,部署等管理工作,提升資源的管理效率。label作用類似Java包能對不同文件分開管理,讓整體更加有條理,有利于維護。Label是kubernetes系統(tǒng)中的一個重要概念。它的作用就是在資源上添加標識,用來對它們進行區(qū)分和選擇。本課件是可編輯的正常PPT課件Label命名規(guī)范label必須以字母或數(shù)字開頭,可以使用字母、數(shù)字、連字符、點和下劃線,最長63個字符?!┏S玫腖abel示例版本標簽:"version":""release","version":"stable"......環(huán)境標簽:"environment":"dev","environment":"test","environment":"pro"架構(gòu)標簽:"tier":"frontend","tier"":"backend"Label概述本課件是可編輯的正常PPT課件kubernetes中標簽Label的查看、添加、更新、刪除命令語法標簽label使用語法本課件是可編輯的正常PPT課件標簽label示例的操作演示本課件是可編輯的正常PPT課件THANKS謝謝聆聽謝謝本課件是可編輯的正常PPT課件單元五
標簽Label與注解Annotation注解Annotation本課件是可編輯的正常PPT課件Annotation概述用Annotation來記錄的信息包括:build信息、release信息、Docker鏡像信息等,例如時間戳、releaseid號、PR號、鏡像hash值、dockerregistry地址等。日志庫、監(jiān)控庫、分析庫等資源庫的地址信息。程序調(diào)試工具信息,例如工具、版本號等。團隊等聯(lián)系信息,例如電話號碼、負責人名稱、網(wǎng)址等。Annotation的作用是可以將Kubernetes資源對象關(guān)聯(lián)到任意的非標識性元數(shù)據(jù)。使用客戶端(如工具和庫)可以檢索到這些元數(shù)據(jù)。。本課件是可編輯的正常PPT課件相似點不同點Annotation與Label類似,也使用key/value鍵值對的形式進行定義。Kubernetes提供了注解相關(guān)的命令,其語法與標簽完全一致,只是命令中使用的是kubectlannotate,而不是kubectllabel。Label和Annotation都可以將元數(shù)據(jù)關(guān)聯(lián)到Kubernetes資源對象。Label具有嚴格的命名規(guī)則,而annotation中的元數(shù)據(jù)可多可少,可以是結(jié)構(gòu)化的或非結(jié)構(gòu)化的,也可以包含label中不允許出現(xiàn)的字符。Labe主要用于選擇對象及選擇對象,而annotation則是用戶任意定義的附加信息,可以方便外部工具進行查找。不能用于標識及選擇對象VSAnnotation與label比較本課件是可編輯的正常PPT課件kubernetes中注解Anotation查看、添加、更新、刪除命令語法注解Annotation使用語法本課件是可編輯的正常PPT課件THANKS謝謝聆聽謝謝本課件是可編輯的正常PPT課件命名空間Namespace本課件是可編輯的正常PPT課件目錄/Contents命名空間概述命名空間查看命名空間創(chuàng)建與刪除020301本課件是可編輯的正常PPT課件命名空間概述01命名空間(namespace):Kubernetes支持多個虛擬集群,它們底層依賴于同一個物理集群。這些虛擬集群被稱為命名空間。本課件是可編輯的正常PPT課件命名空間的使用場景命名空間的使用場景:命名空間為資源的名稱提供了一個使用范圍。資源的名稱需要在命名空間內(nèi)是唯一的,但不能跨命名空間。命名空間不能相互嵌套,每個Kubernetes資源只能存在于一個命名空間中;命名空間是在多個用戶之間劃分集群資源的一種方法(通過資源配額)。對于只有幾到幾十個用戶的集群,根本不需要創(chuàng)建或考慮命名空間;不需要使用多個命名空間來分隔輕微不同的資源,例如同一軟件的不同版本??墒褂脴撕濴abel區(qū)分同一命名空間中的不同資源。本課件是可編輯的正常PPT課件命名空間查看02命令行查看本課件是可編輯的正常PPT課件默認Namespacekubectlgetnamespacesdefault:資源默認使用的名字空間;kube-system:Kubernetes系統(tǒng)創(chuàng)建對象時所使用的名字空間,可以理解為Windows系統(tǒng)中的C盤(系統(tǒng)盤);kube-public:該命名空間主要用于集群使用,以防某些資源在整個集群中應(yīng)該是可見和可讀的kube-node-lease:此命名空間用于與各個節(jié)點相關(guān)的租期(Lease)對象本課件是可編輯的正常PPT課件Namespace命令行——訪問指定命名空間資源kubectl-nkube-systemgetpods本課件是可編輯的正常PPT課件命名空間創(chuàng)建與刪除03命令行創(chuàng)建命令行刪除本課件是可編輯的正常PPT課件創(chuàng)建命名空間:
kubectlcreatenamespace<name>Namespace命令行——創(chuàng)建、刪除不同的團隊可以在不同的命名空間中發(fā)布應(yīng)用,互不影響。默認不同命名空間中的應(yīng)用可以互相訪問與通信。本課件是可編輯的正常PPT課件Namespace命令行——創(chuàng)建、刪除刪除命名空間:
kubectldeletenamespace<name>注意:可以刪除之前創(chuàng)建的ccit-cloud、ccit-sofware兩個命名空間,但是無法刪除四個初始命名空間。本課件是可編輯的正常PPT課件THANKS謝謝聆聽Namespace本課件是可編輯的正常PPT課件命名空間配置文件管理軟件技術(shù)專業(yè)群·
專業(yè)選修課本課件是可編輯的正常PPT課件目錄/ContentsYamlNamespace配置文件資源指定Namespace020301本課件是可編輯的正常PPT課件Yaml文件01本課件是可編輯的正常PPT課件Yaml文件yaml文件各字段的定義與解釋,可以使用kubeexplainnamespace命令查看apiVersion為API的版本號。Namespace表示其為命名空間資源metadata元數(shù)據(jù)用來標識API對象Spec表示對象的期望狀態(tài)Status表示對象的當前狀態(tài)本課件是可編輯的正常PPT課件Namespace配置文件02本課件是可編輯的正常PPT課件配置文件創(chuàng)建Namespace其中:apiVersion值為v1表示Namespace的版本信息Kind:Namespace表示其為命名空間資源,name字段則表示當前配置文件所描述的命名空間的名稱,這里為ccit-cloud。配置文件實現(xiàn)命名空間ccit-cloud的創(chuàng)建:根據(jù)配置文件創(chuàng)建資源命令:kubectlcreate-f<fileName>注意:使用kubectlcreate命令不可以創(chuàng)建兩個相同的資源。本課件是可編輯的正常PPT課件配置文件刪除Namesapce刪除命名空間:
kubectldelete–fnamespace.yaml【常識與技巧】:使用命令行進行諸如命名空間、Pod等Kubernetes資源的創(chuàng)建,可以用于小場景或測試場景。在實際生產(chǎn)運維過程中,往往需要正式部署之前進行充分的測試與驗證,通過測試與驗證之后,再在生產(chǎn)環(huán)境下進行部署,這便需要確保在生產(chǎn)環(huán)境下的部署包括輸入的命令在內(nèi)均是正確無誤的,使用腳本(例如yaml格式的配置文件)可以大大降低命令誤輸入的可能。本課件是可編輯的正常PPT課件資源指定Namespace03本課件是可編輯的正常PPT課件配置文件中指定Namespace1.根據(jù)namespace.yaml文件創(chuàng)建名為ccit-cloud的命名空間。2.編輯nginx_ccit-cloud.yaml,指定在命名空間為ccit-cloud中創(chuàng)建一個基于nginx鏡像的Pod。3.使用命令kubectlcreate–f<fileName>創(chuàng)建該Pod本課件是可編輯的正常PPT課件配置文件中指定Namespace命令kubectlgetpods,默認在命名空間default中查看資源。若要查看指定Namespace中的資源,需要通過“-n”參數(shù)進行指定,即:kubectlgetpods-nccit-cloud注意:刪除命名空間時,會將空間中所有資源一并刪除。本課件是可編輯的正常PPT課件THANKS謝謝聆聽Namespace本課件是可編輯的正常PPT課件Pod的概念及基礎(chǔ)操作軟件技術(shù)專業(yè)群·
專業(yè)選修課本課件是可編輯的正常PPT課件目錄/ContentsPod概述資源共享命令行操作配置文件操作多資源創(chuàng)建0203040501本課件是可編輯的正常PPT課件Pod(就像在豌豆莢中)是一組(一個或多個)容器;這些容器共享存儲、網(wǎng)絡(luò)等信息與資源Pod概述Pod是Kubernetes中可以創(chuàng)建和部署的最小也是最簡的單位;Pod中封裝著應(yīng)用的容器(有的情況下是好幾個容器),存儲、獨立的網(wǎng)絡(luò)IP,管理容器如何運行的策略選項;Pod代表著部署的一個單位;有些Pod具有Init容器和應(yīng)用容器。本課件是可編輯的正常PPT課件Pods的作用如下:方便管理:在Kubernetes中Pod是容器Container的載體,一個Pod里面擁有一個或多個容器Container,作為一個邏輯單元,方便管理;資源共享和通信:同一個Pod中的容器Container共享一個網(wǎng)絡(luò)棧和存儲,相互之間可以直接通過localhost進行通信,同時也共享同一塊存儲卷;Pod可以更換底層容器技術(shù)。為什么不直接使用容器?一個project需要運行多個容器;多容器需要像普通計算機中的進程一樣能夠彼此通信,能夠互相訪問數(shù)據(jù)存儲;一組容器中,如果一個容器“死亡”,其余容器狀態(tài)無法定義;本課件是可編輯的正常PPT課件網(wǎng)絡(luò)共享:每個Pod都會被分配一個唯一的IP地址。Pod中的所有容器共享網(wǎng)絡(luò)空間,包括IP地址和端口。;存儲共享:可為Pod指定多個共享的存儲Volume。Pod中的所有容器都可以訪問共享的Volume。Volume也可以用來持久化Pod中的存儲資源,以防容器重啟后文件丟失。Pod內(nèi)資源共享本課件是可編輯的正常PPT課件Pod的創(chuàng)建:kubectlrun--image=<imageName><podName>Pod的查看:kubectlgetpodsPod命令行操作——創(chuàng)建與查看由于Pod的啟動需要一定的時間與周期,因此起初pod-test處于ContainerCreating狀態(tài),隨后在Pod完全啟動之后,進入到Running狀態(tài)。本課件是可編輯的正常PPT課件查看所有命名空間中的pod:kubectlgetpods--all-namespacesPod命令行操作——查看所屬命名空間其中:NAMESPACE列給出了Pod所在的命名空間;RESTARTS列為重啟次數(shù)。這里的重啟次數(shù)是指容器的重啟次數(shù)本課件是可編輯的正常PPT課件刪除某個特定Pod:kubectldeletepod<podName>Pod命令行操作——刪除刪除某命名空間中所有Pod:kubectldelete--allpods–n<namespace_name>本課件是可編輯的正常PPT課件創(chuàng)建pod1.yaml文件:Pod配置文件該yaml文件描述了一個Pod資源(kind字段為Pod),Pod名為pod-nginx。Pod內(nèi)含有一個名為c-nginx的容器,容器對應(yīng)的鏡像為nginx。本課件是可編輯的正常PPT課件Pod配置文件——Pod創(chuàng)建kubectlcreate–f<yamlfile>命令可以看到在未指定命名空間的情況下,創(chuàng)建的Pod處于默認的default命名空間。創(chuàng)建名為test的命名空間;創(chuàng)建Pod時在命令行中通過-ntest參數(shù)指定在test命名空間中創(chuàng)建本課件是可編輯的正常PPT課件Pod配置文件——多資源創(chuàng)建創(chuàng)建pod2.yaml文件,文件內(nèi)容如下:使用“---”分隔資源;第一個資源描述test2命名空間資源;第二個資源描述pod-nginx,其在test2命令空間;使用kubectlcreate-fpod2.yaml文件創(chuàng)建了兩個資源:1、namespace/test22、pod/pod-nginx本課件是可編輯的正常PPT課件Pod配置文件——一個Pod多容器創(chuàng)建pod3.yaml文件,文件內(nèi)容如下:該配置文件中,containers字段含有兩個容器c-nginx與c-tomcat。每個-name項對應(yīng)于一個容器創(chuàng)建后等待一段時間,查看Pod資源信息,其READY列為2/2,即該Pod中有兩個容器本課件是可編輯的正常PPT課件THANKS謝謝聆聽集群部署與運維本課件是可編輯的正常PPT課件Pod的鏡像拉取與資源請求軟件技術(shù)專業(yè)群·
專業(yè)選修課本課件是可編輯的正常PPT課件目錄/Contents鏡像拉取與重啟策略0201不可壓縮資源03可壓縮資源本課件是可編輯的正常PPT課件kubectlgetpod<podName>-oyaml該命令可以查看指定Pod信息的yaml格式查看現(xiàn)存Pod的鏡像拉取與重啟策略如右圖所示:imagePullPolicy描述了Pod中容器的鏡像拉取策略;restartPolicy則描述了Pod的重啟策略。本課件是可編輯的正常PPT課件Pod的鏡像拉取與重啟策略鏡像拉取策略imagePullPolicy有三種取值:Always:不論本地是否已經(jīng)存在所需鏡像,每次均重新下載鏡像(默認);Never:僅使用本地鏡像,從不下載。若本地沒有所需鏡像,報錯;IfNotPresent:僅當本地沒有所需鏡像時,才從倉庫下載鏡像。重啟策略restartPolicy有三種取值:Always:除了Running狀態(tài)外,均重啟容器;OnFailure:失敗狀態(tài)才重啟容器;Never:無論失敗或完成(正常退出)狀態(tài),均不重啟容器。本課件是可編輯的正常PPT課件查看Pod中容器的重啟狀態(tài)上圖表明,當前運行于工作節(jié)點worker02之上的pod-nginx,其RESTARTS列的值為2,表示重啟了2次。在工作節(jié)點worker02之上,重啟Docker引擎:systemctlrestartdocker;再次回到主節(jié)點master01上查看當前系統(tǒng)中pod-nginx的擴展信息Docker引擎重啟,導(dǎo)致pod-nginx中的2個容器也隨之重啟,所以最終RESTARTS列的值為4本課件是可編輯的正常PPT課件Pod作為運行容器的資源,將占用其主機上的內(nèi)存、CPU等硬件資源。Metrics-Server是Kubernetes內(nèi)置自動伸縮管道的可伸縮、高效的容器資源度量來源Pod資源監(jiān)測Metrics-Server具體配置過程見操作手冊本課件是可編輯的正常PPT課件為防止某個應(yīng)用隨運行時間的推移,造成內(nèi)存等資源逐漸越占越多,影響整個服務(wù)器或其他應(yīng)用的資源使用(利如內(nèi)存不足、CPU過載等),需要對Pod所占用的資源在使用時加以一定的限制。資源請求與限制資源可以區(qū)分為可壓縮資源與不可壓縮資源兩種,如:內(nèi)存屬于不可壓縮資源CPU則屬于可壓縮資源本課件是可編輯的正常PPT課件不可壓縮資源指定資源限制,在resources字段中指定limits字段,如左側(cè)內(nèi)存限制上限為200Mi;指定資源請求,在resources字段中指定requests字段,如左側(cè)容器內(nèi)存請求為100Mi;該Pod中的容器使用了polinux/stress鏡像,其含有stress工具,以供進行壓力測試。配置文件中的args字段部分提供了容器啟動時的參數(shù),"--vm-bytes","150M"參數(shù)用于告知容器嘗試分配150MiB內(nèi)存。不可壓縮資源,可通過spec.containers.resources字段在Pod的配置文件中進行資源請求和限制本課件是可編輯的正常PPT課件不可壓縮資源創(chuàng)建并查看pod資源使用情況使用kubectltoppods命令查看memory-demo1資源的占用情況,memory-demo1占用了150Mi大小的內(nèi)存,符合memory-demo1.yaml配置文件中約定的資源請求與限制的要求本課件是可編輯的正常PPT課件思考與討論若將參數(shù)args中的“150M”修改為“250M”,所創(chuàng)建的pod會有怎樣的變化??本課件是可編輯的正常PPT課件思考與討論使用watch命令,每隔1秒,觀察pod的資源使用情況。從上圖中可以看到,pod的RESTARTS不斷增加,表明該pod在不斷重啟。對于不可壓縮資源,如果pod運行過程中占用資源超過限制,會自動刪除重新運行一個新的容器。對于可壓縮資源,若超過資源限制,則不會重啟,依然運行。本課件是可編輯的正常PPT課件可壓縮資源文件中請求為0.5CPU,限制為1CPU。參數(shù)args中CPU直接占用了2CPU,超過限制!可壓縮資源與不可壓縮資源一樣,可通過spec.containers.resources字段在Pod的配置文件中進行資源請求和限制本課件是可編輯的正常PPT課件可壓縮資源查看pod資源使用情況,可發(fā)現(xiàn)該pod并未重啟,且CPU被壓縮至999m(不足上限要求的1CPU)使用watch命令,每隔1秒觀察一次。一段時間后,同樣未見重啟,且CPU使用未大于1CPU。本課件是可編輯的正常PPT課件THANKS謝謝聆聽集群部署與運維本課件是可編輯的正常PPT課件容器登錄與資源修改軟件技術(shù)專業(yè)群·
專業(yè)選修課本課件是可編輯的正常PPT課件目錄/Contents容器登錄0201資源修改本課件是可編輯的正常PPT課件容器登錄Kubernetes提供容器登錄的命令kubectlexec,其格式如下:kubectlexec(POD|TYPE/NAME)[-cCONTAINER][flags]--COMMAND[args...]其中:POD:pod名稱-c:指定要登錄的容器名--COMMAND:登錄容器執(zhí)行的命令Flags中一般包括-i和-t兩個-i:將控制臺輸入發(fā)送到容器-t:將標準輸入控制臺作為容器的控制臺輸入示例:#若要在pod123456內(nèi)的容器hello-container中運行“date”并獲取輸出,則可以使用命令:$
kubectl
exec
123456–cruby-containerdate本課件是可編輯的正常PPT課件容器登錄container-demo.yaml配置文件內(nèi)設(shè)有兩個容器c-nginx與c-tomcat。在workloads-pods文件夾內(nèi)創(chuàng)建container-demo.yaml文件,其內(nèi)容如下:本課件是可編輯的正常PPT課件容器登錄使用命令登錄容器:kubectlexeccontainer-demo-it--bash注意:1、進入到容器后查看系統(tǒng)版本變?yōu)椤癉ebian”;2、container-demo中含有兩個容器c-nginx與c-tomcat,在本次登錄過程中未給出具體的容器名,僅使用Pod名container-demo,因此登錄到默認的第一個容器中c-nginx中??赏ㄟ^參數(shù)“-c”指定容器。本課件是可編輯的正常PPT課件Kubectlapplykubectlapply的作用是通過配置文件(例如yaml)或標準輸入將配置信息應(yīng)用于一個資源,該資源名必須被指定。若該資源不存在,則進行創(chuàng)建;若資源已存在,則嘗試更新。在workloads-pods文件夾內(nèi)創(chuàng)建apply-demo.yaml文件;在配置文件的metadata部分增加labels字段,內(nèi)容為app:nginx。本課件是可編輯的正常PPT課件Kubectlapply創(chuàng)建apply-demoPod,并查看標簽:修改apply-demo.yaml文件,將app:nginx改為app:nginx01。修改后,內(nèi)容如下此時使用kubectlcreate命令無法將修改生效,因為該pod已存在,無法被創(chuàng)建。本課件是可編輯的正常PPT課件Kubectlapply針對已經(jīng)存在的資源,僅修改配置的情況,可以通過kubectlapply實現(xiàn)。使用kubectlapply命令應(yīng)用配置之后,標簽變更為app=nginx01。由于kubectlapply既可以創(chuàng)建資源,又可以修改資源配置,所以在實際運維過程中,大部分情況下都直接使用kubectlapply而不是kubectlcreate。本課件是可編輯的正常PPT課件Kubectleditkubectledit命令的作用是通過默認編輯器vim編輯資源,命令格式如下:kubectledit(RESOURCE/NAME|-fFILENAME)通過kubectledit命令進入vim編輯器界面。其中包括該pod所有的資源類型配置信息。本課件是可編輯的正常PPT課件Kubectledit在kubectledit界面修改app:nginx01為app:nginx02,保存退出。再次查看pod的label信息:如上圖所示,該pod的標簽已改為app=nginx02本課件是可編輯的正常PPT課件Kubectlpatchkubectlpatch的作用是使用合并補?。ɡ鏙SON補丁)更新某資源的對應(yīng)字段(field)。其命令格式:kubectlpatch(-fFILENAME|TYPENAME)[-pPATCH|--patch-fileFILE]若要更新app:nginx02字段,首先要確定該字段的位置,通過命令:kubectlgetpodapply-demo-ojson可以json格式顯示配置文件{
"metadata":{
"labels":{
"app":
"nginx03“}}}本課件是可編輯的正常PPT課件Kubectlpatch使用kubectlpatchpodapply-demo-p'{"metadata":{"labels":{"app":"nginx03"}}}'命令,修改標簽值為nginx03如上圖所示,apply-demo的標簽已經(jīng)修改為nginx03本課件是可編輯的正常PPT課件THANKS謝謝聆聽集群部署與運維本課件是可編輯的正常PPT課件特殊pod及pod的階段狀態(tài)軟件技術(shù)專業(yè)群·
專業(yè)選修課本課件是可編輯的正常PPT課件目錄/ContentsInit容器0201靜態(tài)Pod03Pod的階段狀態(tài)本課件是可編輯的正常PPT課件Init容器01本課件是可編輯的正常PPT課件Init容器Init容器(InitContainer)是一種特殊容器,每個Pod中可以有一個或多個Init容器。其具有以下個性:每個Init容器總是運行到完成;每個Init容器都必須在下一個Init容器啟動之前成功完成。注意:如果Pod的Init容器失敗,kubelet會不斷地重啟該Init容器直到該容器成功為止;如果Pod對應(yīng)的restartPolicy值為"Never",Kubernetes將不會重新啟動Pod。本課件是可編輯的正常PPT課件Init容器的作用因為Init容器具有與應(yīng)用容器分離的單獨鏡像,其啟動相關(guān)代碼具有如下優(yōu)勢:1、Init容器可以包含一些僅在安裝過程中使用到的軟件工具;2、Init容器中的軟件工具,不會降低應(yīng)用鏡像的安全性;3、應(yīng)用鏡像的創(chuàng)建者和部署者可以各自獨自工作;4、Init容器能以不同于Pod內(nèi)應(yīng)用容器的文件系統(tǒng)視圖運行;5、kubernetes提供一種機制保證Init容器啟動成功后,再并行啟動其他所有應(yīng)用容器。本課件是可編輯的正常PPT課件Init容器在workloads-pods文件夾內(nèi)創(chuàng)建init-demo.yaml文件,內(nèi)容如下:busybox鏡像將若干常見的Unix工具集成到一起;配置文件中,存在兩個initContainer(Init容器)和一個應(yīng)用容器myapp-ctr。本課件是可編輯的正常PPT課件Init容器啟動過程為先運行init01,待init01結(jié)束之后,運行init02,然后待init02結(jié)束之后,再運行containers中的myapp-ctr。本課件是可編輯的正常PPT課件靜態(tài)Pod02本課件是可編輯的正常PPT課件靜態(tài)pod靜態(tài)Pod(StaticPod)由特定節(jié)點上的kubelet守護進程直接管理,而不需要APIServer進行管理。其具有以下特點:kubelet監(jiān)視每個靜態(tài)Pod(如果它崩潰,則重新啟動它),靜態(tài)Pods總是綁定到特定節(jié)點上的一個Kubelet;kubelet守護進程會自動嘗試在KubernetesAPIServer上為每個靜態(tài)Pod創(chuàng)建一個鏡像Pod;使用kubeadm部署Kubernetes集群的靜態(tài)Pod,其配置文件存儲路徑默認為:/etc/kubernetes/manifests/;kubelet守護進程會定期的掃描默認存儲文件夾下的yaml/json文件來創(chuàng)建/刪除靜態(tài)Pod。本課件是可編輯的正常PPT課件靜態(tài)pod——創(chuàng)建靜態(tài)pod在工作節(jié)點worker02的/etc/kubernetes/manifests/目錄(若不存在則創(chuàng)建)下創(chuàng)建static-pod-demo.yaml文件,內(nèi)容如下:該文件與之前使用的Pod配置文件基本一致;本課件是可編輯的正常PPT課件靜態(tài)pod——創(chuàng)建靜態(tài)podWorker02節(jié)點上的文件保存后,在主節(jié)點master01上直接查看pod信息:可以觀察到工作節(jié)點worker02上存在一個名為static-web-worker02的Pod。靜態(tài)Pod名是在Pod相對應(yīng)的配置文件中的Pod名基礎(chǔ)之上附加了“-<節(jié)點名>”構(gòu)成的;結(jié)論:創(chuàng)建靜態(tài)pod,只需將pod所對應(yīng)的yaml或json配置文件放到特定目錄下,該節(jié)點的kubelet守護進程會直接使用該配置文件創(chuàng)建相應(yīng)pod,并可以在主節(jié)點上查看到相應(yīng)的Pod狀態(tài),甚至可以通過kubectlexec命令進行登錄與訪問。本課件是可編輯的正常PPT課件靜態(tài)pod——刪除靜態(tài)pod刪除靜態(tài)Pod也相對簡單,僅需要在之前部署的節(jié)點的特定目錄中刪除靜態(tài)Pod相對應(yīng)的yaml或json文件,則相應(yīng)的Pod便自動刪除了結(jié)論:刪除靜態(tài)pod,只需在相應(yīng)節(jié)點的特定目錄下,刪除相關(guān)pod的yaml或json配置文件即可。本課件是可編輯的正常PPT課件Pod的階段狀態(tài)03本課件是可編輯的正常PPT課件Pod的階段狀態(tài)Pending(懸決):有一個或者多個容器正在創(chuàng)建中;Running(運行中):所有容器都被創(chuàng)建,且至少一個容器正常運行;Succeeded(成功):Pod中的所有容器都已成功終止,并且不會再重啟;Failed(失?。篜od中的所有容器都已終止,至少有一個容器是因為失敗終止。Unknown(未知):因為某些原因無法取得Pod的狀態(tài)。這種情況通常是因為與Pod所在主機通信失敗。在使用kubectlgetpods命令的輸出中,列STATUS的值表示Pod所處的階段狀態(tài)。Pod的階段Phase狀態(tài)可能值如下:本課件是可編輯的正常PPT課件THANKS謝謝聆聽集群部署與運維本課件是可編輯的正常PPT課件控制器概述及ReplicaSet軟件技術(shù)專業(yè)群·
專業(yè)選修課本課件是可編輯的正常PPT課件目錄/Contents控制器概述0201ReplicaSet控制器本課件是可編輯的正常PPT課件控制器概述01本課件是可編輯的正常PPT課件控制器在Kubernetes中,控制器通過監(jiān)控集群的公共狀態(tài),并致力于將當前狀態(tài)轉(zhuǎn)變?yōu)槠谕臓顟B(tài),根據(jù)不同的應(yīng)用場景分為以下控制器:ReplicaSet:用于實現(xiàn)Pod副本數(shù)的管理;Deployment:常用的控制器對象,通過管理ReplicaSet實現(xiàn)更高級的功能,適合用來管理集群上的無狀態(tài)應(yīng)用;StatefulSet:用于保證有狀態(tài)應(yīng)用的副本數(shù),能夠運行一個或者多個以某種方式跟蹤應(yīng)用狀態(tài)的Pods;DaemonSet:其將在每個節(jié)點上都運行一個Pod,提供節(jié)點本地支撐設(shè)施的Pods;Job:用于執(zhí)行一次性任務(wù);CronJob:用于根據(jù)其時間規(guī)劃反復(fù)運行任務(wù)。本課件是可編輯的正常PPT課件ReplicaSet控制器02本課件是可編輯的正常PPT課件ReplicaSet控制器ReplicaSet的目標是在任何給定時刻,其均可維護一組處于運行狀態(tài)的Pod,以使這些Pod的副本數(shù)達到預(yù)期。應(yīng)用場景:通常用來保證給定數(shù)量的、完全相同的Pod的可用性。原理:ReplicaSet通過選擇器Selector和標簽Label確定Pod的數(shù)量。ReplicaSet的yaml文件里的字段replicas是指控制器應(yīng)該維護的Pod副本數(shù)量。當ReplicSet需要創(chuàng)建新的Pod副本時會使用yaml文件里的Pod模板,也即template字段。本課件是可編輯的正常PPT課件ReplicaSet控制器——配置文件在主節(jié)點master01上創(chuàng)建controllers文件夾,在其中創(chuàng)建replicaset-demo.yaml文件,內(nèi)容如下:注意:selector的matchLabels要與template的labels相匹配;在yaml文件中,#字符表示注釋。本課件是可編輯的正常PPT課件ReplicaSet控制器——創(chuàng)建根據(jù)配置文件創(chuàng)建該replicaset,查看pod信息可發(fā)現(xiàn):此時系統(tǒng)中存在三個pod,同屬于一個replicaset,labels都為app=nginx-pod,運行于不同的節(jié)點上。本課件是可編輯的正常PPT課件ReplicaSet控制器——維持副本數(shù)若刪除掉其中一個pod副本,replicaset控制器將根據(jù)template模板重新創(chuàng)建一個新的pod。rs-nginx-7sp7q是被刪除的pod;rs-nginx-fm579是重新創(chuàng)建的pod。本課件是可編輯的正常PPT課件ReplicaSet控制器——擴縮容使用kubectlscalereplicaset--replicas=<number><replicaSetName>命令進行擴縮容。注意:副本數(shù)縮容至0,并不意味著控制器被刪除,重新設(shè)置大于0的副本數(shù),系統(tǒng)仍會自動創(chuàng)建pod。本課件是可編輯的正常PPT課件ReplicaSet控制器——刪除直接使用kubectldeletepods<podName>無法刪除replicaset控制器,需要使用命令:kubectldeletereplicasets.app<replicaSetName>刪除后,即使改變副本數(shù)量報錯:找不到該控制器,證明已完全刪除。本課件是可編輯的正常PPT課件THANKS謝謝聆聽集群部署與運維本課件是可編輯的正常PPT課件Deployment控制器創(chuàng)建與更新管理軟件技術(shù)專業(yè)群·
專業(yè)選修課本課件是可編輯的正常PPT課件目錄/ContentsDeployment概述0201創(chuàng)建與副本數(shù)管理03更新與回滾更新暫停與恢復(fù)0504更新狀態(tài)查詢本課件是可編輯的正常PPT課件Deployment概述01本課件是可編輯的正常PPT課件Deployment控制器Deployment控制器通過管理ReplicaSet控制器來實現(xiàn)更多的功能,可以看作是ReplicaSet的升級版本。其典型應(yīng)用場景有:創(chuàng)建Deployment以將ReplicaSet上線。通過更新Deployment的PodTemplateSpec,聲明Pod的新狀態(tài)。如果Deployment的當前狀態(tài)不穩(wěn)定,回滾到較早的Deployment版本。每次回滾都會更新Deployment的修訂版本;擴大Deployment規(guī)模以承擔更多負載;暫停Deployment以應(yīng)用對PodTemplateSpec所作的多項修改,然后恢復(fù)其執(zhí)行以啟動新的上線版本;使用Deployment狀態(tài)來判定上線過程是否出現(xiàn)停滯;清理較舊的不再需要的ReplicaSet。本課件是可編輯的正常PPT課件創(chuàng)建與副本數(shù)管理02本課件是可編輯的正常PPT課件controllers文件夾內(nèi)創(chuàng)建deployment-demo1.yaml文件,內(nèi)容如下:Deployment控制器的創(chuàng)建Deployment的配置文件與replicaset基本一致,僅kind由replicaset改為deployment;該示例中,nginx的鏡像使用1.14.2版本。本課件是可編輯的正常PPT課件創(chuàng)建deployment控制器,同時觀察啟動過程中replicaset控制器和labels的情況Deployment控制器的創(chuàng)建注意:Deployment控制器創(chuàng)建的同時,系統(tǒng)中有一個名為deployment-ngxin-<隨機數(shù)字>的replicaset控制器被創(chuàng)建;Deployment控制器會自動給pod添加一個標簽,該標簽的值為replicaset名稱后的<隨機數(shù)字>。本課件是可編輯的正常PPT課件Deployment副本控制注意:創(chuàng)建dp-nginxPod,僅賦予其標簽app=nginx,可照常運行;當賦予dp-nginxPod第二個標簽 pod-template-hash=66b6c48dd5,deployment直接將AGE最短的Pod進行了回收,保持副本數(shù)與期望值一致。本課件是可編輯的正常PPT課件Deployment擴縮容執(zhí)行縮容命令后,待回收Pod的狀態(tài)變?yōu)門erminating;若執(zhí)行擴容,即副本數(shù)大于當前已有副本數(shù),則待創(chuàng)建Pod的狀態(tài)為ContainerCreating。使用kubectlscaledeployment--replicas=<Number><deploymentName>命令進行擴縮容本課件是可編輯的正常PPT課件更新與回滾03本課件是可編輯的正常PPT課件Deployment更新Deployment控制器的更新是指Deployment的Pod模板(即.spec.template)發(fā)生改變時,例如模板的標簽或容器鏡像被更新,才會觸發(fā)Deployment上線。注意:該配置文件中指定創(chuàng)建的deployment控制器與系統(tǒng)中已存在的deployment-nginx有以下關(guān)聯(lián):Pod名一致;標簽一致;副本數(shù)量一致;僅容器鏡像版本從1.14.2變?yōu)?.16.1。本課件是可編輯的正常PPT課件Deployment更
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)學知識大搜索:腎臟科面試題資源
- 金融分析師求職者面試實戰(zhàn)題庫設(shè)計
- 芯片測試數(shù)據(jù)分析
- 煙草行業(yè)面試題庫:新政策與趨勢分析
- 財會專業(yè)面試常見問題及答案解析
- 《迎接期末考試》主題班會
- 教育行業(yè)考試必 備:葉縣招教面試題庫資料
- 線性回歸數(shù)值解讀
- 強心藥物概述
- 生殖醫(yī)學進修心得
- 箱式變電站技術(shù)規(guī)范書
- 有軌電車交通工程設(shè)施設(shè)計規(guī)范
- 施工安全村民告知書
- 快速入門穿越機-讓你迅速懂穿越機
- 廣州南方學院(原中山大學南方學院)學校辦公室新聞宣傳中心新聞管理崗招聘公開引進高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
- 兒童呼吸機基本使用
- 起重機械安全日管控、周排查、月調(diào)度制度
- 派出所民警心理健康輔導(dǎo)
- 民事訴訟法課件
- 柿子醋生產(chǎn)技術(shù)規(guī)程
- 脊髓損傷病人的護理查房課件
評論
0/150
提交評論