Helm Charts クラウド ネイティブ アプリケーションのワンクリック インストール ガイド

Helm Charts クラウド ネイティブ アプリケーションのワンクリック インストール ガイド

要点:

1. 「Open Cloud Native Application Center」(略して AppHub)がオンラインになりました: https://developer.aliyun.com/hub。

App Hub は、公式 Helm Hub 内のすべてのアプリケーションを同期し、これらのチャート内のアクセスできないミラー URL (gcr.io、quay.io など) をすべて自動的に置き換えます。国内の開発者も、Helm Install を通じてワンクリックでアプリケーションをインストールできます。

2. 例: Helm V3 を使用してゲストブックをすばやくデプロイする

3. 初のクラウドネイティブアプリケーションコンテストがオンラインで開催されます。 Helm Chartsをアップロードすると、CherryキーボードとApple AirPodsヘッドフォンを獲得するチャンスがあります

------ 本文 ------

大企業のプログラマーであるシャオ・チャンにとって、これは普通の朝です。誰もが何かを議論しているようです:

「え?隣の会社がK8sを使ってアプリケーションをリリースしてるって聞いたんだけど?」

「ヘルムが使われているそうです!」

いつものように、シャオ・チャンはこれらの退屈な議論にはまったく関心がなかった。彼は机の前に静かに座り、Gitlab を改造して自社開発したプロジェクト管理システムを開き、いくつかのボタンをクリックして、ハードワークの一日をスタートしました。

しかし今回は、何らかの理由で、シャオ・チャンは少しパニックになりました。「ヘルム?ヘルムって何?」

------ 分割線 ------

Helm——K8s アプリケーションのデプロイメントおよびパッケージ化ツール

ユーザーが K8s アプリケーションをデプロイしたい場合、最も早い方法は何ですか?

Kubernetes (略して k8s) はコンテナをデプロイおよび管理できるプラットフォームであることはご存じのとおりです。しかし、k8s では「アプリケーション」の概念はまだ抽象化されていません。アプリケーションは、多くの場合、複数の k8s リソース (デプロイメント、サービス、ConfigMap) で構成されます。したがって、アプリケーションに含まれるリソース (K8s API リソース) を k8s 上にデプロイして管理するツールが必要であり、これが Helm の機能です。

さらに、Helm はアプリケーションを記述するための Chart 形式を定義します。チャートを理解するには?たとえば、APK 形式でパッケージ化された Android プログラムは、Android システムを実行しているどの携帯電話にもインストールできます。 k8s を Android システム、K8s アプリケーションを Android プログラムと比較すると、Chart は APK に例えることができます。これは、K8s アプリケーションが Chart にパッケージ化されている限り、Helm を介して任意の k8s クラスターにデプロイできることも意味します。

一般的に言えば、Docker イメージを使用する場合と同じように、他の人が作成した Helm Chart を直接使用できます。そのため、Helm コミュニティは公式の Helm Hub を維持しています。これにはさまざまなアプリケーションが含まれており、現在はクラウド ネイティブ開発者がアプリケーションを検索およびダウンロードするためのメイン サイトとなっています。

AppHub——Helm Hubの中国語サイト

残念ながら、中国で Helm Hub を使用することは、ほとんどの開発者にとって苦痛な経験です。

理由は簡単です。いずれかの Charts ファイルを開くと、アクセスできないミラー URL が多数含まれていることがわかります。

または、まったくアクセスできない Charts ライブラリに頼ることもできます。

当社のソフトウェア エンジニアの時間は非常に貴重 (少ない) なので、このような退屈なネットワークの問題 (霧) を解決するのに時間を費やしたくありません。

しかし、海外のプログラマーが helm install コマンド 1 つだけでアプリケーションをデプロイしているのを見ると、やはり少しうらやましく感じてしまいます...

クラウド ネイティブ アプリケーション管理の検討を正式に開始する前に、まず「Open Cloud Native Application Center」(Cloud Native App Hub、略して AppHub) というサービスを紹介します。このサービスのホームページは https://developer.aliyun.com/hub です。

Open Cloud Native Application Center とは何ですか?

AppHub は、国内のパブリック クラウドでホストされる、完全にパブリックな Helm ハブ「China Station」です。このサイトの重要な役割は、Helm 公式ハブでホストされているすべてのアプリケーションを中国に自動的に同期することです。同時に、Charts ファイル内の gcr.io などのネットワーク アクセスの問題があるすべての URL を、安定した国内ミラー URL に自動的に置き換えます。

このようにして、中国の開発者は最終的に Charts を自由に検索し、 helm install コマンドを直接使用して、これらのアプリケーションを世界中の任意の Kubernetes クラスターにインストールできるようになります。これまで、Helm Hub China ミラー サイトは、Helm Hub North American 公式サイト https://hub.helm.sh/ のすべてのコンテンツをリアルタイムで完全に同期しており、GitLab などの人気のあるサードパーティ Charts Repos もいくつか選択して同期しています。合計 344 枚のチャートがリリースされており、その数は今も増え続けています。

次は、私たちが見たい実践編に突入します!

例: ゲストブックをできるだけ早く導入する

まず、もちろん、Helm をインストールします。

ここでは、Helm v3 を使用することを強くお勧めします。

Helm v3 と Helm v2 の違いは Python 2 と 3 の違いと同じくらい大きく、Helm v2 よりもはるかに簡単に使用できます (例: サーバー側コンポーネント Tiller をインストールする必要はありません)。なぜ Helm v3 なのでしょうか?これについては、「できるだけ早く Helm v3 に切り替える必要がある理由」という記事を検索すると説明されています。

国内の開発者の便宜を図るため、Helm v3 バイナリ ファイルのダウンロード リンクを中国に自動的に同期しました (ぜひお試しください。本当に数秒でダウンロードできます)。

  • MacOS amd64 tar.gz
  • MacOS amd64 zip
  • リナックス 386
  • リナックスamd64
  • リナックスarm64
  • ウィンドウズamd64

Helm バイナリ ファイルをダウンロードし、$PATH に直接解凍すると使用できるようになります。

次に、Helm を使用してゲストブック アプリケーションをすばやくデプロイします。ここでは、Alibaba Cloud Kubernetes サービスが実行されていることを前提としています (実行されていない場合でも問題ありません。以下では独自の K8s クラスターを構築する例を示します)。

最初のステップは、apphub を Helm Hub リポジトリとして追加することです。

  1. $ helm リポジトリに apphubを追加しますhttps://apphub.aliyuncs.com

コマンドラインで guestbook を直接検索できます。

  1. $ helm ゲストブックを検索
  2. 名前チャートバージョン アプリバージョン 説明
  3. apphub/guestbook 0.2.0 1.0.0 Guestbook の 3 層 Web をデプロイするためのHelm チャート...

次に、コマンドを 1 行入力します。

  1. $ helm インストール guestbook apphub/guestbook

ゲストブックサービスにアクセスする

デプロイが完了したら、次のコマンドを実行してクエリを実行し、ポッドが起動するのを待ちます (実行中)。

  1. $ kubectl ポッドを取得する
  2. 名前準備完了 ステータス 再起動 年齢
  3. guestbook-d85895895-5mdx6 1/1 ランニング 0 5分59秒
  4. guestbook-d85895895-zh4l4 1/1 ランニング 0 5分59秒
  5. redis-master-7b5cc58fc8-2wjmn 1/1 実行中 0 5分59秒
  6. redis-slave-859585ff7f-4v9hj 1/1 実行中 0 5分59秒
  7. redis-slave-859585ff7f-fppqn 1/1 実行中 0 5分59秒

クエリサービスアドレス:

  1. $kubectl get service -l app.kubernetes.io/ name =guestbook
  2. 名前タイプ クラスター IP 外部 IP ポート 年齢
  3. ゲストブック ロードバランサー 172.21.1.213 47.95.136.189 3000:32244/TCP 11m

ゲストブック サービスには外部 IP 経由でアクセスできます。

Minikube を使用するか、独自の K8s クラスターを構築しますか?

実際、K8s 自体はクラウド サービスと独自に構築したクラスターを区別しません。ただし、クラウドによって負荷分散サービスが提供されていない場合は、NodePort を使用するなど、サービスへのアクセス方法が少し複雑になります。

  1. $ helm インストール guestbook apphub/guestbook --set service.type=NodePort  

このコマンドを実行すると、アプリケーションは自動的に次のアクセス方法を要求します。 --set を使用してアプリケーション パラメータを設定する方法については、次の記事で詳しく説明します。

Minikube の場合は、アクセスする前に Minikube からこの NodePort サービスをマップする必要もあります。

  1. $ minikube サービス ゲストブック

「ワンクリックインストール」を試してみる(体験機能)

通常のデプロイメント方法に加えて、AppHub の Web UI を介して、チャートを任意のクラウドの k8s にワンクリックでデプロイすることもできます。

たとえば、ゲストブック アプリの詳細ページを開いて、「ワンクリック インストール」をクリックします。

次に、「インストール パラメータ」ポップアップ ウィンドウに対応するサーバー URL と base64 でエンコードされた証明書データを入力し、「確認」をクリックすると、AppHub は対応する k8s クラスターにゲストブック チャートをインストールしようとします。成功するとポップアップウィンドウが表示されます。

ただし、AppHub 上のアプリケーションの構成パラメータを直接変更することはできないため、この機能は現時点では単なる「体験」にすぎません。オンラインでの「アプリカスタマイズ」機能はAppHubのロードマップに含まれており、来月リリースされる予定です。

しかし、ロードマップについて言えば、AppHub の 6 か月以内のロードマップは Github でオープンソース化されています。はい、Github を使用して、いつでもこの Helm Hub China 小規模サイトの改善アイデアを提案できます。たとえば、「アプリケーションのカスタマイズ」をより適切に実行するにはどうすればよいでしょうか?独自の Charts Repo に接続してホストするにはどうすればよいでしょうか?等々。

私たちのスローガンは、「すべての中国人開発者は私たちの PM です!」です。 (真顔)

ヘルムよりもはるかに優れています!

ご覧のとおり、Helm を介して K8s アプリケーションを迅速にデプロイするプロセスは、使用しきい値と精神的負担が非常に低いです。従来のアプリケーション構築、オーケストレーション、リリースのプロセスと比較して、Helm + K8s の自動化された組み合わせは、クラウド時代の開発者の効率を向上させる唯一の方法になりつつあります。

ここで紹介する公式ハブ リポジトリから同期されたすべてのアプリケーション チャートは、この Github: cloudnativeapp/charts でホストされています。 AppHub に関して不満がある場合は、このリポジトリで問題を提起してください。プルリクエストを送信して、チャートとリポジトリを AppHub に追加することもできます。

第1回クラウドネイティブアプリケーションコンペティションの登録受付が開始しました

ここまでの説明を読んだら、ぜひ独自のクラウド ネイティブ アプリケーションを作成してみたいと思います。

クラウド ネイティブ アプリケーション開発コンテストの登録が開始されました。このコンテストは、中国での Helm Charts の使用を奨励および普及させ、国内の開発者が独自のアプリケーションをクラウドネイティブな方法でパッケージ化および配布できるようにすることで、クラウドネイティブの波をより有効に活用し、クラウド時代のソフトウェアの力を最大限に引き出すことを目的としています。

9月2日までに、任意の言語でコンテナ化してK8s上で実行できるアプリケーションを開発し、Helm Charts形式にすることでコンテストに参加できます。 Apple Airpods、Cherryキーボード、Tmall Genie、Alibaba Cloud Tシャツなど、豪華な賞品をご用意しております。クラウドネイティブアプリケーションに興味のある学生の皆様のご参加を心よりお待ちしております。

登録リンク

著者について: Deng Hongchao は、Alibaba Cloud Container Platform のソフトウェア エンジニアであり、元 CoreOS ソフトウェア エンジニアです。彼は Kubernetes Operator メカニズムのオリジナル作成者の 1 人であり、初期の Operator オープンソース プロジェクトの作成に参加しました。彼は、K8s アプリケーション管理システムに関する広範な研究と経験を持っています。

<<:  クラウド コンピューティングの限界: エッジでの機械学習が必要な理由

>>:  テンセントクラウドデータベースが戦略的なアップグレードを開始し、5つの新しいデータベース製品をリリース

推薦する

電子商取引トラフィックの進化の歴史

「双十一」は13年目に入り、ほぼすべての電子商取引プラットフォームが準備を進めているが、李佳琦と魏亜...

Googleが検索ページをアップグレード、検索エンジンのユーザーエクスペリエンスの嵐を巻き起こす

百度と360検索エンジンが争っている間に、Googleは静かに検索ページをアップグレードし、検索ペー...

ブログブロックの原因となる不適切な操作の分析

Baidu が一連のアルゴリズムを更新した後、SEO の外部リンク専門家は、検索エンジンのニーズを満...

Baidu はどのようなサイトを重視し、よく取り上げているのでしょうか?

現在、Baiduの組み入れについて話すとき、誰もがBaiduの組み入れがますます困難になっていると感...

#新学期特別セール# DWIDC: 湖北省コンピュータ室、200G防御、VPSは68元から(4G/4C/50G/10M帯域幅)、専用サーバーは385元から(32G/32C/480gSSD/50M帯域幅)

9月は新学期の始まりであり、Dwidcは学生とネットユーザー向けに新学期特別セールを開始しました。湖...

ウェブサイトパターン分析: Pinterest の「ウォーターフォール」の背後にある心理学

Pinterestはとても人気があります。 comScore のデータによると、Pinterest ...

ウェブサイトの SEO 効果を最大化するにはどうすればいいですか?この仕事を定期的に行うだけです。

画像出典: Tuchong Creativeホームページ構築が完了し、しばらくSEO対策が始まってい...

Alibaba Cloud Native 実践サミット: デジタル経済時代のクラウドネイティブ

著者: ユン・チャオ【51CTO.comオリジナル記事】導入昨年はクラウド ネイティブが爆発的に増加...

ウェブサイト最適化のあらゆる詳細とすべてのステップを確認する

ウェブサイトの最適化は長いプロセスです。初期の計画からウェブサイトの構築、サイト内最適化、外部リンク...

VMwareは持続可能なイノベーションを推進し続けます

暗号通貨、機械学習、ビッグデータなどの計算集約型テクノロジーの急速な導入により、データセンターの電力...

V.PS のオランダ VPS、高性能 AMD プラットフォーム + デュアルハイエンド as4809/as9929 ラインの簡単なレビュー

以前、Hostcatでv.psのオランダvpsの評価記事「V.PSはどうですか?オランダAS9929...

#ブラックフライデー#: justhost-all は月額 2.5 ドルから、無制限のホスティングと 1 つの無料ドメイン名を提供

justhost は私が気に入っている有名なホスティング ブランドです。今年のブラック フライデーで...

入札結果が悪かったいくつかの理由の分析

過去2年間、多くの中小企業から次のような声が聞こえてきました。「入札効果はますます悪化し、プロモーシ...

レノボ・グループは2日前に今年の最高値を更新したが、その後11%以上下落した。

月収10万元の起業の夢を実現するミニプログラム起業支援プランA5ベンチャーネットワーク(公開アカウン...