みなさんこんにちは。私はブラザー・スネイルです。 50 個のマイクロサービスを持つプロジェクトがあり、各マイクロサービスにサービス、デプロイメント、イングレス、pvc などの yaml ファイルがあり、合計で約 200 個のファイルがある場合、このプロジェクトを k8s ベースでプライベートに配信する必要があると想像してください。あなたの場合、どのようにしてアプリケーションを迅速に展開しますか? まず、これについて考えてみましょう。
npmやmavenなどのパッケージ管理ツールのように、これらのyamlファイルをパッケージに入れて、キーパラメータを公開し、デプロイ時にこれらのパラメータを指定してワンクリックデプロイを行い、アンインストール時にワンクリックでアンインストールできるツールがあれば、とても便利ではないでしょうか。 Helm はまさにそのようなツールです。 ヘルムとはHelm は、Kubernetes 上でアプリケーションをパッケージ化、デプロイ、管理できるツールです。最も複雑な Kubernetes アプリケーションの定義、インストール、アップグレードにも役立ちます。 Helm も CNCF の卒業プロジェクトです。 Helm における次の概念:
私たちは何をすべきでしょうか?ここではHelmの具体的な機能については紹介しません。詳細は公式サイトでご確認ください。ここでは、Helm の使い方についてのみ説明します。これにより、Helm を理解し、どのようなシナリオで Helm を使用するかを知ることができます。それでは、例を挙げてゲームプレイを説明します。 例の紹介フロントエンドとバックエンドに分かれた運用保守展開システムがあり、お客様のお部屋に展開する必要があります。 k8s アーキテクチャは次のとおりです。 8 つのファイルが必要であることがわかります (Istio には 2 つの yaml ファイルが必要です)。次の例では、このチャートを段階的に作成します。 1. 例の作成helm create dp-manage コマンドを使用してチャートを作成します。実行後、以下に示すように、nginxチャートがデフォルトで生成されます。 2. 主要文書の説明(1) チャート.yaml 現在のチャートのバージョンを定義し、現在のチャートの目的を説明します。 name パラメータは、後続のアップロードとダウンロードに使用されるチャート名を示します。 (2)値.yaml 変数パラメータはこのファイルで定義され、image.repositoryなどのYAMLテンプレートで参照され、以下に示すように.Values + 変数名を通じて参照されます。 (3) _helpers.tpl フリーメーカーのマクロに似た共通コードブロック定義。yaml で名前によって参照され、dp-manager.selectorLabels などのすべての変更が含まれます。 3. 変更例デフォルトの Nginx Chart ではニーズを満たすことができないため、冗長なファイルを削除し、以下に示すように、運用および保守デプロイメント システムの yaml ファイルを追加します。 8 つのテンプレート ファイルがあり、そのうち backend-dp.yaml が次のように定義されていることがわかります。 values.yml パラメータと _helpers.tpl の共通コード ブロックを参照することで、最終的に k8s の deploy.yml ファイルが生成されます。他のファイルは一つずつ紹介されません ビルドとデプロイ前述のように、チャートを作成した後、チャート ウェアハウスにアップロードし、クライアント ルームでこのウェアハウスに接続してダウンロードする必要があります。したがって、チャート ウェアハウスが必要になります。ここでは Harbor を使用します。 Habor はコンテナ イメージ ウェアハウスとしても、チャート ウェアハウスとしても使用できるため、一石二鳥です。ご利用をお勧めします。 1. 関連倉庫Helm クライアントをインストールした後、次のコマンドをローカルで実行して、リポジトリに関連付けます。 追加後、 helm repo list を実行して、追加された myrepo ウェアハウスを見つけます。 2. ビルドとパッケージ化ウェアハウスが関連付けられた後、 helm package dp-manager コマンドを実行してパッケージ化すると、 dp-manager-1.0.0.tgz パッケージが生成されます。 helm cm-push dp-manager-1.0.0.tgz myrepo を実行して Harbor 倉庫にプッシュします。 Myrepo は私たちの倉庫の名前です。プッシュ後、Harbor にログインして以下のように表示します。 3. プルデプロイメントチャートがアップロードされたら、顧客ルーム内に Helm クライアントと Kubectl クライアントをインストールします。具体的なインストール方法はオンラインで確認できます。 helm repo add を使用して、Habor 倉庫アドレスを関連付けます。関連付け後、検索コマンドを実行して、運用保守展開システムのチャートを検索します。 チャートが見つかったら、それを展開できます。展開方法は2つあります。 1 つは、チャートをローカル コンピューターにダウンロードし、デプロイ前に values.yaml ファイルを変更することです。もう 1 つは、ダウンロードせずに展開するためのパラメータを指定することです。 2 番目の方法を使用します。 このコマンドでは、ドメイン名やストレージ サイズなどのパラメータを指定します。これらのパラメータは values.yaml ファイルを通じて公開されます。また、このコマンドは、運用保守展開システムをデフォルトのコマンド スペースに展開します。名前空間は -n パラメータで指定できます。 コマンドが実行されると、以下に示すように helm list を通じて表示できます。 4. 更新apollo.cluster の値が default から prod に変更されたと仮定して、アップグレードを実行して更新します。 5. アンインストールアンインストールは非常に簡単です。次のコマンドを実行するだけです。 |
<<: SSHトンネルを使用してクラウドホストサービスのアクセス制限を突破する
>>: K8S 実践: 効率的に作業するための非常に実用的な Kubectl エイリアス ツールの推奨
私は半年以上自分のウェブサイトを構築しており、初心者レベルのウェブサイトビルダーと言えるでしょう。現...
「品物の持ち込み」は、予算が限られているときに人々が最も気にし、最も心配する話題になっています。 「...
rootnerds (ドイツに登録) は、ドイツのフランクフルト データ センターで、openvz ...
Xing Feng によるメモ: リンクの売買は、かつてはブラック ハット SEO 操作の重要なステ...
EIG 傘下のバーチャルホスト数社からプロモーションメールが届きました。さらに興味深かったのは、プロ...
プロバイダーから顧客までのパイプラインの短縮、リリースの安定性の向上、ソフトウェアとハードウェア...
現在、検索エンジンマーケティング(略してSEM)、ブログマーケティング、ソフトテキストマーケティング...
GoogleはC2C教育製品の発売を計画しており、「Taobao Classmates」が正式に発売...
検索エンジンマーケティング理論では、PPC(クリック課金型広告)は企業のSEM戦略の中核と言えます。...
SEOの現状についてお話ししますSEOは検索エンジン最適化の略で、オンラインマーケティングに欠かせな...
viralvps は、現在サーバーが 2 台のみで、どちらも 70 日以上アイドル状態になっている新...
実は私は、貴金属関係の会社でインターネットとは関係のない技術系の仕事をしている技術者です。興味があっ...
ウェブマスター、あなたのウェブサイトはなぜ含まれていないのですか?コンテンツの質は十分に高く、外部リ...
locvps(グローバルクラウド)は今月、ダブル12とダブル12リターンの特別オファーを開始します。...
昨日の午後、一部のネットユーザーが「Yinyi.com」というウェブサイトが新華網のページに非常に似...