-helmを導入された最初の4つのKubernetesパッケージ管理ツール

01の概要

ヘルムは、迅速かつ容易なインストールのためのkubernetesパッケージ管理ツールで、Linuxオペレーティングシステムの役割と同様の管理、アンインストールkubernetesアプリケーション、YUMやapt-getをソフトウェア。設計の主な目的:

  • 新しいグラフパッケージを作成します。

  • チャートパッケージファイル圧縮パッケージ

  • グラフの保存、ファイルとの統合は、チャートを入手します

  • インストールとkubernetesクラスタにチャートをアンインストールします

  • ヘルム管理アプリケーションインストールすることでチャート


02コンセプト

チャート:ヘルムパッケージ、アプリケーションで必要とされるミラー操作が含まれており、他のリソース定義に依存して、サービスの定義もKubernetesクラスターが含まれていてもよいです。

リリース: Kubernetesクラスタ上で実行されているのチャートの一例を。同じクラスタでは、チャートは多くの時間をインストールすることができ、それぞれのインストールは、新しいリリースを作成します。

リポジトリ:公開用およびHTTPプロトコルを介してファイルリポジトリチャート指数やアーカイブにアクセスするためのチャート倉庫、ヘルムクライアントを保存します。


03コンポーネント

指揮:クライアントプログラムのユーザーに利用できるコマンドラインの形式でサーバー-tillerと通信することができます。

ティラー:サーバソフトウェアは、ヘルムクライアントと対話し、kubernetes APIサーバーコンポーネントと対話するために使用されます。

アーキテクチャ次のように:

1

コミュニティYunqiからの写真


04インストールの展開

インストールと配備の1舵

ダウンロード版、バージョンリストgithub.com/helm/helm/r ...

解凍、 tar -zxvf helm-v2.0.0-linux-amd64.tgz

実行ディレクトリに解凍バイナリファイルmv linux-amd64/helm /usr/local/bin/helm、そして実行する helm --helpヘルプドキュメントを


インストールと配備の2分げつ

コンソール > helm initコマンド、倉庫からチャートチャートパッケージをダウンロードし、それらに応じてkubernetesクラスタ構成に展開されます。

デフォルトのチャートの倉庫https://kubernetes-charts.storage.googleapis.com/index.yaml

デフォルトのイメージは、ティラーを使用しています gcr.io/kubernetes-helm/tiller:v2.13.1

壁に直接アクセスすることはできませんため、国内、我々は代替倉庫や自己イメージのバージョンは、次のコマンドを介したインストールの配備ヘルムサーバーに対処する必要があります。

>ヘルムのinit --tiller-画像registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.13.1--stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts  

作成/root/.helm/repository/repositories.yaml  
安定repowithURLの追加:https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts  
ローカルrepowithURLの追加:http://127.0.0.1:8879/charts  
$ HELM_HOMEがあり/root/.helmで構成されて。 

ティラー(ヘルムサーバー側コンポーネントは)あなたのKubernetesクラスタにインストールされています。 

ご注意:bydefault、ティラーはdeployedwithan insecure'allow認証されていないusers'policyです。 
preventthisに、run`helm init`withtheフラグを--tiller-TLS-確認します。 
https://docs.helm.sh/using_helm/#securing-your-helm-installation:インストールが見確保の詳細については  
ハッピーHelming!


少し待ってから、次のコマンドを実行し、次の出力のインストールが成功した参照してください。

> helmversionの  
クライアント:&version.Version {SemVer: "v2.13.1"、GitCommit: "618447cbf203d147601b4b9bd7f8c37a5d39fbb4"、GitTreeState: "クリーン"}  
サーバー:&version.Version {SemVer: "v2.13.1"、GitCommit: "618447cbf203d147601b4b9bd7f8c37a5d39fbb4"、GitTreeState。 "掃除"}


次のように一般的なコマンドは、ヘルム--helpを実行することにより見ることができます。

  • 倉庫ヘルムでアプリケーションを見つけるために検索 

  • ダウンロードチャートでは、ローカルに倉庫からパッケージを取得します 

  • リリースリストのK8Sクラスタの展開内のリスト 

  • の特定のリリースのステータス情報を表示します 

  • チャートをインストールするインストール 

  • チャートを記述する情報を検査 

  • 展開のリリースを削除するには、[削除] 

  • グラフを作成する作成します 

  • パッケージには、いくつかのグラフを梱包行い、 

  • レポディスプレイは、チャートの倉庫を削除し、追加します


05アクセス認可

上記の手順では、我々はkubernetesクラスタをティラーするために必要なリソースを展開しますが、展開のない定義がないためティラー・デプロイのための認可のために、次のコマンドを実行し、拒否に不正アクセスapiserverのServiceAccountリードをティラーは、デプロイします。

> kubectlがserviceaccount --namespace KUBE-システムティラー作成  
> kubectl clusterrolebindingティラー・クラスタ・ルール--clusterroleを作成=クラスタ管理者--serviceaccount = KUBE-システム:ティラー  
> kubectlパッチは--namespace KUBE-システムティラー・デプロイを展開します- P '{ "スペック":{ "テンプレート":{ "スペック":{ "serviceAccount": "チラー"}}}}

WordPressの舵によって展開06

次のコマンドを入力し、私たちは、実権を握ってWordPressのブログサイトを作成することができます

>指揮インストール--name wordpressのテスト--set "persistence.enabled =偽、mariadb.persistence.enabled = false" を安定/ワードプレス

以下のコマンドを使用して、ログイン情報を取得します。

> kubectlgetsvc -oワイド   
> kubectlgetsecret --namespacedefaultwordpress-テストwordpressの-o jsonpath = "{。data.wordpressパスワード}" | base64で--decode

ブラウザでページを開いて、良いビルドWordPressのブログサイトを参照してくださいするには、ユーザー名とパスワードを入力してください


07アップグレード

そこに新しいチャートリリースパッケージがあるか、既存のリリースの設定を変更したい場合、あなたができる場合は helm upgrade次のようなコマンド、実装されています。

>舵アップグレードwordpressのテスト\   
> --set "persistence.enabled =真、mariadb.persistence.enabled =真" \   
>安定/ワードプレス


参照文献:

helm.sh/docs/

yq.aliyun.com/articles/15...


おすすめ

転載: blog.51cto.com/14459446/2440737