二進制部署kubernetes 1.27
描述
本文檔主要用于安裝kubernetes 1.27版本,基于rocky linux 8 安裝
操作系統(tǒng)和IP規(guī)劃
操作系統(tǒng)版本:Ubuntu 22.04.2 TLS
IP規(guī)劃
192.168.0.241? ? ? ? ? master01.k8s.com
192.168.0.242? ? ? ? ?master02.k8s.com
192.168.0.243? ? ? ? ?node01.k8s.com
192.168.0.244? ? ? ? ?node02.k8s.com
192.168.0.240? ? ? ? ?vip
Containerd版本:? ?Containerd 1.6.23
kubernets版本:?1.27.4
etcd版本:etcd v3.4.26
集群內部IP規(guī)劃
10.96.0.0/16? kubernetes集群的Service網(wǎng)段
10.244.0.0/16 kubernetes集群中Pod的網(wǎng)段
10.96.0.10? CoreDns的IP地址
軟件下載地址
https://github.com/containerd/containerd/releases/download/v1.6.23/cri-containerd-1.6.23-linux-amd64.tar.gz
https://dl.k8s.io/v1.27.4/kubernetes-server-linux-amd64.tar.gz
https://github.com/etcd-io/etcd/releases/download/v3.4.26/etcd-v3.4.26-linux-amd64.tar.gz
系統(tǒng)配置
配置hosts解析(需要在所有機器操作)
配置主機名稱
按照hosts解析在在每臺機器配置對應的hostname
解決systemd-resolved占用53端口,這個會導致以后coredns無法正常運行,所以需要禁止監(jiān)聽53端口(所有機器都需要操作)
停止防火墻(需要在所有機器操作)
安裝需要的包(需要在所有機器執(zhí)行)
limits配置(需要在所有機器執(zhí)行)
內核參數(shù)配置(需要在所有機器執(zhí)行)
加載內核模塊(需要在所有機器執(zhí)行)
加載內核模塊寫入配置文件(需要在所有機器執(zhí)行)
內核配置生效(需要在所有機器執(zhí)行)
關閉swap分區(qū)(需要在所有機器執(zhí)行)
時區(qū)設置(需要在所有機器執(zhí)行)
配置Containerd 內核模塊永久加載(需要在所有機器執(zhí)行)
配置完以上重啟所有機器
檢查模塊是否加載成功(需要在所有機器執(zhí)行)
安裝Containerd
下載并且解壓Containerd(需要在所有機器執(zhí)行),下載可以一次然后使用上傳到所有服務器
配置文件生成(需要在所有機器配置)
啟動Containerd服務(需要在所有機器配置)
ETCD安裝部署
下載并且解壓(master01、master02、node01節(jié)點操作)
由于etcd需要三個節(jié)點所以,分別部署在master01、master02、node01這個三個節(jié)點,當然也可以選擇單獨機器部署etcd集群
etcd創(chuàng)建證書配置文件
生成證書
etcd 集群配置文件生成
配置Services文件(需要在所有etcd節(jié)點上配置)
啟動etcd服務
測試etcd集群狀態(tài)
高可用服務安裝(Keepalived?& Haproxy)
軟件安裝 (master節(jié)點)
Keepalived服務配置(master節(jié)點配置)
啟動服務 (master01和master02啟動)
haproxy服務配置(master節(jié)點配置)
安裝kubernetes
下載并解壓kubernetes(所有機器都需要執(zhí)行), 下載可以一次然后使用上傳到所有服務器
證書生成
kube-controller-manager用戶配置文件生成
kube-Scheduler用戶配置文件生成
集群管理員配置文件生成
生成用于配置servcieAccount和secret的書證
創(chuàng)建集群所需的目錄(所有節(jié)點都需要創(chuàng)建)
復制證書和配置到其他master節(jié)點
api server 服務配置(master節(jié)點操作)
啟動 api server服務并加入開機啟動(master節(jié)點操作)
kube-controller-manager 服務配置(master節(jié)點操作)
啟動kube-controller-manager服務(master節(jié)點操作)
kube-Scheduler服務配置(master節(jié)點操作)
啟動kube-Scheduler服務
配置admin配置文件
檢查當前集群狀態(tài)
tls bootstrap 用戶相關權限配置
tls bootstrap 配置,用于node節(jié)點自動頒發(fā)證書
kubelet 服務配置(所有節(jié)點,包含master節(jié)點)
kube-proxy服務配置(所有節(jié)點,包含master節(jié)點)
復制kube-proxy證書和用戶配置文件到其他節(jié)點 (所有節(jié)點)
kube-proxy配置(所有節(jié)點)
master節(jié)點打上禁止調度污點,防止pod調度到master節(jié)點
網(wǎng)絡插件安裝
網(wǎng)絡插件使用calico,模式使用默認的IPIP (master01節(jié)點執(zhí)行即可)
安裝CoreDNS
作為集群內部的dns解析
metrics-server安裝
metrics-server主要用集群內部監(jiān)控項搜集,安裝后可以使用kubectl top node等命令查看到cpu內存的資源占用
安裝DashBoard
測試Pod