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

推薦する

アリババは7月1日からリベートを停止し、リベートウェブサイトは再編されアップグレードされる

5月15日午後、アリババグループ傘下のオンラインマーケティングプラットフォーム「アリママ」は「リベー...

人間と幽霊の愛、異次元性、心を開く方法を教える 10 本のビデオと 5 つのルーチン

月収10万元の起業の夢を実現するミニプログラム起業支援プラン創造的な心を持っているかどうかこそが、創...

小紅樹の十字路:草を植えるコミュニティ?

コンテンツ コミュニティはユーザー ロイヤルティが高く、利用時間も長いですが、収益化への道は常に非常...

スマートトラベルは「次のステップ」を迎えており、ファーウェイクラウドは西村で業界リーダーと議論している

中国の自動運転市場が年々熱を帯び、産業政策の支援が継続的に増加し、インフラ建設が継続的に改善され、新...

ウェブサイトのスナップショットに影響を与えるいくつかの主要な要因

当社では、ウェブサイトが検索エンジンにさらに多く含まれるようにネットワークの最適化を行っていますが、...

製品に個性を与える: 感情的なデザインの要素と実例

[編集者注] この記事は、@C7210 によって Smashing Magazine から翻訳され、...

いくつかの「疑似SEO」現象の真の側面を暴露

SEOがいつ変わったのかはわかりません。もはや技術について語ることはなく、さまざまな高尚な理由で本題...

クラウドコンピューティングとエンタープライズソフトウェアが世界のIT支出増加を牽引

デジタルトランスフォーメーションが IT リーダーにとって最優先事項であるかどうか疑問に思う場合は、...

オンライン問題レビュー、JVM Fast Throw のストーリー

[[394549]]まず第一に、これは JVM の基盤となる最適化に関するいくつかの知識ポイントに関...

高級品Eコマース:供給が致命的な問題となり、変革に失敗した場合は閉鎖される

【はじめに】高級品電子商取引は誤った提案です。国内の高級品ウェブサイトの多くは、当初は海外のモデルを...

ハイブリッド クラウド セキュリティの基礎: 知っておくべき 4 つのこと

[[227650]]他の大規模な IT 変更と同様に、ハイブリッド クラウド モデルを導入するには、...

Buyvm-7USD/KVM/Windows/2GB RAM/40GB SSD/2TB トラフィック

いまだに高額で低構成の VPS を使っているなら、あなたは本当に時代遅れです。 buyvm.net ...

従来のウェブサイト構造に課題を感じていませんか?

従来の SEO 理論では、適切に計画された Web サイト構造には、少なくともホームページ、カテゴリ...

ファーウェイのクラウドERP移行ソリューションの評価、企業のクラウド化を加速

企業は完全なクラウド移行の時代を迎えており、ERP をクラウドに移行することが一般的な傾向となってい...

小規模ウェブマスターは、Baidu アルゴリズムの嵐をどうやって乗り切ることができるでしょうか?

Baiduのアルゴリズムのアップデート以来、多くの小規模ウェブマスターは怒りをぶつける場所がないと思...