自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

這款工具可以把Kubernetes集群打包成一個(gè)鏡像

開發(fā) 開發(fā)工具 云計(jì)算
Docker 可以把一個(gè)操作系統(tǒng)的 rootfs+應(yīng)用 build 成一個(gè)容器鏡像,sealer 把 kubernetes 看成操作系統(tǒng),在這個(gè)更高的抽象緯度上做出來的鏡像就是集群鏡像。實(shí)現(xiàn)整個(gè)集群的 Build Share Run !!!

[[403561]]

 sealer[ˈsiːlər]是一款分布式應(yīng)用打包交付運(yùn)行的解決方案,通過把分布式應(yīng)用及其數(shù)據(jù)庫中間件等依賴一起打包以解決復(fù)雜應(yīng)用的交付問題。

sealer 構(gòu)建出來的產(chǎn)物我們稱之為集群鏡像, 集群鏡像里內(nèi)嵌了一個(gè) kubernetes, 解決了分布式應(yīng)用的交付一致性問題。集群鏡像可以 push 到 registry 中共享給其他用戶使用,也可以在官方倉庫中找到非常通用的分布式軟件直接使用。

Docker 可以把一個(gè)操作系統(tǒng)的 rootfs+應(yīng)用 build 成一個(gè)容器鏡像,sealer 把 kubernetes 看成操作系統(tǒng),在這個(gè)更高的抽象緯度上做出來的鏡像就是集群鏡像。實(shí)現(xiàn)整個(gè)集群的 Build Share Run !!!

有了集群鏡像用戶實(shí)踐云原生生態(tài)技術(shù)將變得極其簡(jiǎn)單,如:

1.安裝一個(gè) kubernetes 集群

  1. #安裝sealer 
  2. wget https://github.com/alibaba/sealer/releases/download/v0.1.4/sealer-0.1.4-linux-amd64.tar.gz && \ 
  3. tar zxvf sealer-0.1.4-linux-amd64.tar.gz && mv sealer /usr/bin 
  4. #運(yùn)行集群 
  5. sealer run kubernetes:v1.19.9 # 在公有云上運(yùn)行一個(gè)kubernetes集群 
  6. sealer run kubernetes:v1.19.9 --masters 3 --nodes 3 # 在公有云上運(yùn)行指定數(shù)量節(jié)點(diǎn)的kuberentes集群 
  7. # 安裝到已經(jīng)存在的機(jī)器上 
  8. sealer run kubernetes:v1.19.9 --masters 192.168.0.2,192.168.0.3,192.168.0.4 --nodes 192.168.0.5,192.168.0.6,192.168.0.7 --passwd xxx 

2.安裝 prometheus 集群

  1. sealer run prometheus:2.26.0 

上面命令就可以幫助你安裝一個(gè)包含 prometheus 的 kubernetes 集群, 同理其它軟件如 istio ingress grafana 等都可以通過這種方式運(yùn)行。

還沒完,Sealer 最出色的地方是可以非常方便的讓用戶自定義一個(gè)集群的鏡像,通過像 Dockerfile 一樣的文件來描述和 build,也就是 Kubefile:

  1. FROM registry.cn-qingdao.aliyuncs.com/sealer-io/kubernetes:v1.19.9 
  2. RUN wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml 
  3. CMD kubectl apply -f recommended.yaml 

使用下面的 sealer build 命令就可以構(gòu)建集群鏡像:

  1. sealer build -t registry.cn-qingdao.aliyuncs.com/sealer-io/dashboard:latest . 

然后一個(gè)包含 dashboard 的集群鏡像就被制作出來了,可以運(yùn)行或者分享給別人。

把制作好的集群鏡像推送到鏡像倉庫,集群鏡像倉庫兼容 docker 鏡像倉庫標(biāo)準(zhǔn),可以把集群鏡像推送到 docker hub、阿里 ACR、或者 Harbor 中

  1. sealer push registry.cn-qingdao.aliyuncs.com/sealer-io/dashboard:latest 

使用場(chǎng)景&特性

  • [x] 極其簡(jiǎn)單的方式在生產(chǎn)環(huán)境中或者離線環(huán)境中安裝 kubernetes、以及 kubernetes 生態(tài)中其它軟件
  • [x] 通過 Kubefile 可以非常簡(jiǎn)單的自定義 kubernetes 集群鏡像對(duì)集群和應(yīng)用進(jìn)行打包,并可以提交到倉庫中進(jìn)行分享
  • [x] 強(qiáng)大的生命周期管理能力,以難以想象的簡(jiǎn)單的方式去做如集群升級(jí),集群備份恢復(fù),節(jié)點(diǎn)闊縮等操作
  • [x] 速度極快 3min 以內(nèi)完成集群安裝
  • [x] 支持 ARM x86, v1.20 以上版本支持 containerd,幾乎兼容所有支持 systemd 的 linux 操作系統(tǒng)
  • [x] 不依賴 ansible haproxy keepalived, 高可用通過 ipvs 實(shí)現(xiàn),占用資源少,穩(wěn)定可靠
  • [x] 官方倉庫中有非常多的生態(tài)軟件鏡像可以直接使用,包含所有依賴,一鍵安裝

快速開始

安裝一個(gè) kubernetes 集群

  1. sealer run kubernetes:v1.19.9 --masters 192.168.0.2 --passwd xxx 

如果是在云上安裝:

  1. export ACCESSKEYID=xxx 
  2. export ACCESSKEYSECRET=xxx 
  3. sealer run registry.cn-qingdao.aliyuncs.com/sealer-io/dashboard:latest 
  4. # 或者指定節(jié)點(diǎn)數(shù)量運(yùn)行集群 
  5. sealer run registry.cn-qingdao.aliyuncs.com/sealer-io/dashboard:latest \ 
  6.   --masters 3 --nodes 3 

  1. [root@iZm5e42unzb79kod55hehvZ ~]# kubectl get node 
  2. NAME                      STATUS   ROLES    AGE   VERSION 
  3. izm5e42unzb79kod55hehvz   Ready    master   18h   v1.16.9 
  4. izm5ehdjw3kru84f0kq7r7z   Ready    master   18h   v1.16.9 
  5. izm5ehdjw3kru84f0kq7r8z   Ready    master   18h   v1.16.9 
  6. izm5ehdjw3kru84f0kq7r9z   Ready    <none>   18h   v1.16.9 
  7. izm5ehdjw3kru84f0kq7raz   Ready    <none>   18h   v1.16.9 
  8. izm5ehdjw3kru84f0kq7rbz   Ready    <none>   18h   v1.16.9 

查看鏡像默認(rèn)啟動(dòng)配置:

  1. sealer inspect -c registry.cn-qingdao.aliyuncs.com/sealer-io/dashboard:latest 

使用 Clusterfile 拉起一個(gè) k8s 集群

使用已經(jīng)提供好的官方基礎(chǔ)鏡像(sealer-io/kubernetes:v1.19.9)就可以快速拉起一個(gè) k8s 集群。

場(chǎng)景 1. 往已經(jīng)存在的服務(wù)器上去安裝,provider 類型為 BAREMETAL

Clusterfile 內(nèi)容:

  1. apiVersion: sealer.aliyun.com/v1alpha1 
  2. kind: Cluster 
  3. metadata: 
  4.   name: my-cluster 
  5. spec: 
  6.   image: registry.cn-qingdao.aliyuncs.com/sealer-io/kubernetes:v1.19.9 
  7.   provider: BAREMETAL 
  8.   ssh: 
  9.     passwd: 
  10.     pk: xxx 
  11.     pkPasswd: xxx 
  12.     user: root 
  13.   network: 
  14.     interface: eth0 
  15.     cniName: calico 
  16.     podCIDR: 100.64.0.0/10 
  17.     svcCIDR: 10.96.0.0/22 
  18.     withoutCNI: false 
  19.   certSANS: 
  20.     - aliyun-inc.com 
  21.     - 10.0.0.2 
  22.  
  23.   masters: 
  24.     ipList: 
  25.      - 172.20.125.234 
  26.      - 172.20.126.5 
  27.      - 172.20.126.6 
  28.   nodes: 
  29.     ipList: 
  30.      - 172.20.126.8 
  31.      - 172.20.126.9 
  32.      - 172.20.126.10 

執(zhí)行如下所示命令:

  1. [root@iZm5e42unzb79kod55hehvZ ~]# sealer apply -f Clusterfile 
  2. [root@iZm5e42unzb79kod55hehvZ ~]# kubectl get node 
  3. NAME                      STATUS   ROLES    AGE   VERSION 
  4. izm5e42unzb79kod55hehvz   Ready    master   18h   v1.16.9 
  5. izm5ehdjw3kru84f0kq7r7z   Ready    master   18h   v1.16.9 
  6. izm5ehdjw3kru84f0kq7r8z   Ready    master   18h   v1.16.9 
  7. izm5ehdjw3kru84f0kq7r9z   Ready    <none>   18h   v1.16.9 
  8. izm5ehdjw3kru84f0kq7raz   Ready    <none>   18h   v1.16.9 
  9. izm5ehdjw3kru84f0kq7rbz   Ready    <none>   18h   v1.16.9 

場(chǎng)景 2. 自動(dòng)申請(qǐng)阿里云服務(wù)器進(jìn)行安裝, provider: ALI_CLOUD

Clusterfile:

  1. apiVersion: sealer.aliyun.com/v1alpha1 
  2. kind: Cluster 
  3. metadata: 
  4.   name: my-cluster 
  5. spec: 
  6.   image: registry.cn-qingdao.aliyuncs.com/sealer-io/kubernetes:v1.19.9 
  7.   provider: ALI_CLOUD 
  8.   ssh: 
  9.     passwd: 
  10.     pk: xxx 
  11.     pkPasswd: xxx 
  12.     user: root 
  13.   network: 
  14.     interface: eth0 
  15.     cniName: calico 
  16.     podCIDR: 100.64.0.0/10 
  17.     svcCIDR: 10.96.0.0/22 
  18.     withoutCNI: false 
  19.   certSANS: 
  20.     - aliyun-inc.com 
  21.     - 10.0.0.2 
  22.  
  23.   masters: 
  24.     cpu: 4 
  25.     memory: 4 
  26.     count: 3 
  27.     systemDisk: 100 
  28.     dataDisks: 
  29.     - 100 
  30.   nodes: 
  31.     cpu: 4 
  32.     memory: 4 
  33.     count: 3 
  34.     systemDisk: 100 
  35.     dataDisks: 
  36.     - 100 

準(zhǔn)備好阿里云的ak sk

  1. [root@iZm5e42unzb79kod55hehvZ ~]# ACCESSKEYID=xxxxxxx ACCESSKEYSECRET=xxxxxxx sealer apply -f Clusterfile 

基礎(chǔ)設(shè)置的一些源信息會(huì)被寫入到 Clusterfile 中,存儲(chǔ)在 /root/.sealer/[cluster-name]/Clusterfile 中, 所以可以這樣釋放集群:

  1. ./sealer delete -f /root/.sealer/my-cluster/Clusterfile 

制作一個(gè)自定義的集群鏡像, 這里以制作一個(gè) dashboard 鏡像為例

新建一個(gè) dashboard 目錄,創(chuàng)建一個(gè)文件 Kubefile 內(nèi)容為:

  1. FROM registry.cn-qingdao.aliyuncs.com/sealer-io/kubernetes:v1.19.9 
  2. RUN wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml 
  3. CMD kubectl apply -f recommended.yaml 

  1. [root@iZm5e42unzb79kod55hehvZ dashboard]# export ACCESSKEYID=xxxxxxx 
  2. [root@iZm5e42unzb79kod55hehvZ dashboard]# export ACCESSKEYSECRET=xxxxxxx 
  3. [root@iZm5e42unzb79kod55hehvZ dashboard]# sealer build -f Kubefile -t my-kuberentes-cluster-with-dashboard:latest . 

創(chuàng)建一個(gè)帶有 dashboard 的自定義集群, 操作同上,替換掉 Clusterfile 中的 image 字段即可:

  1. apiVersion: sealer.aliyun.com/v1alpha1 
  2. kind: Cluster 
  3. metadata: 
  4.   name: my-cluster 
  5. spec: 
  6.   image: my-kuberentes-cluster-with-dashboard:latest 
  7.   provider: ALI_CLOUD 
  8.   ssh: 
  9.     passwd: 
  10.     pk: xxx 
  11.     pkPasswd: xxx 
  12.     user: root 
  13.   network: 
  14.     interface: eth0 
  15.     cniName: calico 
  16.     podCIDR: 100.64.0.0/10 
  17.     svcCIDR: 10.96.0.0/22 
  18.     withoutCNI: false 
  19.   certSANS: 
  20.     - aliyun-inc.com 
  21.     - 10.0.0.2 
  22.  
  23.   masters: 
  24.     cpu: 4 
  25.     memory: 4 
  26.     count: 3 
  27.     systemDisk: 100 
  28.     dataDisks: 
  29.     - 100 
  30.   nodes: 
  31.     cpu: 4 
  32.     memory: 4 
  33.     count: 3 
  34.     systemDisk: 100 
  35.     dataDisks: 
  36.     - 100 

  1. # 準(zhǔn)備好阿里云的ak sk 
  2. [root@iZm5e42unzb79kod55hehvZ ~]# ACCESSKEYID=xxxxxxx ACCESSKEYSECRET=xxxxxxx sealer apply -f Clusterfile 

把制作好的集群鏡像推送到鏡像倉庫:

  1. sealer tag my-kuberentes-cluster-with-dashboard:latest registry.cn-qingdao.aliyuncs.com/sealer-io/my-kuberentes-cluster-with-dashboard:latest 
  2. sealer push registry.cn-qingdao.aliyuncs.com/sealer-io/my-kuberentes-cluster-with-dashboard:latest 

就可以把鏡像復(fù)用給別人進(jìn)行使用。

倉庫地址:https://github.com/alibaba/sealer

 

責(zé)任編輯:姜華 來源: Github愛好者
相關(guān)推薦

2021-08-10 07:41:24

JavaDocker鏡像

2020-08-25 07:48:17

Kubernetes集群系統(tǒng)

2024-11-14 13:19:21

Docker容器開發(fā)

2019-09-27 16:32:17

虛擬機(jī)LinuxDocker

2021-06-15 09:33:44

Kubernetes Prometheus 容器

2009-06-10 20:44:18

netbeans 打包JAR文件

2020-07-27 18:52:34

Kubernetes集群工具

2011-07-08 13:44:08

Xcode 打包

2021-09-08 10:05:17

服務(wù)器架構(gòu)數(shù)據(jù)

2021-12-02 08:00:00

Kubernetes集群容器

2021-09-02 05:37:22

Containerd Kubernetes 容器

2023-05-31 08:12:26

Kubernete資源分配工具

2019-01-15 10:02:06

Kubernetes開源工具微服務(wù)

2020-07-31 10:26:15

Mac OS蘋果Windows

2021-12-24 10:59:37

Kubernetes架構(gòu)代碼

2011-11-16 13:14:02

Sencha TouciOS本地應(yīng)用

2021-08-31 10:02:10

KubernetesLinux集群

2022-02-17 11:08:00

KubernetesMySQL運(yùn)維

2022-01-11 09:59:23

Python關(guān)機(jī)程序文件

2021-04-09 10:02:29

機(jī)器學(xué)習(xí)人工智能計(jì)算機(jī)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)