01の概要
ヘルムは、迅速かつ容易なインストールのためのkubernetesパッケージ管理ツールで、Linuxオペレーティングシステムの役割と同様の管理、アンインストールkubernetesアプリケーション、YUMやapt-getをソフトウェア。設計の主な目的:
新しいグラフパッケージを作成します。
チャートパッケージファイル圧縮パッケージ
グラフの保存、ファイルとの統合は、チャートを入手します
インストールとkubernetesクラスタにチャートをアンインストールします
ヘルム管理アプリケーションインストールすることでチャート
02コンセプト
チャート:ヘルムパッケージ、アプリケーションで必要とされるミラー操作が含まれており、他のリソース定義に依存して、サービスの定義もKubernetesクラスターが含まれていてもよいです。
リリース: Kubernetesクラスタ上で実行されているのチャートの一例を。同じクラスタでは、チャートは多くの時間をインストールすることができ、それぞれのインストールは、新しいリリースを作成します。
リポジトリ:公開用およびHTTPプロトコルを介してファイルリポジトリチャート指数やアーカイブにアクセスするためのチャート倉庫、ヘルムクライアントを保存します。
03コンポーネント
指揮:クライアントプログラムのユーザーに利用できるコマンドラインの形式でサーバー-tillerと通信することができます。
ティラー:サーバソフトウェアは、ヘルムクライアントと対話し、kubernetes APIサーバーコンポーネントと対話するために使用されます。
アーキテクチャ次のように:
コミュニティ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 =真" \ >安定/ワードプレス
参照文献: