一鍵在arm64架構上部署高可用kubernetes v1.20.0集群

      網友投稿 1489 2025-04-02

      [TOC]


      項目的由來

      隨著“中興事件”不斷升級,引起了國人對國產自主可控技術的高度關注;希望能找到一個穩定、能兼容國產CPU的一整套架構方案,來構建IaaS平臺和PaaS平臺,滿足單位對安全自主可控的需求。要基于全國產方式解決公司業務需求至少要在軟硬件層面滿足,而國內基本都是基于x86解決方案,想找到滿足需求的國產化解決方案還是非常困難的事情。

      說明

      一個二進制工具加一個資源包,不依賴haproxy keepalived ansible等重量級工具,一條命令就可實現kubernetes高可用集群構建,

      無論是單節點還是集群,單master還是多master,生產還是測試都能很好支持!簡單不意味著閹割功能,照樣能全量支持kubeadm所有配置。 立即獲取sealos及arm64安裝包

      1.20 完全移除docker. 使用containerd作為cri. kubernetes < 1.20, 仍使用docker

      sealos特性與優勢:

      支持arm64架構, v1.20版本離線包支持containerd集成,完全拋棄docker.

      支持離線安裝,工具與資源包(二進制程序 配置文件 鏡像 yaml文件等)分離,這樣不同版本替換不同離線包即可

      百年證書

      使用簡單

      支持自定義配置

      內核負載,極其穩定,因為簡單所以排查問題也極其簡單

      不依賴ansible haproxy keepalived, 一個二進制工具,0依賴

      資源包放在阿里云oss上,再也不用擔心網速

      dashboard ingress prometheus等APP 同樣離線打包,一鍵安裝

      etcd一鍵備份(etcd原生api調用)。支持上傳至oss,實現異地備份, 用戶無需關心細節。

      快速開始

      注意事項

      必須同步所有服務器時間

      所有服務器主機名不能重復

      推薦

      系統支持:centos7.6以上 ubuntu16.04以上 內核推薦4.14以上

      推薦配置:centos7.8

      環境信息

      服務器密碼:123456

      一鍵在arm64架構上部署高可用kubernetes v1.20.0集群

      kubernetes高可用安裝教程(arm64)

      只需要準備好服務器(arm64),在任意一臺服務器上執行下面命令即可

      # 下載并安裝sealos, sealos是個golang的二進制工具,直接下載拷貝到bin目錄即可, release頁面也可下載 $ wget -c https://sealyun.oss-cn-beijing.aliyuncs.com/latest/sealos-arm64 && \ chmod +x sealos-arm64 && mv sealos-arm64 /usr/bin/sealos # 下載離線資源包, arm64 版本就不免費了. 請自行購買. # 安裝一個三master的kubernetes集群 $ sealos init --passwd 123456 \ --master 192.168.0.2 --master 192.168.0.3 --master 192.168.0.4 \ --node 192.168.0.5 \ --pkg-url /root/kube1.20.0-arm64.tar.gz \ --version v1.20.0

      參數含義

      增加master

      $ sealos join --master 192.168.0.6 --master 192.168.0.7 $ sealos join --master 192.168.0.6-192.168.0.9 # 或者多個連續IP

      增加node

      $ sealos join --node 192.168.0.6 --node 192.168.0.7 $ sealos join --node 192.168.0.6-192.168.0.9 # 或者多個連續IP

      項目的構建

      我們解決的問題

      containerd支持arm64的二進制

      kubernetes的arm64二進制版本(原生支持)

      kubernetes的基礎鏡像arm64版本(原生支持)

      基于ipvs的高可用需要支持arm64鏡像版本

      快速構建打包產品, 并自動化測試及部署上線.

      containerd支持arm64

      官方的containerd是沒有release到arm64版本的二進制, 我們只能基于官方源碼, 自己構建二進制項目. 項目開源在這個倉庫. 官方的github倉庫.

      由于官方不發布arm64版本的containerd二進制, 所以手動編寫了Makefile. 構建和 linux adm64 一模一樣.

      基于ipvs的lvscare支持arm64

      官方源碼, 我們重寫了dockerfile. 更好的支持arm64架構系列.

      docker

      $ docker pull fanux/lvscare

      containerd

      $ ctr -n=k8s.io images pull docker.io/fanux/lvscare:latest

      自動化ci/cd

      目前采用github的action進行自動化CI/CD. 源碼在這里. 測試采用華為云的鯤鵬服務器構建3master, 1node進行測試部署. 部署完成后打包發布到sealyun.com

      測試調用

      因為華為云沒有官方的命令行調用生成服務器/公網ip. 因此自己寫了一個小工具, 快速生成ecs. 結合action進行快速部署. 下載即可使用.

      $ mycli huawei create --help create ecs in sgp Usage: mycli huawei create [flags] Flags: --FlavorRef string huawei falvor id , default is centos 7.6 (default "kc1.large.2") --ImageRef string huawei image id , default is 2C 4G (default "456416e6-1270-46a4-975e-3558ac03d4cd") --SubnetId string huawei subnet id (default "b5ea4e5d-de19-442b-ac32-3998100e4854") --Vpcid string huawei Vpcid (default "a55545d8-a4cb-436d-a8ec-45c66aff725c") --Zone string huawei AvailabilityZone , default is centos xin jia po (default "ap-southeast-3a") --adminPass string huawei root pass (default "Louishong4168@123") -c, --count int32 Specify huawei ecs count (default 1) --eip create huawei ecs with eip or not -h, --help help for create --keyName string ssh key name --projectId string huawei project id (default "06b275f705800f262f3bc014ffcdbde1") Global Flags: --config string config file (default is $HOME/.mycli.yaml)

      安裝演示

      安裝, 下載最新的sealos, 以及kubernetes-arm64的安裝包.

      $ wget -c https://sealyun.oss-cn-beijing.aliyuncs.com/latest/sealos-arm64 && \ chmod +x sealos-arm64 && mv sealos-arm64 /usr/bin/sealos $ sealos init --master 192.168.0.35 --master 192.168.0.83 --master 192.168.0.20 \ --node 192.168.0.242 \ --passwd 123456 \ --version v1.20.0 \ --pkg-url /tmp/kube1.20.0-arm64.tar.gz ... 13:55:14 [DEBG] [print.go:21] ==>SendPackage==>KubeadmConfigInstall==>InstallMaster0==>JoinMasters==>JoinNodes 13:55:14 [INFO] [print.go:26] sealos install success. ___ ___ ___ ___ ___ ___ /\ \ /\ \ /\ \ /\__\ /\ \ /\ \ /::\ \ /::\ \ /::\ \ /:/ / /::\ \ /::\ \ /:/\ \ \ /:/\:\ \ /:/\:\ \ /:/ / /:/\:\ \ /:/\ \ \ _\:\~\ \ \ /::\~\:\ \ /::\~\:\ \ /:/ / /:/ \:\ \ _\:\~\ \ \ /\ \:\ \ \__\ /:/\:\ \:\__\ /:/\:\ \:\__\ /:/__/ /:/__/ \:\__\ /\ \:\ \ \__\ \:\ \:\ \/__/ \:\~\:\ \/__/ \/__\:\/:/ / \:\ \ \:\ \ /:/ / \:\ \:\ \/__/ \:\ \:\__\ \:\ \:\__\ \::/ / \:\ \ \:\ /:/ / \:\ \:\__\ \:\/:/ / \:\ \/__/ /:/ / \:\ \ \:\/:/ / \:\/:/ / \::/ / \:\__\ /:/ / \:\__\ \::/ / \::/ / \/__/ \/__/ \/__/ \/__/ \/__/ \/__/ 官方文檔:sealyun.com 項目地址:github.com/fanux/sealos QQ群 :98488045 常見問題:sealyun.com/faq

      查看部署狀態

      kubectl get node && kubectl get pod -A NAME STATUS ROLES AGE VERSION sealos Ready control-plane,master 4m55s v1.20.0 sealos-0001 Ready control-plane,master 4m17s v1.20.0 sealos-0002 Ready control-plane,master 4m16s v1.20.0 sealos-0003 Ready 3m27s v1.20.0 NAMESPACE NAME READY STATUS RESTARTS AGE kube-system calico-kube-controllers-69b47f4dfb-2mcv2 1/1 Running 0 4m38s kube-system calico-node-g78tq 1/1 Running 0 3m32s kube-system calico-node-gccbm 1/1 Running 0 3m27s kube-system calico-node-gjw2r 1/1 Running 0 4m38s kube-system calico-node-hc4t8 1/1 Running 0 4m17s kube-system coredns-74ff55c5b-9fjnm 1/1 Running 0 4m38s kube-system coredns-74ff55c5b-nttdl 1/1 Running 0 4m38s kube-system etcd-sealos 1/1 Running 0 4m37s kube-system etcd-sealos-0001 1/1 Running 0 3m59s kube-system etcd-sealos-0002 1/1 Running 0 3m57s kube-system kube-apiserver-sealos 1/1 Running 0 4m37s kube-system kube-apiserver-sealos-0001 1/1 Running 0 4m17s kube-system kube-apiserver-sealos-0002 1/1 Running 1 3m54s kube-system kube-controller-manager-sealos 1/1 Running 1 4m36s kube-system kube-controller-manager-sealos-0001 1/1 Running 0 4m17s kube-system kube-controller-manager-sealos-0002 1/1 Running 0 2m59s kube-system kube-proxy-7bs98 1/1 Running 0 4m17s kube-system kube-proxy-88lv5 1/1 Running 0 4m38s kube-system kube-proxy-g8zfj 1/1 Running 0 3m32s kube-system kube-proxy-gl6vd 1/1 Running 0 3m27s kube-system kube-scheduler-sealos 1/1 Running 1 4m37s kube-system kube-scheduler-sealos-0001 1/1 Running 0 4m17s kube-system kube-scheduler-sealos-0002 1/1 Running 0 2m50s kube-system kube-sealyun-lvscare-sealos-0003 1/1 Running 0 3m23s [root@sealos-0001 ~]# arch aarch64

      至此, arm64版本的kubernetes云平臺構建完畢.

      鯤鵬 Kubernetes

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:Excel中OFFSET函數的具體使用方法
      下一篇:excel2010中mode函數的語法及使用方法實例教程
      相關文章
      女bbbbxxxx另类亚洲| 亚洲精品无码人妻无码| 国产精品V亚洲精品V日韩精品 | 久久夜色精品国产亚洲av| 久久亚洲色WWW成人欧美| 久久精品国产亚洲av品善| 综合一区自拍亚洲综合图区| 色天使色婷婷在线影院亚洲| 亚洲av无码av在线播放| 青青青国产色视频在线观看国产亚洲欧洲国产综合 | 日本亚洲欧美色视频在线播放| 亚洲日韩精品无码AV海量| 亚洲色偷偷综合亚洲av78| 亚洲一区二区三区成人网站| 亚洲人成人伊人成综合网无码| 亚洲AV男人的天堂在线观看| 亚洲看片无码在线视频| 亚洲欧美成人一区二区三区| 亚洲av乱码中文一区二区三区| 精品国产亚洲一区二区三区在线观看| 久久亚洲欧美国产精品| 亚洲免费日韩无码系列| 国产性爱在线观看亚洲黄色一级片 | 亚洲综合色视频在线观看| 亚洲色偷偷狠狠综合网| 永久亚洲成a人片777777| 亚洲精品无码永久中文字幕| 精品国产综合成人亚洲区| 久久夜色精品国产亚洲AV动态图| 亚洲毛片在线观看| 亚洲精品白色在线发布| 亚洲中文字幕久在线| 亚洲人成小说网站色| 久久亚洲精品无码gv| 超清首页国产亚洲丝袜| 亚洲国产精品无码专区| 亚洲黄色在线视频| 亚洲av永久无码精品天堂久久| 亚洲欧美一区二区三区日产| 亚洲成AV人网址| 亚洲精品成人无限看|