日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

k8s安装工具:sealos设计原理及离线包结构分析

發布時間:2025/1/21 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 k8s安装工具:sealos设计原理及离线包结构分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

執行流程

  • 在執行機器上生成證書和kubeconfig文件
  • 在執行機器上wget下載離線包和sealos二進制使用scp拷貝到目標機器上(masters和nodes)
  • 在master0上執行kubeadm init
  • 在其它master上執行kubeadm join 并設置控制面,這個過程會在其它master上起etcd并與master0的etcd組成集群,并啟動控制組建(apiserver controller等)
  • join node節點,會在node上配置ipvs規則,配置/etc/hosts等

有個細節是所有對apiserver進行訪問都是通過域名,因為master上連接自己就行,node需要通過虛擬ip鏈接多個master,這個每個節點的kubelet與kube-proxy訪問apiserver的地址是不一樣的,而kubeadm又只能在配置文件中指定一個地址,所以使用一個域名但是每個節點解析不同。

使用域名的好處還有就是IP地址發生變化時僅需要修改解析即可。

本地內核負載

通過這樣的方式實現每個node上通過本地內核負載均衡訪問masters:

復制代碼

+----------+ +---------------+ virturl server: 127.0.0.1:6443| mater0 |<----------------------| ipvs nodes | real servers:+----------+ |+---------------+ 10.103.97.200:6443| 10.103.97.201:6443+----------+ | 10.103.97.202:6443| mater1 |<---------------------++----------+ ||+----------+ || mater2 |<---------------------++----------+

在node上起了一個lvscare的static pod去守護這個 ipvs, 一旦apiserver不可訪問了,會自動清理掉所有node上對應的ipvs規則, master恢復正常時添加回來。

所以在你的node上加了三個東西,可以直觀的看到:

復制代碼

cat /etc/kubernetes/manifests # 這下面增加了lvscare的static pod ipvsadm -Ln # 可以看到創建的ipvs規則 cat /etc/hosts # 增加了虛擬IP的地址解析

sealos已經把lvscare本地負載和百年證書已經在sealos中支持,使用起來極其方便!!!

離線包結構分析

復制代碼

. |____docker # docker的離線包 | |____docker.tgz | |____README.md |____bin # 指定版本的bin文件 | |____conntrack | |____kubeadm | |____kubelet | |____kubelet-pre-start.sh | |____kubectl | |____crictl |____images # kubernetes的離線鏡像 | |____images.tar | |____README.md |____shell # 離線包的部署腳本,sealos會自動調用 | |____master.sh | |____init.sh | |____docker.sh |____README.md |____conf | |____net # 高版本的sealos已經集成 | | |____calico.yaml | |____10-kubeadm.conf # kubeadm的配置文件 | |____calico.yaml | |____kubeadm.yaml | |____kubelet.service | |____docker.servic

init.sh腳本中拷貝bin文件到$PATH下面,配置systemd,關閉swap防火墻等,然后導入集群所需要的鏡像。

master.sh主要執行了kubeadm init

conf下面有有我需要的如kubeadm的配置文件,calico yaml文件等等

sealos會調用二者。 所以大部分兼容不同版本都可以微調腳本做到。

參考鏈接:

https://www.sealyun.com/instructions

總結

以上是生活随笔為你收集整理的k8s安装工具:sealos设计原理及离线包结构分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。