摘要:年初開始研究,至目前已發表近篇學習筆記。同時,他也是中國社區的活躍者,見證了中國社區的一路成長。經本人授權,從本周開始,中國將轉載他的學習筆記,由淺入深地分享他在學習過程中的收獲。節點包含的組件目前這三個組件需要部署在同一臺機器上。
作者:宋凈超
宋凈超(Jimmy Song),TalkingData 容器技術負責人,微服務和云原生應用布道者。2017 年初開始研究 Kubernetes,至目前已發表近 40 篇 Kubernetes 學習筆記。同時,他也是「K8sMeetup 中國社區」的活躍者,見證了「K8sMeetup 中國社區」的一路成長。
經 Jimmy Song 本人授權, 從本周開始,K8sMeetup 中國將轉載他的 Kubernetes 學習筆記,由淺入深地分享他在學習過程中的收獲。7 月 22 日,北京 K8S 2 周年Meetup,Jimmy Song 也將到現場進行分享,歡迎 Kubernetes 愛好者屆時參與。
kubernetes master 節點包含的組件:
kube-apiserver
kube-scheduler
kube-controller-manager
目前這三個組件需要部署在同一臺機器上。
kube-scheduler、kube-controller-manager 和 kube-apiserver 三者的功能緊密相關;
同時只能有一個 kube-scheduler、kube-controller-manager 進程處于工作狀態,如果運行多個,則需要通過選舉產生一個 leader;
本文檔記錄部署一個三個節點的高可用 kubernetes master 集群步驟。(后續創建一個 load balancer 來代理訪問 kube-apiserver 的請求)
暫時未實現master節點的高可用。
TLS 證書文件
pem和token.csv證書文件我們在TLS證書和秘鑰這一步中已經創建過了。我們再檢查一下。
下載最新版本的二進制文件
有兩種下載方式
方式一
從 github release 頁面 下載發布版 tarball,解壓后再執行下載腳本
方式二
從 CHANGELOG頁面 下載 client 或 server tarball 文件
server 的 tarball kubernetes-server-linux-amd64.tar.gz 已經包含了 client(kubectl) 二進制文件,所以不用多帶帶下載kubernetes-client-linux-amd64.tar.gz文件;
配置和啟動 kube-apiserver
創建 kube-apiserver的service配置文件
serivce配置文件/usr/lib/systemd/system/kube-apiserver.service內容:
--authorization-mode=RBAC 指定在安全端口使用 RBAC 授權模式,拒絕未通過授權的請求;
kube-scheduler、kube-controller-manager 一般和 kube-apiserver 部署在同一臺機器上,它們使用非安全端口和 kube-apiserver通信;
kubelet、kube-proxy、kubectl 部署在其它 Node 節點上,如果通過安全端口訪問 kube-apiserver,則必須先通過 TLS 證書認證,再通過 RBAC 授權;
kube-proxy、kubectl 通過在使用的證書里指定相關的 User、Group 來達到通過 RBAC 授權的目的;
如果使用了 kubelet TLS Boostrap 機制,則不能再指定 --kubelet-certificate-authority、--kubelet-client-certificate 和 --kubelet-client-key 選項,否則后續 kube-apiserver 校驗 kubelet 證書時出現 ”x509: certificate signed by unknown authority“ 錯誤;
--admission-control 值必須包含 ServiceAccount;
--bind-address 不能為 127.0.0.1;
runtime-config配置為rbac.authorization.k8s.io/v1beta1,表示運行時的apiVersion;
--service-cluster-ip-range 指定 Service Cluster IP 地址段,該地址段不能路由可達;
缺省情況下 kubernetes 對象保存在 etcd /registry 路徑下,可以通過 --etcd-prefix 參數進行調整;
完整 unit 見 kube-apiserver.service
如果有組件report unhealthy請參考:https://github.com/kubernetes...
完整 unit 見 kube-controller-manager.service
啟動 kube-controller-manager
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/32562.html
摘要:常用命令服務啟動滾動升級概念集群分布式存儲保存了整個集群的狀態控制節點控制節點負責整個集群的管理,例如容器調度資源狀態維護自動擴展滾動更新等服務節點服務節點是真正運行容器 1.常用命令 服務啟動 [root@k8s-master ~]# systemctl start etcd [root@k8s-master ~]# systemctl start docker [root@k8s-...
摘要:知識點核心組件保存整個集群的狀態信息,感覺相當于的數據庫提供對資源操作的唯一入口,并提供認證授權,訪問控制,注冊與發現等機制負責維護集群的狀態,故障檢測,自動擴展,滾動更新等負責對資源的調度,按著預定的調度策略將調度到相應的集群上負責維護容 kubernetes kubernetes 知識點 1. 核心組件 etcd 保存整個集群的狀態信息,感覺相當于k8s的數據庫 apiserve...
摘要:知識點核心組件保存整個集群的狀態信息,感覺相當于的數據庫提供對資源操作的唯一入口,并提供認證授權,訪問控制,注冊與發現等機制負責維護集群的狀態,故障檢測,自動擴展,滾動更新等負責對資源的調度,按著預定的調度策略將調度到相應的集群上負責維護容 kubernetes kubernetes 知識點 1. 核心組件 etcd 保存整個集群的狀態信息,感覺相當于k8s的數據庫 apiserve...
摘要:測試后,使用來發布。部署軟件組件,啟動虛擬機,將虛擬機分類到和節點,然后部署密鑰清單。集群自動化集群配置由三個控制。自簽證書簽署的服務器端證書和它的密鑰文件。 我們之前聊了把OpenStack跑在K8S上,如何基于Kubernetes在TCP云端創建私有云解決方法,運用在生產或在OpenStack啟動虛擬化。今天換個姿勢,我們來看看如何在OpenStack虛擬機上運行Kubernete...
摘要:我們要學習,就有首先了解的技術范圍基礎理論知識庫等,要學習,肯定要有入門過程,在這個過程中,學習要從易到難,先從基礎學習。組件組件一個集群是由一組被稱為節點的機器或虛擬機組成,節點有兩種類型。我們要學習 Kubernetes,就有首先了解 Kubernetes 的技術范圍、基礎理論知識庫等,要學習 Kubernetes,肯定要有入門過程,在這個過程中,學習要從易到難,先從基礎學習。 接...
閱讀 475·2024-11-07 18:25
閱讀 130815·2024-02-01 10:43
閱讀 951·2024-01-31 14:58
閱讀 916·2024-01-31 14:54
閱讀 83027·2024-01-29 17:11
閱讀 3287·2024-01-25 14:55
閱讀 2076·2023-06-02 13:36
閱讀 3189·2023-05-23 10:26