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つの新しいデータベース製品をリリース

推薦する

SEO は今でも役に立つのでしょうか?

SEO は今でも役に立ちますか? 最近、検索エンジン最適化が Baidu にどの程度影響を及ぼしてい...

インドの出会い系サイト立ち上げストーリー、ベンチャーキャピタル投資が2000万ドルを突破

「オンライン仲人」も狂っている張菲菲最新のボリウッド映画を観るのが好きなら、男性と女性の主人公の間の...

中小企業はどのようにしてウェブサイトを通じて顧客や注文を獲得するのでしょうか?

今日のインターネットの急速な発展に伴い、多くの中小企業が変革を起こし、オンラインマーケティング業界に...

DevOpsからDevSecOpsまで、プロセス全体にわたって実行されるセキュリティスタック

「21世紀に最も大切なものは何でしょうか?それは才能です!」ゲーおじさんはかつて『泥棒のいない世界』...

arkecxはどうですか?オランダのアムステルダムにあるクラウドサーバーの簡単なレビュー

arkecxはどうですか?オランダのarkecxのコンピュータールームはどうですか?オランダは地理的...

hostus-30% 割引コード/アジア最適化/片道 CN2/768M メモリ VPS 年間支払い 16 ドル/Alipay

Hostus からの活動が見られなくなって久しいですが、最近 Hostus のオーナーと連絡を取った...

SDN と 5G が出会うと、どのような火花が散るでしょうか?

SDN は、従来の IP ネットワークに大きな変化をもたらします。これは、3 つの側面で IP ネッ...

教育・研修ウェブサイトのキーワードデータ分析

検索エンジンで最も人気のある業界は、ヘルスケア、不動産、教育、B2C であり、最も多くの投資と検索が...

hudsonvalleyhost-70% オフ/聖パトリックデーをお祝い/Web ホスティング/VPS/サーバー

HudsonValleyHost (略して HVH) は、聖パトリックデー[注]を祝うためにフルサー...

CKA 受験者の皆さん、ご注意ください: これらの展開ポイントが役立ちます!

1. デプロイメントとは何かKubernetes では、Deployment は Pod のデプロイ...

5 つ星評価システムは信頼できないのでしょうか? 映画サイトにもっと良い選択肢はありますか?

多くの人がオンラインで映画リソースを探すとき、まず映画の評価を見て、それから比較的評価の高い映画を選...

簡単な分析: SEO は本当に終焉を迎えたのか?

SEOの発展見通しについて言えば、昨年から百度アルゴリズムが継続的に進化・アップグレードしたことによ...

持続的なブランド成長の秘訣と3大マーケティング戦略!

消費者の主力の変化と消費者需要の変化により、ブランドのマーケティング手法は微妙に変化しました。ユーザ...