Kubernetes(容器編排引擎)
1.14 正式版- 軟件大?。?span itemprop="fileSize">34.1 MB
- 更新日期:2019-03-29
- 軟件語(yǔ)言:簡(jiǎn)體中文
- 軟件類(lèi)別:編程工具
- 軟件授權(quán):免費(fèi)軟件
- 軟件官網(wǎng):未知
- 適用平臺(tái):WinXP, Win7, Win8, Win10, WinAll
- 軟件廠(chǎng)商:
軟件介紹人氣軟件相關(guān)文章網(wǎng)友評(píng)論下載地址
Kubernetes是Google公司開(kāi)發(fā)的容器編排軟件,可以幫助用戶(hù)在軟件上開(kāi)發(fā)程序,可以設(shè)計(jì)程序組,可以設(shè)計(jì)邏輯單元,可以通過(guò)建立集群的方式擴(kuò)展程序,內(nèi)置的功能很多,適合開(kāi)發(fā)企業(yè)擴(kuò)展程序,由于這款軟件是開(kāi)源的,所以開(kāi)發(fā)人員可以隨意添加自己的程序組,可以將擴(kuò)展內(nèi)容部署到云端或者是服務(wù)器;這款軟件安裝部署還是比較復(fù)雜的,用戶(hù)可以到軟件查看開(kāi)發(fā)文檔,也可以md文件了解相關(guān)模塊介紹!
軟件功能
全球規(guī)模
基于允許 Google 每周運(yùn)行數(shù)十億個(gè)容器的原則進(jìn)行設(shè)計(jì),Kubernetes 可以在不增加您的運(yùn)維團(tuán)隊(duì)的情況下進(jìn)行彈性擴(kuò)展。
永不過(guò)時(shí)
無(wú)論您應(yīng)用運(yùn)行在本地還是運(yùn)行于全球任何地域,Kubernetes 的靈活性都可以隨著您的需求復(fù)雜度不斷增加,還可以持續(xù)、輕松地對(duì)外提供服務(wù)。
隨處運(yùn)行
Kubernetes 是開(kāi)源的,可以讓您自由地部署在企業(yè)內(nèi)部,私有云、混合云或公有云基礎(chǔ)架構(gòu),使您輕松將應(yīng)用遷移至任何位置。
軟件特色
要使用 Kubernetes,你需要用 Kubernetes API 對(duì)象 來(lái)描述集群的預(yù)期狀態(tài)(desired state) :包括你需要運(yùn)行的應(yīng)用或者負(fù)載,它們使用的鏡像、副本數(shù),以及所需網(wǎng)絡(luò)和磁盤(pán)資源等等。你可以使用命令行工具 kubectl 來(lái)調(diào)用 Kubernetes API 創(chuàng)建對(duì)象,通過(guò)所創(chuàng)建的這些對(duì)象來(lái)配置預(yù)期狀態(tài)。你也可以直接調(diào)用 Kubernetes API 和集群進(jìn)行交互,設(shè)置或者修改預(yù)期狀態(tài)。
一旦你設(shè)置了你所需的目標(biāo)狀態(tài),Kubernetes 控制面(control plane) 會(huì)促成集群的當(dāng)前狀態(tài)符合其預(yù)期狀態(tài)。為此,Kubernetes 會(huì)自動(dòng)執(zhí)行各類(lèi)任務(wù),比如運(yùn)行或者重啟容器、調(diào)整給定應(yīng)用的副本數(shù)等等。Kubernetes 控制面由一組運(yùn)行在集群上的進(jìn)程組成:
Kubernetes 主控組件(Master) 包含三個(gè)進(jìn)程,都運(yùn)行在集群中的某個(gè)節(jié)上,通常這個(gè)節(jié)點(diǎn)被稱(chēng)為 master 節(jié)點(diǎn)。這些進(jìn)程包括:kube-apiserver、kube-controller-manager和kube-scheduler。
集群中的每個(gè)非 master 節(jié)點(diǎn)都運(yùn)行兩個(gè)進(jìn)程:
kubelet,和 master 節(jié)點(diǎn)進(jìn)行通信。
kube-proxy,一種網(wǎng)絡(luò)代理,將 Kubernetes 的網(wǎng)絡(luò)服務(wù)代理到每個(gè)節(jié)點(diǎn)上。
Kubernetes 對(duì)象
安裝kubeadm
準(zhǔn)備開(kāi)始
一臺(tái)或多臺(tái)運(yùn)行著下列系統(tǒng)的機(jī)器:
Ubuntu 16.04+
Debian 9
CentOS 7
RHEL 7
Fedora 25/26 (盡力服務(wù))
HypriotOS v1.0.1+
Container Linux (針對(duì)1800.6.0 版本測(cè)試)
每臺(tái)機(jī)器 2 GB 或更多的 RAM (如果少于這個(gè)數(shù)字將會(huì)影響您應(yīng)用的運(yùn)行內(nèi)存)
2 CPU 核心或更多
集群中的所有機(jī)器的網(wǎng)絡(luò)彼此均能相互連接(公網(wǎng)和內(nèi)網(wǎng)都可以)
節(jié)點(diǎn)之中不可以有重復(fù)的主機(jī)名,MAC 地址,product_uuid。更多詳細(xì)信息請(qǐng)參見(jiàn)這里 。
開(kāi)啟主機(jī)上的一些特定端口. 更多詳細(xì)信息請(qǐng)參見(jiàn)這里。
禁用 Swap 交換分區(qū)。為了保證 kubelet 正確運(yùn)行,您 必須 禁用交換分區(qū)。
確保每個(gè)節(jié)點(diǎn)上 MAC 地址和 product_uuid 的唯一性。
您可以使用下列命令獲取網(wǎng)絡(luò)接口的 MAC 地址:ip link 或是 ifconfig -a下列命令可以用來(lái)獲取 product_uuid sudo cat /sys/class/dmi/id/product_uuid一般來(lái)講,硬件設(shè)備會(huì)擁有獨(dú)一無(wú)二的地址,但是有些虛擬機(jī)可能會(huì)雷同。Kubernetes 使用這些值來(lái)唯一確定集群中的節(jié)點(diǎn)。如果這些值在集群中不唯一,可能會(huì)導(dǎo)致安裝失敗。
檢查網(wǎng)絡(luò)適配器
如果您有一個(gè)以上的網(wǎng)絡(luò)適配器,同時(shí)您的 Kubernetes 組件通過(guò)默認(rèn)路由不可達(dá),我們建議您預(yù)先添加 IP 路由規(guī)則,這樣 Kubernetes 集群就可以通過(guò)對(duì)應(yīng)的適配器完成連接。
檢查所需端口
Master 節(jié)點(diǎn)
NodePort 服務(wù) 的默認(rèn)端口范圍。
任何使用 * 標(biāo)記的端口號(hào)都有可能被覆蓋,所以您需要保證您的自定義端口的狀態(tài)是開(kāi)放的。
雖然主節(jié)點(diǎn)已經(jīng)包含了 etcd 的端口,您也可以使用自定義的外部 etcd 集群,或是指定自定義端口。 您使用的 pod 網(wǎng)絡(luò)插件 (見(jiàn)下) 也可能需要某些特定端口開(kāi)啟。由于各個(gè) pod 網(wǎng)絡(luò)插件都有所不同,請(qǐng)參閱他們各自文檔中對(duì)端口的要求。
安裝 runtime
從 v1.6.0 起,Kubernetes 開(kāi)始允許使用 CRI,容器運(yùn)行時(shí)接口。默認(rèn)的容器運(yùn)行時(shí)是 Docker,這是由 kubelet 內(nèi)置的 CRI 實(shí)現(xiàn) dockershim 開(kāi)啟的。
其他的容器運(yùn)行時(shí)有:
containerd (containerd 的內(nèi)置 CRI 插件)
cri-o
frakti
rkt
參考 CRI 安裝指南 獲取更多信息.
安裝 kubeadm, kubelet 和 kubectl
您需要在每臺(tái)機(jī)器上都安裝以下的軟件包:
kubeadm: 用來(lái)初始化集群的指令。
kubelet: 在集群中的每個(gè)節(jié)點(diǎn)上用來(lái)啟動(dòng) pod 和 container 等。
kubectl: 用來(lái)與集群通信的命令行工具。
kubeadm 不能 幫您安裝或管理 kubelet 或 kubectl ,所以您得保證他們滿(mǎn)足通過(guò) kubeadm 安裝的 Kubernetes 控制層對(duì)版本的要求。如果版本沒(méi)有滿(mǎn)足要求,就有可能導(dǎo)致一些難以想到的錯(cuò)誤或問(wèn)題。然而控制層與 kubelet 間的 小版本號(hào) 不一致無(wú)傷大雅,不過(guò)請(qǐng)記住 kubelet 的版本不可以超過(guò) API server 的版本。例如 1.8.0 的 API server 可以適配 1.7.0 的 kubelet,反之就不行了。
kubelet 現(xiàn)在每隔幾秒就會(huì)重啟,因?yàn)樗萑肓艘粋€(gè)等待 kubeadm 指令的死循環(huán)。
在 Master 節(jié)點(diǎn)上配置 kubelet 所需的 cgroup 驅(qū)動(dòng)
使用 Docker 時(shí),kubeadm 會(huì)自動(dòng)為其檢測(cè) cgroup 驅(qū)動(dòng)在運(yùn)行時(shí)對(duì) /var/lib/kubelet/kubeadm-flags.env 文件進(jìn)行配置。 如果您使用了不同的 CRI, 您得把 /etc/default/kubelet文件中的 cgroup-driver 位置改為對(duì)應(yīng)的值,像這樣:
KUBELET_EXTRA_ARGS=--cgroup-driver=
這個(gè)文件將會(huì)被 kubeadm init 和 kubeadm join 用于為 kubelet 獲取 額外的用戶(hù)參數(shù)。
請(qǐng)注意,您只需要在您的 cgroup driver 不是 cgroupfs 時(shí)這么做,因?yàn)?cgroupfs 已經(jīng)是 kubelet 的默認(rèn)值了。
需要重啟 kubelet:
systemctl daemon-reload
systemctl restart kubelet
使用 kubeadm 創(chuàng)建一個(gè)單主集群
kubeadm 能幫助您建立一個(gè)小型的符合最佳實(shí)踐的 Kubernetes 集群。通過(guò)使用 kubeadm, 您的集群會(huì)符合 Kubernetes 合規(guī)性測(cè)試的要求. Kubeadm 也支持其他的集群生命周期操作,比如升級(jí)、降級(jí)和管理啟動(dòng)引導(dǎo)令牌。
因?yàn)槟梢栽诓煌?lèi)型的機(jī)器(比如筆記本、服務(wù)器和樹(shù)莓派等)上安裝 kubeadm,因此它非常適合與 Terraform 或 Ansible 這類(lèi)自動(dòng)化管理系統(tǒng)集成。
kubeadm 的簡(jiǎn)單便捷為大家?guī)?lái)了廣泛的用戶(hù)案例:
新用戶(hù)可以從 kubeadm 開(kāi)始來(lái)試用 Kubernetes。
熟悉 Kubernetes 的用戶(hù)可以使用 kubeadm 快速搭建集群并測(cè)試他們的應(yīng)用。
大型的項(xiàng)目可以將 kubeadm 和其他的安裝工具一起形成一個(gè)比較復(fù)雜的系統(tǒng)。
kubeadm 的設(shè)計(jì)初衷是為新用戶(hù)提供一種便捷的方式來(lái)首次試用 Kubernetes, 同時(shí)也方便老用戶(hù)搭建集群測(cè)試他們的應(yīng)用。 此外 kubeadm 也可以跟其它生態(tài)系統(tǒng)與/或安裝工具集成到一起,提供更強(qiáng)大的功能。
您可以很方便地在支持 rpm 或 deb 軟件包的操作系統(tǒng)上安裝 _kubeadm_。對(duì)應(yīng) kubeadm 的 SIG, SIG Cluster Lifecycle, 提供了預(yù)編譯的這類(lèi)安裝包,當(dāng)然您也可以自己基于源碼為其它操作系統(tǒng)來(lái)構(gòu)造安裝包。
kubeadm 成熟程度
kubeadm 的整體功能目前還是 Beta 狀態(tài),然而很快在 2018 年就會(huì)轉(zhuǎn)換成正式發(fā)布 (GA) 狀態(tài)。 一些子功能,比如自托管或者配置文件 API 還在開(kāi)發(fā)過(guò)程當(dāng)中。 隨著工具的發(fā)展,創(chuàng)建集群的方法可能會(huì)有所變化,但是整體部署方案還是比較穩(wěn)定的。 在 kubeadm alpha 下面的任何命令都只是 alpha 狀態(tài),目前只提供初期階段的服務(wù)。
維護(hù)周期
Kubernetes 發(fā)現(xiàn)版本的通常只維護(hù)支持九個(gè)月,在維護(hù)周期內(nèi),如果發(fā)現(xiàn)有比較重大的 bug 或者安全問(wèn)題的話(huà), 可能會(huì)發(fā)布一個(gè)補(bǔ)丁版本。下面是 Kubernetes 的發(fā)布和維護(hù)周期,同時(shí)也適用于 kubeadm。
準(zhǔn)備開(kāi)始
一個(gè)或者多個(gè)兼容 deb 或者 rpm 軟件包的操作系統(tǒng),比如 Ubuntu 或者 CentOS
每臺(tái)機(jī)器 2 GB 以上的內(nèi)存,內(nèi)存不足時(shí)應(yīng)用會(huì)受限制
主節(jié)點(diǎn)上 2 CPU 以上
集群里所有的機(jī)器有完全的網(wǎng)絡(luò)連接,公有網(wǎng)絡(luò)或者私有網(wǎng)絡(luò)都可以
目標(biāo)
搭建一個(gè)單主 Kubernetes 集群或者高可用集群
在集群上安裝 Pod 網(wǎng)絡(luò)組件以便 Pod 之間可以互相通信
步驟
在您的機(jī)器上安裝 kubeadm
請(qǐng)查閱安裝 kubeadm。
Note:
注意: 如果您的機(jī)器已經(jīng)安裝了 kubeadm, 請(qǐng)運(yùn)行 apt-get update && apt-get upgrade 或者 yum update 來(lái)升級(jí)至最新版本的 kubeadm.
升級(jí)過(guò)程中,kubelet 會(huì)每隔幾秒鐘重啟并陷入了不斷循環(huán)等待 kubeadm 發(fā)布指令的狀態(tài)。 這個(gè)死循環(huán)的過(guò)程是正常的,當(dāng)升級(jí)并初始化完成您的主節(jié)點(diǎn)之后,kubelet 才會(huì)正常運(yùn)行。
初始化您的主節(jié)點(diǎn)
主節(jié)點(diǎn)是集群里運(yùn)行控制面的機(jī)器,包括 etcd (集群的數(shù)據(jù)庫(kù))和 API 服務(wù)(kubectl CLI 與之交互)。
選擇一個(gè) Pod 網(wǎng)絡(luò)插件,并檢查是否在 kubeadm 初始化過(guò)程中需要傳入什么參數(shù)。這個(gè)取決于 您選擇的網(wǎng)絡(luò)插件,您可能需要設(shè)置 --Pod-network-cidr 來(lái)指定網(wǎng)絡(luò)驅(qū)動(dòng)的 CIDR。請(qǐng)參閱安裝網(wǎng)絡(luò)插件。
(可選) 除非特別指定,kubeadm 會(huì)使用默認(rèn)網(wǎng)關(guān)所在的網(wǎng)絡(luò)接口廣播其主節(jié)點(diǎn)的 IP 地址。若需使用其他網(wǎng)絡(luò)接口,請(qǐng) 給 kubeadm init 設(shè)置 --apiserver-advertise-address= 參數(shù)。如果需要部署 IPv6 的集群,則需要指定一個(gè) IPv6 地址,比如 --apiserver-advertise-address=fd00::101。
(可選) 在運(yùn)行 kubeadm init 之前請(qǐng)先執(zhí)行 kubeadm config images pull 來(lái)測(cè)試與 gcr.io 的連接。
現(xiàn)在運(yùn)行:
kubeadm init
如果需要再次運(yùn)行 kubeadm init,您必須先卸載集群。
如果您需要將不同架構(gòu)的節(jié)點(diǎn)加入您的集群,請(qǐng)單獨(dú)在這類(lèi)節(jié)點(diǎn)上為 kube-proxy 和 kube-dns 創(chuàng)建 Deployment 或 DaemonSet。 這是因?yàn)檫@些組件的 Docker 鏡像并不支持多架構(gòu)。
kubeadm init 首先會(huì)執(zhí)行一系列的運(yùn)行前檢查來(lái)確保機(jī)器滿(mǎn)足運(yùn)行 Kubernetes 的條件。 這些檢查會(huì)拋出警告并在發(fā)現(xiàn)錯(cuò)誤的時(shí)候終止整個(gè)初始化進(jìn)程。 然后 kubeadm init 會(huì)下載并安裝集群的控制面組件,這可能會(huì)花費(fèi)幾分鐘時(shí)間,其輸出如下所示:
如果需要讓普通用戶(hù)可以運(yùn)行 kubectl,請(qǐng)運(yùn)行如下命令,其實(shí)這也是 kubeadm init 輸出的一部分:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
或者,如果您是 root 用戶(hù),則可以運(yùn)行:
export KUBECONFIG=/etc/kubernetes/admin.conf
請(qǐng)備份好 kubeadm init 輸出中的 kubeadm join 命令,因?yàn)槟鷷?huì)需要這個(gè)命令來(lái)給集群添加節(jié)點(diǎn)。
令牌是主節(jié)點(diǎn)和新添加的節(jié)點(diǎn)之間進(jìn)行相互身份驗(yàn)證的,因此請(qǐng)確保其安全。任何人只要知道了這些令牌,就可以隨便給您的集群添加節(jié)點(diǎn)。 可以使用 kubeadm token 命令來(lái)列出、創(chuàng)建和刪除這類(lèi)令牌。 請(qǐng)參閱kubeadm 參考指南。
安裝 Pod 網(wǎng)絡(luò)插件
Caution: 注意: 這一節(jié)包含了安裝和部署順序的重要信息,執(zhí)行之前請(qǐng)仔細(xì)閱讀。
您必須先安裝 Pod 網(wǎng)絡(luò)插件,以便您的 Pod 可以互相通信。
網(wǎng)絡(luò)必須在部署任何應(yīng)用之前部署好。此外,在網(wǎng)絡(luò)安裝之前是 CoreDNS 不會(huì)啟用的。 kubeadm 只支持基于容器網(wǎng)絡(luò)接口(CNI)的網(wǎng)絡(luò)而且不支持 kubenet 。
有一些項(xiàng)目為 Kubernetes 提供使用 CNI 的 Pod 網(wǎng)絡(luò),其中一些也支持網(wǎng)絡(luò)策略. 請(qǐng)參閱插件頁(yè)面了解可用網(wǎng)絡(luò)插件的完整列表。 - CNI v0.6.0 也提供了 IPv6 的支持。 - CNI 網(wǎng)橋 和 local-ipam 是 Kubernetes 1.9 版本里提供的唯一支持 IPv6 的網(wǎng)絡(luò)插件。
注意 kubeadm 默認(rèn)會(huì)創(chuàng)建一個(gè)比較安全的集群并強(qiáng)制啟用RBAC。 請(qǐng)確保您的網(wǎng)絡(luò)方案支持 RBAC。
您可以使用下列命令安裝網(wǎng)絡(luò)插件:
下載地址
-
Kubernetes(容器編排引擎) 1.14 正式版
人氣軟件
v2rayN Windows客戶(hù)端 32/64位1.48 MB
/簡(jiǎn)體中文GX Works2 含序列號(hào)423 MB
/簡(jiǎn)體中文Visual Studio Code (VSCode)中文版下載53.9 MB
/簡(jiǎn)體中文.NET Framework 3.5 cab格式離線(xiàn)安裝包68.8 MB
/簡(jiǎn)體中文Dev C++下載 (TDM-GCC)64.1 MB
/簡(jiǎn)體中文s7 200 smart編程軟件下載372 MB
/多國(guó)語(yǔ)言Xshell 6中文破解版15 MB
/簡(jiǎn)體中文RSLogix 5000 含序列號(hào)5.14 MB
/簡(jiǎn)體中文pycharm2020.1384 MB
/簡(jiǎn)體中文qt creator5.8破解版(32/64位)69.1 MB
/多語(yǔ)言[中文]
相關(guān)文章
查看所有評(píng)論>>網(wǎng)友評(píng)論共0條
精彩評(píng)論
- 最新評(píng)論