安裝kubernetes是公認的對運維和devops而言最棘手的問題之一。因為kubernetes可以在各種平台和作業系統上執行,所以在安裝過程中需要考慮很多因素。
在這篇文章中,我將介紹一種新的、用於在裸機、虛擬機器、公私有云上安裝kubernetes的輕量級工具——rancher kubernetes engine(rke)。rke是乙個用golang編寫的kubernetes安裝程式,極為簡單易用,使用者不再需要做大量的準備工作,即可擁有閃電般快速的kubernetes安裝部署體驗。
你可以從官方的github倉庫安裝rke。 rke可以在linux和macos機器上執行。安裝完成後,執行以下**,確保您使用的是最新版本:
rke是乙個基於容器的安裝程式,這意味著它需要在遠端伺服器上安裝docker,目前需要在伺服器上安裝docker 1.12版本。
rke的工作方式是通過ssh連線到每個伺服器,並在此伺服器上建立到docker socket的隧道,這意味著ssh使用者必須能夠訪問此伺服器上的docker引擎。要啟用對ssh使用者的訪問,您可以將此使用者新增到docker組:
usermod -ag docker
要啟動kubernetes的安裝,以上是遠端伺服器需要的唯一準備工作。
如下示例假定使用者已配置三颱伺服器:
node-1: 192.168.1.5
node-2: 192.168.1.6
node-3: 192.168.1.7
預設情況下,rke將查詢名為cluster.yml的檔案,該檔案中包含有關將在伺服器上執行的遠端伺服器和服務的資訊。
最小檔案應該是這樣的:
集群配置檔案包含乙個節點列表。每個節點至少應包含以下值:
另一節是「服務」,其中包含有關將在遠端伺服器上部署的kubernetes元件的資訊。
有三種型別的角色可以使用主機:
要執行rke,首先要確保cluster.yml檔案在同乙個目錄下,然後執行如下命令:
➜ ./rke up
若想指向另乙個配置檔案,執行如下命令:
➜
./rkeup-
-config
/tmp/config
.yml
輸出情況將如下所示:
rke會在配置檔案所在的目錄下部署乙個本地檔案,該檔案中包含kube配置資訊以連線到新生成的群集。預設情況下,kube配置檔案被稱為.kube_config_cluster.yml。將這個檔案複製到你的本地~/.kube/config,就可以在本地使用kubectl了。
需要注意的是,部署的本地kube配置名稱是和集群配置檔案相關的。例如,如果您使用名為mycluster.yml的配置檔案,則本地kube配置將被命名為.kube_config_mycluster.yml。
rke預設使用x509身份驗證方法來設定kubernetes元件和使用者之間的身份驗證。rke會首先為每個元件和使用者元件生成證書。
生成證書後,rke會將生成的證書部署到/etc/kubernetes/ssl伺服器,並儲存本地kube配置檔案,其中包含主使用者證書,在想要刪除或公升級集群時可以與rke一起使用。
然後,rke會將每個服務元件部署為可以相互通訊的容器。rke還會將集群狀態儲存在kubernetes中作為配置對映以備後用。
rke是乙個冪等工具,可以執行多次,且每次均產生相同的輸出。如下的網路外掛程式它均可以支援部署:
要使用不同的網路外掛程式,您可以在配置檔案中指定:
network:
plugin: calico
rke支援在集群引導程式中使用可插拔的外掛程式。使用者可以在cluster.yml檔案中指定外掛程式的yaml。
rke在集群啟動後會部署外掛程式的yaml。rke首先會將這個yaml檔案作為配置對映上傳到kubernetes集群中,然後執行乙個kubernetes作業來掛載這個配置對映並部署這些外掛程式。
請注意,rke暫不支援刪除外掛程式。外掛程式部署完成後,就不能使用rke來改變它們了。要開始使用外掛程式,請使用集群配置檔案中的addons:選項,例如:
請注意,我們使用|-rke工具是滿足高可用的。您可以在集群配置檔案中指定多個控制面板主機,rke將在其上部署主控元件。預設情況下,kubelets被配置為連線到nginx-proxy服務的位址——127.0.0.1:6443,該**會向所有主節點傳送請求。
要啟動ha集群,只需使用controlplane角色指定多個主機,然後正常啟動集群即可。
rke支援為角色為worker和controlplane的主機新增或刪除節點。要新增其他節點,只需要更新具有其他節點的集群配置檔案,並使用相同的檔案執行集群配置即可。
要刪除節點,只需從集群配置檔案中的節點列表中刪除它們,然後重新執行rke up命令。
rke支援rke remove命令。該命令執行以下操作:
請注意,這個命令是不可逆的,它將徹底摧毀kubernetes集群。
rancher kubernetes engine(rke)秉承了rancher產品一貫易於上手、操作簡單、體驗友好的特性,使使用者建立kubernetes集群的過程變得更加簡單,且我們相信通過雲管理平台進行kubernetes安裝是大多數kubernetes使用者的最佳選擇。
在rancher labs,我們希望kubernetes有朝一日成為所有雲服務商支援的標準化的基礎架構,且一直在為了實現這個願景而努力。已推出技術預覽版、將於2023年初正式發布的rancher 2.0,將可以同時納管和匯入任何型別、來自任何雲提供商的kubernetes集群,包括rke、aws eks、google container engine (gke)、azure container service (aks)等等。
RKE快速上手指南 開源的輕量級K8S安裝程式
安裝kubernetes是公認的對運維和devops而言最棘手的問題之一。因為kubernetes可以在各種平台和作業系統上執行,所以在安裝過程中需要考慮很多因素。在這篇文章中,我將介紹一種新的 用於在裸機 虛擬機器 公私有云上安裝kubernetes的輕量級工具 rancher kubernete...
Jenkins 快速上手指南
步驟 在伺服器上安裝好jenkins。在瀏覽器位址列輸入 伺服器位址 8080 jenkins 回車訪問jenkins主頁。單擊 新建 建立任務。如下圖 為任務命名並選擇測試的專案型別 選擇 構建乙個自由風格的軟體專案 即可 單擊ok。如下圖 此時,任務已建立好,可根據後面的步驟在跳轉頁面繼續配置任...
cobalt strike快速上手指南(一)
cobalt strike是一款美國red team開發的神器,常被業界人稱為cs。以metasploit為基礎的gui框架式工具,整合了埠 服務掃瞄,自動化溢位,多模式埠監聽,exe powershell木馬生成等。cobalt strike主要用於團隊作戰,可謂是團隊必備神器,能讓多個測試人員同...