このツールはKubernetesクラスタをイメージにパッケージ化できる

このツールはKubernetesクラスタをイメージにパッケージ化できる

[[403561]]

sealer[ˈsiːlər]は、分散アプリケーションとデータベースミドルウェアなどの依存関係をパッケージ化して、複雑なアプリケーションの配信問題を解決する、分散アプリケーションのパッケージ化、配信、および運用ソリューションです。

シーラーによって構築された製品はクラスター イメージと呼ばれます。 Kubernetes はクラスター イメージに組み込まれており、分散アプリケーションの配信の一貫性の問題を解決します。クラスター イメージをレジストリにプッシュして他のユーザーと共有したり、公式リポジトリで非常に一般的な分散ソフトウェアを見つけて直接使用したりすることもできます。

Docker は、オペレーティング システムの rootfs + アプリケーションをコンテナー イメージに構築できます。 Sealer は Kubernetes をオペレーティング システムと見なし、このより高い抽象化レベルで作成されたイメージがクラスター イメージになります。クラスター全体のビルド・シェア・ランを実現!!!

クラスター イメージを使用すると、ユーザーは次のようなクラウド ネイティブ エコシステム テクノロジーを非常に簡単に実践できるようになります。

1. Kubernetesクラスターをインストールする

  1. #シーラーをインストールする
  2. 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. #クラスターを実行する
  5. sealer run kubernetes:v1.19.9 # パブリッククラウド上で Kubernetes クラスターを実行する
  6. sealer run kubernetes:v1.19.9 --masters 3 --nodes 3 # パブリッククラウド上で指定された数のノードを持つ Kubernetes クラスターを実行します 
  7. # 既存のマシンにインストールする
  8. シーラー実行 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. シーラー実行プロメテウス:2.26.0

上記のコマンドは、Prometheus を含む Kubernetes クラスターをインストールするのに役立ちます。同様に、istio ingress grafana などの他のソフトウェアもこの方法で実行できます。

それだけではありません。 Sealer の最も優れた点は、Dockerfile に似たファイル、つまり Kubefile を使用してクラスター イメージを記述および構築することで、ユーザーがクラスター イメージを簡単にカスタマイズできることです。

  1. registry.cn-qingdao.aliyuncs.com/sealer-io/kubernetes:v1.19.9より
  2. wget を実行します https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml
  3. コマンド kubectl apply -f 推奨.yaml

クラスター イメージをビルドするには、次の sealer build コマンドを使用します。

  1. シーラービルド -t registry.cn-qingdao.aliyuncs.com/sealer-io/dashboard:latest 。

次に、ダッシュボードを含むクラスター イメージが作成され、実行したり他のユーザーと共有したりできるようになります。

準備したクラスター イメージをイメージ ウェアハウスにプッシュします。クラスター イメージ ウェアハウスは、Docker イメージ ウェアハウス標準と互換性があります。クラスターイメージは、docker hub、Alibaba ACR、または Harbor にプッシュできます。

  1. シーラープッシュ registry.cn-qingdao.aliyuncs.com/sealer-io/dashboard:latest

使用シナリオと機能

  • [x] KubernetesやKubernetesエコシステム内の他のソフトウェアを本番環境やオフライン環境にインストールする非常に簡単な方法
  • [x] Kubefile を使用すると、Kubernetes クラスター イメージを簡単にカスタマイズしてクラスターとアプリケーションをパッケージ化し、リポジトリに送信して共有することができます。
  • [x] 強力なラ​​イフサイクル管理機能により、クラスタのアップグレード、クラスタのバックアップとリカバリ、ノードの拡張と縮小などの操作を想像を絶するほど簡単に実行できます。
  • [x] 3分以内の非常に高速なクラスタのインストール
  • [x] ARM x86をサポート、v1.20以降のバージョンはcontainerdをサポートし、systemdをサポートするほぼすべてのLinuxオペレーティングシステムと互換性があります。
  • [x] ansible haproxy keepalivedに依存せず、リソース消費が少なく、安定性と信頼性に優れたipvsを通じて高可用性を実現
  • [x] 公式ウェアハウスには、すべての依存関係を含め、直接使用できるエコロジカルソフトウェアイメージが多数あり、ワンクリックでインストールできます。

クイックスタート

Kubernetes クラスターをインストールする

  1. シーラー実行 kubernetes:v1.19.9 --masters 192.168.0.2 --passwd xxx  

クラウドにインストールする場合:

  1. エクスポート ACCESSKEYID=xxx
  2. エクスポート ACCESSKEYSECRET=xxx
  3. シーラー実行 registry.cn-qingdao.aliyuncs.com/sealer-io/dashboard:latest
  4. # または、クラスターを実行するノードの数を指定します
  5. シーラー実行 registry.cn-qingdao.aliyuncs.com/sealer-io/dashboard:latest \
  6. --マスター 3 --ノード 3  

  1. [root@iZm5e42unzb79kod55hehvZ ~]# kubectl ノードを取得します
  2. 名前ステータス 役割 年齢 バージョン
  3. izm5e42unzb79kod55hehvz マスター 18h v1.16.9 準備完了
  4. izm5ehdjw3kru84f0kq7r7z レディマスター 18h v1.16.9
  5. izm5ehdjw3kru84f0kq7r8z レディマスター 18h v1.16.9
  6. izm5ehdjw3kru84f0kq7r9z 準備完了 <なし> 18 時間 v1.16.9
  7. izm5ehdjw3kru84f0kq7raz 準備完了 <なし> 18 時間 v1.16.9
  8. izm5ehdjw3kru84f0kq7rbz 準備完了 <なし> 18 時間 v1.16.9

イメージのデフォルトの起動構成を表示します。

  1. シーラー検査 -c registry.cn-qingdao.aliyuncs.com/sealer-io/dashboard:latest

Clusterfile を使用して k8s クラスターを起動する

提供されている公式の基本イメージ (sealer-io/kubernetes:v1.19.9) を使用して、k8s クラスターをすばやくプルアップできます。

シナリオ 1. 既存のサーバーにインストールし、プロバイダー タイプは BAREMETAL です。

クラスターファイルの内容:

  1. apiバージョン: sealer.aliyun.com/v1alpha1
  2. 種類: クラスター
  3. メタデータ:
  4. 名前: my-cluster
  5. 仕様:
  6. イメージ: registry.cn-qingdao.aliyuncs.com/sealer-io/kubernetes:v1.19.9
  7. プロバイダー: BAREMETAL
  8. ssh:
  9. パスワード:
  10. PK: xxx
  11. パスワード: xxx
  12. ユーザー: ルート
  13. ネットワーク:
  14. インターフェース: eth0
  15. cni名前: カリコ
  16. ポッドCIDR: 100.64.0.0/10
  17. svcCIDR: 10.96.0.0/22
  18. CNIなし: false  
  19. certSANS:
  20. アリユン
  21. - 10.0.0.2
  22.  
  23. マスター:
  24. ipリスト:
  25. - 172.20.125.234
  26. - 172.20.126.5
  27. - 172.20.126.6
  28. ノード:
  29. ipリスト:
  30. - 172.20.126.8
  31. - 172.20.126.9
  32. - 172.20.126.10

次のコマンドを実行します。

  1. [root@iZm5e42unzb79kod55hehvZ ~]# シーラー適用 -f クラスターファイル
  2. [root@iZm5e42unzb79kod55hehvZ ~]# kubectl ノードを取得します
  3. 名前ステータス 役割 年齢 バージョン
  4. izm5e42unzb79kod55hehvz マスター 18h v1.16.9 準備完了
  5. izm5ehdjw3kru84f0kq7r7z レディマスター 18h v1.16.9
  6. izm5ehdjw3kru84f0kq7r8z レディマスター 18h v1.16.9
  7. izm5ehdjw3kru84f0kq7r9z 準備完了 <なし> 18 時間 v1.16.9
  8. izm5ehdjw3kru84f0kq7raz 準備完了 <なし> 18 時間 v1.16.9
  9. izm5ehdjw3kru84f0kq7rbz 準備完了 <なし> 18 時間 v1.16.9

シナリオ2. Alibaba Cloudサーバーのインストールを自動的に申請、プロバイダー:ALI_CLOUD

クラスターファイル:

  1. apiバージョン: sealer.aliyun.com/v1alpha1
  2. 種類: クラスター
  3. メタデータ:
  4. 名前: my-cluster
  5. 仕様:
  6. イメージ: registry.cn-qingdao.aliyuncs.com/sealer-io/kubernetes:v1.19.9
  7. プロバイダー: ALI_CLOUD
  8. ssh:
  9. パスワード:
  10. PK: xxx
  11. パスワード: xxx
  12. ユーザー: ルート
  13. ネットワーク:
  14. インターフェース: eth0
  15. cni名前: カリコ
  16. ポッドCIDR: 100.64.0.0/10
  17. svcCIDR: 10.96.0.0/22
  18. CNIなし: false  
  19. certSANS:
  20. アリユン
  21. - 10.0.0.2
  22.  
  23. マスター:
  24. CPU: 4
  25. メモリ: 4
  26. カウント: 3
  27. システムディスク: 100
  28. データディスク:
  29. - 100
  30. ノード:
  31. CPU: 4
  32. メモリ: 4
  33. カウント: 3
  34. システムディスク: 100
  35. データディスク:
  36. - 100

Alibaba Cloudのak skを準備する

  1. [root@iZm5e42unzb79kod55hehvZ ~]# ACCESSKEYID=xxxxxxx ACCESSKEYSECRET=xxxxxxx シーラー適用 -f クラスターファイル

基本設定の一部のソース情報は Clusterfile に書き込まれ、/root/.sealer/[cluster-name]/Clusterfile に保存されるため、次のようにしてクラスターを解放できます。

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

カスタム クラスター イメージを作成します。ここではダッシュボード画像の作成を例に挙げます。

新しいダッシュボード ディレクトリを作成し、次の内容の Kubefile ファイルを作成します。

  1. registry.cn-qingdao.aliyuncs.com/sealer-io/kubernetes:v1.19.9より
  2. wget を実行します https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml
  3. コマンド kubectl apply -f 推奨.yaml

  1. [root@iZm5e42unzb79kod55hehvZ ダッシュボード]# エクスポート ACCESSKEYID=xxxxxxx
  2. [root@iZm5e42unzb79kod55hehvZ ダッシュボード]# ACCESSKEYSECRET=xxxxxxx をエクスポート
  3. [root@iZm5e42unzb79kod55hehvZ ダッシュボード]# sealer build -f Kubefile -t my-kuberentes-cluster- with -dashboard:latest 。

ダッシュボード付きのカスタム クラスターを作成するには、上記と同じ手順に従い、Clusterfile 内のイメージ フィールドを置き換えます。

  1. apiバージョン: sealer.aliyun.com/v1alpha1
  2. 種類: クラスター
  3. メタデータ:
  4. 名前: my-cluster
  5. 仕様:
  6. イメージ: my-kuberentes-cluster--dashboard:latest
  7. プロバイダー: ALI_CLOUD
  8. ssh:
  9. パスワード:
  10. PK: xxx
  11. パスワード: xxx
  12. ユーザー: ルート
  13. ネットワーク:
  14. インターフェース: eth0
  15. cni名前: カリコ
  16. ポッドCIDR: 100.64.0.0/10
  17. svcCIDR: 10.96.0.0/22
  18. CNIなし: false  
  19. certSANS:
  20. アリユン
  21. - 10.0.0.2
  22.  
  23. マスター:
  24. CPU: 4
  25. メモリ: 4
  26. カウント: 3
  27. システムディスク: 100
  28. データディスク:
  29. - 100
  30. ノード:
  31. CPU: 4
  32. メモリ: 4
  33. カウント: 3
  34. システムディスク: 100
  35. データディスク:
  36. - 100

  1. # Alibaba Cloud の ak sk を準備する
  2. [root@iZm5e42unzb79kod55hehvZ ~]# ACCESSKEYID=xxxxxxx ACCESSKEYSECRET=xxxxxxx シーラー適用 -f クラスターファイル

準備したクラスター イメージをイメージ リポジトリにプッシュします。

  1. シーラータグ my-kuberentes-cluster--dashboard:latest を付ける registry.cn-qingdao.aliyuncs.com/sealer-io/my-kuberentes-cluster--dashboard:latest を付ける
  2. シーラープッシュ registry.cn-qingdao.aliyuncs.com/sealer-io/my-kuberentes-cluster- with -dashboard:latest

他の人が使用できるように画像を再利用できます。

倉庫アドレス: https://github.com/alibaba/sealer

<<:  Yarn ワークスペース、TypeScript、esbuild、React、Express を使用して K8S クラウド ネイティブ アプリケーションを構築する (パート 1)

>>:  製造、小売、医療の事例から:エッジコンピューティングと人工知能が収益向上にどのように役立つか

推薦する

618年にブランドは激しく戦っている

今年も夏が到来し、618ショッピングフェスティバルも予定通り開催され、気温の上昇とともにショッピング...

UEESHOP独立ステーションシステムが再び大規模にアップデートされ、売り手の注文量の増加が期待される

2018年4月16日、UEESHOP独立ステーションシステムは今年も大規模なアップデートを迎えました...

自動車オンラインメディア間の垂直戦争:データマーケティングによる集団的不安

何芳都佳月王希6月15日、北京国際会議センターを車で通り過ぎるほとんどの人は、「北京聯托」ディーラー...

「真歓伝」のハーレム戦略をオンラインマーケティングに応用する方法

最近、ネットのいたるところで目にするようになったテレビドラマの名前は、ほかでもない「真歓伝」だ。テレ...

優れたプロダクトマネージャーになるには?インターネットには「現場力」が必要

数年の職務経験を持つ現在のプロダクトマネージャーたちの間で、「人間の言語を話さない」という現象に気づ...

新しいサイトが含まれていない場合はどうすればいいですか?

新しいウェブサイトをランク付けするのは非常に困難です。経験豊富なウェブサイト所有者でさえ、このような...

ユーザーの2大収益モデルとSEO最適化の徹底分析

優れたウェブサイト運営モデルは、ウェブサイトの発展方向と将来の収益空間を促進するため、ウェブサイト構...

上級SEOになる方法

どの SEO 上級者が SEO をいくつかのレベルに分類したか、漠然と覚えています。たとえば、SEO...

dreamhost-70% オフ/2.59 USD/1 つの無料ドメイン名/SS サポート/サブアカウント サポート

Dreamhost のブラック フライデーが始まりました: 無制限のスペース、無制限のトラフィック、...

SEOは感情ではなく計画的に行うべきである

SEO を実践している友人の多くは、SEO をうまく行うためにどのような点に注意を払う必要があるか、...

3大通信事業者の4Gアプリケーションの比較

3Gはまだ普及しておらず、4Gが本格的に普及しつつある。TD-LTEライセンスが発行されてから半年以...

電子商取引事業は機会を捉えるためにさらに深く掘り下げる必要がある

電子商取引は飛躍的に発展し、人々はインターネットでの買い物や取引にますます慣れてきています。その結果...

ウェブサイトの最適化の鍵:ウェブサイトの飽和状態を理解する

ウェブサイト飽和の概念とは何ですか? 理解していますか?この言葉を初めて知ったのは、小学校の理科の授...

将来の検索製品の焦点は何になるでしょうか

最近、社内ではみんなで年末の総括やレビューをしています。みんなの書き込みを読んでみると、昨年の最適化...