このチュートリアルでは、Google Cloud コンソールで Google Kubernetes Engine(GKE)の [アプリケーション] ページを使用する方法を説明します。
多くのアプリケーションやリソースに Kubernetes を導入すると、1 つのアプリケーションに関連するさまざまなコンポーネントを特定して追跡することが困難になる場合があります。各名前空間に複数のアプリケーションをデプロイする場合、どのリソースがどのアプリケーションに関連しているのか判断するのは難しいことがあります。また、アプリケーションの概要、所有者、サービスの操作方法を説明するドキュメントやメタデータを複数のロケーションで検索することもよくあります。
GKE は、[アプリケーション] ページでこれらの課題の解決を支援します。
[アプリケーション] ページはアーキテクチャ内で独立したリソースで、システムに関するメタデータを記述するためのリソースです。このページを使用すると、アーキテクチャを変更することなく、リソースを視覚的に整理できます。YAML ファイルで値を定義することで、すべてのアプリケーション リソースをグループ化し、運用チームの重要なメタデータを含めることができます。YAML ファイルを作成、変更、削除しても、既存のリソースに影響はありません。システムを危険な状態にすることなく、リソースをすぐに操作できます。
このページでは、このアプリケーションを Kubernetes アプリケーション リソースに実装し、ユーザー定義のメタデータを追加して GKE でのアプリケーションの管理を整理、簡素化する方法を紹介します。
このチュートリアルは、GKE で実行するアプリケーションを作成するデベロッパーを対象としています。Kubernetes の基本的なコンセプトに精通し、Kubernetes リソースの YAML ファイルの作成経験があることを前提としています。
目標
- Kubernetes アプリケーション リソースを導入する。
- Kubernetes アプリケーション リソースを既存のアーキテクチャに追加する。
- Google Cloud コンソールで、アプリケーションに関するカスタム情報を作成し、表示する。
費用
このドキュメントでは、Google Cloud の次の課金対象のコンポーネントを使用します。
料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。
このドキュメントに記載されているタスクの完了後、作成したリソースを削除すると、それ以上の請求は発生しません。詳細については、クリーンアップをご覧ください。
始める前に
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine and Kubernetes Engine APIs.
-
In the Google Cloud console, activate Cloud Shell.
このチュートリアルのコマンドは、Cloud Shell または Cloud Shell Editor で実行します。
環境の準備
Cloud Shell で、プロジェクトの環境変数を設定します。
export PROJECT_ID=PROJECT_ID gcloud config set core/project $PROJECT_ID gcloud config set compute/zone us-central1-c
PROJECT_ID
は、Google Cloud プロジェクト ID に置き換えます。GKE クラスタを作成します。
gcloud container clusters create sample-cluster
このチュートリアルでは、アプリケーションをデフォルトの GKE クラスタで実行します。
サンプル アプリケーションのインストール
このチュートリアルでは、基本的な Nginx サンプル アプリケーションと Bank of Anthos サンプル アプリケーションを使用して、同じ名前空間で実行される複数のアプリケーションをシミュレーションします。
Cloud Shell で、Nginx サンプル アプリケーションをインストールします。
kubectl apply -f https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/application/web/web.yaml
このコマンドを実行すると、
web
という StatefulSet リソースとnginx
というサービスが作成されます。これらのリソースは、Google Cloud コンソールの GKE の [ワークロード] と [Services と Ingress] のページで確認できます。Bank of Anthos サンプル アプリケーションが保存されている GitHub リポジトリのクローンを作成します。
git clone https://github.com/GoogleCloudPlatform/bank-of-anthos.git cd bank-of-anthos
SSH 認証鍵を生成し、Kubernetes Secret として保存します。
openssl genrsa -out jwtRS256.key 4096 openssl rsa -in jwtRS256.key -outform PEM -pubout -out jwtRS256.key.pub kubectl create secret generic jwt-key --from-file=./jwtRS256.key --from-file=./jwtRS256.key.pub
Bank of Anthos のサンプル アプリケーションを実行するには SSH 認証鍵が必要です。
サンプル アプリケーションをクラスタにデプロイします。
kubectl apply -f kubernetes-manifests
しばらくすると、Google Cloud コンソールの次のページでアプリケーション リソースを確認できます。
次の点にご注意ください。
- Nginx と Bank of Anthos のサンプル アプリケーションのリソースが混在しています。
- [アプリケーション] ページには、まだリソースが表示されていません。[アプリケーション] ページにデータを入力する手順は後のステップで行います。
GKE の準備
[アプリケーション] ページに表示されるリソースは、Kubernetes Application リソースタイプ(オープンソースの Kubernetes プロジェクトが提供するカスタム リソース定義、CRD)によって指定されます。デフォルトでは、Application CRD は Kubernetes で有効になっていません。GKE の一部のサービス(Marketplace や Application Deployment など)では Application CRD がインストールされますが、これらのサービスを使用していない場合、デフォルトではそれらの Application CRD を使用できません。
Application CRD をインストールするには、次の手順を行います。
Cloud Shell で、クラスタごとに Application CRD を 1 回適用します。
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/application/master/deploy/kube-app-manager-aio.yaml
(省略可)コマンドが完了したら、クラスタの Application CRD が表示されます。
kubectl get crd
次の出力は、
applications.app.k8s.io
を含むインストール済みの CRD のリストです。NAME CREATED AT applications.app.k8s.io 2020-07-24T19:32:20Z backendconfigs.cloud.google.com 2020-07-24T19:28:40Z managedcertificates.networking.gke.io 2020-07-24T19:28:57Z scalingpolicies.scalingpolicy.kope.io 2020-07-24T19:28:57Z updateinfos.nodemanagement.gke.io 2020-07-24T19:28:57Z
アプリケーション リソースを含める
これで、クラスタで Application CRD が使用可能になりました。次のステップでは、Application リソースのインスタンスを作成してデプロイします。
Application リソースは Kubernetes リソースであるため、apiVersion
、kind
、metadata
、spec
のフィールドとオプションを含む他の Kubernetes リソースと同様の構造になります。
apiVersion: app.k8s.io/v1beta1
kind: Application
metadata:
name: ...
spec:
...
以降のセクションでは、Application リソースで使用可能なさまざまなフィールドとオプションについて説明します。
ベースとなる Application リソースを作成する
Application リソースは、既存の任意のリソースセットに追加できます。このチュートリアルでは、空のリソースから始めて、各セクションに入力します。
Cloud Shell で、
kubernetes-manifests
ディレクトリにapplication.yaml
ファイルを作成して編集します。touch kubernetes-manifests/application.yaml edit kubernetes-manifests/application.yaml
Cloud Shell エディタが開き、空のファイルが表示されます。
以下の行を貼り付けて、最初のアプリケーションを定義します。
apiVersion: app.k8s.io/v1beta1 kind: Application metadata: name: "bank-of-anthos"
Cloud Shell のメニューバーで、[ターミナルを開く] をクリックします。
Cloud Shell で、リソースを適用します。
kubectl apply -f kubernetes-manifests/application.yaml
Google Cloud コンソールで、[アプリケーション] ページに移動します。
[アプリケーション] ページに、追加したリソースが表示されます。
コンポーネントごとにリソースを含める
[アプリケーション] ページに、Bank of Anthos アプリケーションが表示されます。[名前] フィールドで [bank-of-anthos] をクリックすると、アプリケーションの基本情報が表示されます。
Google Cloud コンソールに表示するさまざまなタイプのコンポーネントを追加できます。たとえば、Service、Deployment、StatefulSet を表示するには、application.yaml
定義の componentKinds
セクションを次のように編集します。
spec:
componentKinds:
- group: v1
kind: Service
- group: apps
kind: Deployment
- group: v1
kind: StatefulSet
次の手順では、これらのコンポーネントを Bank of Anthos リソース定義に追加します。
Cloud Shell のメニューバーで、[エディタを開く] をクリックします。
Cloud Shell エディタで、
kubernetes-manifests/application.yaml
ファイルに次の内容を貼り付け、上書きします。apiVersion: app.k8s.io/v1beta1 kind: Application metadata: name: "bank-of-anthos" spec: componentKinds: - group: v1 kind: Service - group: apps kind: Deployment - group: v1 kind: StatefulSet
spec
セクションを追加して、アプリケーションの定義にService
、Deployment
、StatefulSet
を追加します。Cloud Shell で、リソースを適用します。
kubectl apply -f kubernetes-manifests/application.yaml
Google Cloud コンソールで、Bank of Anthos アプリケーションの詳細ページに移動します。
特定のタイプのコンポーネントが表示されます。
セレクタでリソースをフィルタする
このチュートリアルのこの時点で、コンポーネントのリストには、名前空間全体にわたる定義済みコンポーネント セットを対象とした両方のサンプル アプリケーションで使用するすべてのリソースが含まれています。たとえば、次の図は、Nginx サンプル アプリケーションの nginx
Service と、Bank of Anthos サンプルアプリケーションの transactionhistory
Deployment を示しています。
Bank of Anthos アプリケーションの場合など、特定のアプリケーションのリソースのみを表示するには、セレクタを使用します。セレクタの仕組みを確認するため、次の手順でリソースにラベルを追加します。
Cloud Shell で、
frontend.yaml
ファイルを開きます。edit kubernetes-manifests/frontend.yaml
Cloud Shell エディタで、次の
label
エントリを 18 行目の次に貼り付けます。labels: app.kubernetes.io/name: "bank-of-anthos"
metadata
セクションは次のようになります。apiVersion: apps/v1 kind: Deployment metadata: name: frontend labels: app.kubernetes.io/name: "bank-of-anthos" spec:
完成した
application.yaml
ファイルは次のようになります。apiVersion: app.k8s.io/v1beta1 kind: Application metadata: name: "bank-of-anthos" labels: app.kubernetes.io/name: "bank-of-anthos" spec: selector: matchLabels: app.kubernetes.io/name: "bank-of-anthos" componentKinds: - group: v1 kind: Service - group: apps kind: Deployment - group: v1 kind: StatefulSet
Cloud Shell で、リソースを適用します。
kubectl apply -f kubernetes-manifests/
Google Cloud コンソールで、Bank of Anthos アプリケーションの詳細ページに移動します。
特定のラベルに一致するリソースのみが表示されます。
kustomize
を使用してすべてのリソースにラベルを適用する
アプリケーション内のすべてのリソースに手動でラベルを適用すると面倒な作業になる可能性があります。次の手順では、kustomize
を使用して、すべてのリソースに効率的にラベルを追加する方法を示します。
Cloud Shell で、
kustomize
をダウンロードします。curl -s "https://raw.githubusercontent.com/\ kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash
kustomization.yaml
ファイルを作成して編集します。touch kubernetes-manifests/kustomization.yaml edit kubernetes-manifests/kustomization.yaml
Cloud Shell エディタで、次の行を
kustomization.yaml
に追加します。apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - accounts-db.yaml - application.yaml - balance-reader.yaml - config.yaml - contacts.yaml - frontend.yaml - ledger-db.yaml - ledger-writer.yaml - loadgenerator.yaml - transaction-history.yaml - userservice.yaml commonLabels: app.kubernetes.io/name: "bank-of-anthos"
この
kustomization.yaml
定義では、変更を適用するリソースと変更する変更を指定します。この場合、すべてのリソースにapp.kubernetes.io/name: "bank-of-anthos"
という共通のラベルを付けるように指定します。Cloud Shell で古いリソースを削除します。
kubectl delete -f kubernetes-manifests/
kustomization.yaml
で指定された新しいリソースを適用する前に、古いリソースを削除する必要があります。file
フラグの代わりにkustomize
フラグを使用してリソースを適用します。./kustomize build kubernetes-manifests/ | kubectl apply -f -
Google Cloud コンソールで、Bank of Anthos アプリケーションの詳細ページに移動します。
詳細ページには、Bank of Anthos サンプル アプリケーションのリソースが表示され、Nginx サンプル アプリケーションのリソースは表示されません。
有用なメタデータを画面に表示する
アプリケーションのカスタム メタデータは Google Cloud コンソールで表示できます。その場合、アプリケーションの内容、アプリケーションの所有者、詳細情報、ログイン方法などを含めることもできます。これは、組織内の複数のアプリケーションを運用する場合など、さまざまな用途で役立つ情報です。
以降のセクションでは、追加できるメタデータをいくつか説明します。
説明とドキュメントを追加する
説明とリンクは、[アプリケーション情報] パネルに追加できます。[詳細] ページからこのパネルにアクセスするには、[情報パネルを表示] をクリックします。
このパネルに情報を表示するには、application.yaml
ファイルの descriptor
セクションに description
や links
などの要素を定義します。
descriptor:
description:
links:
- description:
url:
descriptor
セクションを更新する手順は次のとおりです。
Cloud Shell エディタで、
application.yaml
ファイルに次の内容を貼り付け、上書きします。apiVersion: app.k8s.io/v1beta1 kind: Application metadata: name: "bank-of-anthos" labels: app.kubernetes.io/name: "bank-of-anthos" spec: selector: matchLabels: app.kubernetes.io/name: "bank-of-anthos" componentKinds: - group: v1 kind: Service - group: apps kind: Deployment - group: v1 kind: StatefulSet descriptor: description: |- This application simulates a bank's payment processing network using [Anthos](/anthos/). Bank of Anthos allows users to create artificial accounts and simulate transactions between accounts. Bank of Anthos was developed to create an end-to-end sample demonstrating Anthos best practices. links: - description: 'About Anthos on GCP' url: /anthos/ - description: 'Bank of Anthos GitHub Repository' url: https://github.com/GoogleCloudPlatform/bank-of-anthos
Cloud Shell で、Application リソースをデプロイします。
kubectl apply -f kubernetes-manifests/application.yaml
Google Cloud コンソールで、Bank of Anthos アプリケーションの詳細ページに移動します。
更新内容を確認するには、[情報パネルを表示] をクリックします。
[アプリケーション情報] パネルに、説明とドキュメントのリストが表示されます。
ソフトウェア タイプを含める
[アプリケーション] ページのアプリケーション リストに、ソフトウェア タイプに対応するフィールド(ソフトウェア)が表示されます。このフィールドをカスタマイズすることで、必要に応じてアプリケーションの整理や分類ができます。たとえば、ソフトウェアが内部または外部であることを示します。共有ベースタイプから構築された複数のアプリがある場合は、アプリケーションで実装されているベースタイプを示すこともできます。
ソフトウェアの種類に説明を追加するには、application.yaml
ファイルの descriptor
セクションの type
フィールドを使用します。
descriptor:
type: External App
type
の値は、Google Cloud コンソールのハイパーリンクとして表示できます。links
セクションの最初のエントリを使用して、ハイパーリンクの URL を指定します。次の手順では、links
セクションを次のように更新します。
links:
- description: 'Bank of Anthos GitHub Repository'
url: https://github.com/GoogleCloudPlatform/bank-of-anthos
Cloud Shell エディタで、
application.yaml
に次の内容を貼り付けて上書きします。apiVersion: app.k8s.io/v1beta1 kind: Application metadata: name: "bank-of-anthos" labels: app.kubernetes.io/name: "bank-of-anthos" spec: selector: matchLabels: app.kubernetes.io/name: "bank-of-anthos" componentKinds: - group: v1 kind: Service - group: apps kind: Deployment - group: v1 kind: StatefulSet descriptor: type: External App description: |- This application simulates a bank's payment processing network using [Anthos](/anthos/). Bank of Anthos allows users to create artificial accounts and simulate transactions between accounts. Bank of Anthos was developed to create an end-to-end sample demonstrating Anthos best practices. links: - description: 'About Anthos on GCP' url: /anthos/ - description: 'Bank of Anthos GitHub Repository' url: https://github.com/GoogleCloudPlatform/bank-of-anthos
Cloud Shell で、Application リソースをデプロイします。
kubectl apply -f kubernetes-manifests/application.yaml
Google Cloud コンソールで、[アプリケーション] ページに移動します。
「External App」が [ソフトウェア] フィールドに表示されます。
アプリケーションのバージョンを含める
メインの [アプリケーション] ページには、バージョン用のフィールドがあります。このフィールドの値は、デプロイされた実際のバージョンを参照するようにプログラムで更新されます。
バージョン フィールドに入力するには、descriptor
の下に version
フィールドを含めます。次に例を示します。
descriptor:
type: External App
version: "2.3.2"
次の手順では、アプリケーション バージョンのフィールドを追加します。
Cloud Shell エディタで、
application.yaml
ファイルに次の内容を貼り付け、上書きします。apiVersion: app.k8s.io/v1beta1 kind: Application metadata: name: "bank-of-anthos" labels: app.kubernetes.io/name: "bank-of-anthos" spec: selector: matchLabels: app.kubernetes.io/name: "bank-of-anthos" componentKinds: - group: v1 kind: Service - group: apps kind: Deployment - group: v1 kind: StatefulSet descriptor: type: External App version: "2.3.2" description: |- This application simulates a bank's payment processing network using [Anthos](/anthos/). Bank of Anthos allows users to create artificial accounts and simulate transactions between accounts. Bank of Anthos was developed to create an end-to-end sample demonstrating Anthos best practices. links: - description: 'About Anthos on GCP' url: /anthos/ - description: 'Bank of Anthos GitHub Repository' url: https://github.com/GoogleCloudPlatform/bank-of-anthos
Cloud Shell で、Application リソースをデプロイします。
kubectl apply -f kubernetes-manifests/application.yaml
Google Cloud コンソールで、[アプリケーション] ページに移動します。
Bank of Anthos アプリケーションの [バージョン] フィールドに 2.3.2 が表示されます。
管理者の詳細情報を追加する
この手順では、[アプリケーション] ページのメイン セクションにカスタム静的テキストを追加します。application.yaml
ファイルの info
セクションで、次のように詳細を指定します。
info: - name: LABEL value: STRING
静的な値を含めるには、info
セクションに LABEL
と STRING
の詳細を指定します。たとえば、name
には「Owner
」を、value
には「John Smith
」と入力します。
Cloud Shell エディタで、
application.yaml
に次の内容を貼り付けて上書きします。apiVersion: app.k8s.io/v1beta1 kind: Application metadata: name: "bank-of-anthos" labels: app.kubernetes.io/name: "bank-of-anthos" spec: selector: matchLabels: app.kubernetes.io/name: "bank-of-anthos" componentKinds: - group: v1 kind: Service - group: apps kind: Deployment - group: v1 kind: StatefulSet descriptor: type: External App version: "2.3.2" description: |- This application simulates a bank's payment processing network using [Anthos](/anthos/). Bank of Anthos allows users to create artificial accounts and simulate transactions between accounts. Bank of Anthos was developed to create an end-to-end sample demonstrating Anthos best practices. links: - description: 'About Anthos on GCP' url: /anthos/ - description: 'Bank of Anthos GitHub Repository' url: https://github.com/GoogleCloudPlatform/bank-of-anthos info: - name: Owner value: John Smith
Cloud Shell で、Application リソースをデプロイします。
kubectl apply -f kubernetes-manifests/application.yaml
Google Cloud コンソールで、Bank of Anthos アプリケーションの詳細ページに移動します。
詳細ページに、Bank of Anthos アプリケーションのオーナーが表示されます。
アプリケーション エンドポイントを公開する
静的な値だけでなく、Deployment 自体から動的な値を公開することもできます。次の手順では、アプリケーションの詳細ページを表示したすべてのユーザーがアプリケーションに直接アクセスできるよう、ロードバランサの IP アドレスを表示します。
この値を表示するには、serviceRef
仕様を使用します。その他の有効な仕様には、configMapKeyRef
、ingressRef
、secretKeyRef
などがあります。
serviceRef
仕様では、Reference
タイプを使用してこれらの動的な値を含めます。このチュートリアルで、serviceRef
の仕様は次のとおりです。
info: - name: LABEL type: Reference valueFrom: serviceRef: name: SERVICE_NAME fieldPath: DATA_LOCATION
次の値を置換できます。
LABEL
: 特定のリファレンス インスタンスを表すラベル(例:App Frontend URL
)SERVICE_NAME
: Service を識別する名前(例:frontend
)DATA_LOCATION
: Service 内のデータの場所(例:status.loadBalancer.ingress[0].ip
)
serviceRef
と ingressRef
仕様も path
要素をサポートしています。URL にパスの詳細情報が必要な場合は、これらの詳細情報を path
フィールドに含めます。
info: - name: LABEL type: Reference valueFrom: serviceRef: name: SERVICE_NAME fieldPath: DATA_LOCATION path: /wp-admin
エンドポイントの IP アドレスとパスが連結されます(35.202.90.0/wp-admin
など)。
次のように protocol
フィールドを使用すると、HTTP または HTTPS の使用を強制できます。
info: - name: LABEL type: Reference valueFrom: serviceRef: name: SERVICE_NAME fieldPath: DATA_LOCATION path: /wp-admin protocol: HTTPS
これらの詳細情報により、次の URL が生成されます。
https://35.202.90.0/wp-admin
次の手順では、serviceRef
を使用して、Bank of Anthos アプリケーションの Service ロードバランサの IP アドレスを公開します。
Cloud Shell エディタで、
application.yaml
ファイルの内容を次のもので上書きします。apiVersion: app.k8s.io/v1beta1 kind: Application metadata: name: "bank-of-anthos" labels: app.kubernetes.io/name: "bank-of-anthos" spec: selector: matchLabels: app.kubernetes.io/name: "bank-of-anthos" componentKinds: - group: v1 kind: Service - group: apps kind: Deployment - group: v1 kind: StatefulSet descriptor: type: External App version: "2.3.2" description: |- This application simulates a bank's payment processing network using [Anthos](/anthos/). Bank of Anthos allows users to create artificial accounts and simulate transactions between accounts. Bank of Anthos was developed to create an end-to-end sample demonstrating Anthos best practices. links: - description: 'About Anthos on GCP' url: /anthos/ - description: 'Bank of Anthos GitHub Repository' url: https://github.com/GoogleCloudPlatform/bank-of-anthos info: - name: Owner value: John Smith - name: App Frontend URL type: Reference valueFrom: serviceRef: name: frontend fieldPath: status.loadBalancer.ingress[0].ip protocol: HTTPS
Cloud Shell で、Application リソースをデプロイします。
kubectl apply -f kubernetes-manifests/application.yaml
Google Cloud コンソールで、Bank of Anthos アプリケーションの詳細ページに移動します。
詳細ページに、Bank of Anthos アプリケーションのエンドポイント IP アドレスが表示されます。
アクセス認証情報を指定する
前述のように、secretKeyRef
要素を使用して Google Cloud コンソールから Kubernetes Secret を公開できます。このチュートリアルでは、オペレーターにユーザー名とパスワードを渡し、オペレーターがアプリケーションにログインできるようにします。
Cloud Shell で Secret を作成します。
kubectl create secret generic boa-access --from-literal=boa-user=testuser --from-literal=boa-pass=password
Cloud Shell エディタで、
application.yaml
ファイルに次の内容を貼り付け、上書きします。この更新には、secretKeyRef
アノテーション内のユーザー名とパスワードへの参照も含まれます。apiVersion: app.k8s.io/v1beta1 kind: Application metadata: name: "bank-of-anthos" labels: app.kubernetes.io/name: "bank-of-anthos" spec: selector: matchLabels: app.kubernetes.io/name: "bank-of-anthos" componentKinds: - group: v1 kind: Service - group: apps kind: Deployment - group: v1 kind: StatefulSet descriptor: type: External App version: "2.3.2" description: |- This application simulates a bank's payment processing network using [Anthos](/anthos/). Bank of Anthos allows users to create artificial accounts and simulate transactions between accounts. Bank of Anthos was developed to create an end-to-end sample demonstrating Anthos best practices. links: - description: 'About Anthos on GCP' url: /anthos/ - description: 'Bank of Anthos GitHub Repository' url: https://github.com/GoogleCloudPlatform/bank-of-anthos info: - name: Owner value: John Smith - name: App Frontend URL type: Reference valueFrom: serviceRef: name: frontend fieldPath: status.loadBalancer.ingress[0].ip protocol: HTTPS - name: TestUser username type: Reference valueFrom: secretKeyRef: name: boa-access key: boa-user - name: TestUser password type: Reference valueFrom: secretKeyRef: name: boa-access key: boa-pass
Cloud Shell で、Application リソースをデプロイします。
kubectl apply -f kubernetes-manifests/application.yaml
Google Cloud コンソールで、Bank of Anthos アプリケーションの詳細ページに移動します。
[シークレット データをプレビュー] をクリックします。ユーザー名とパスワードが表示されます。
Secret データを公開する機能は運用チームにとって便利な機能です。ただし、これらの Secret を表示する権限は、GKE の詳細ページの Identity and Access Management(IAM)アクセス権限によって制御されます。クラスタを表示する権限を持つユーザーは Secret も表示できるため、公開対象は慎重に検討する必要があります。
アプリケーション アイコンを追加する
アプリケーションを目立たせるため、アプリケーション リストと詳細ページにロゴを表示してみましょう。ロゴを追加するには、kubernetes-engine.cloud.google.com/icon
アノテーションで画像のデータ URI を指定します。
このチュートリアルでは、データ URI への変換について説明しません。ただし、Google で「画像をデータ URI に変換する」と検索すると、画像からデータ文字列の生成に役立つさまざまなユーティリティが見つかります。このセクションで使用する画像のデータ URI は長すぎるため、このチュートリアルでの使用に適していません。完全なデータ URI は、完成した application.yaml
ファイルで確認できます。データ URI の文字列は data:image/png;base64,iVBORw0KGgoAAAANSUhEUg....
で始まり、K5CYII=
で終わります。末尾の引用符や HTML 文字は含めないでください。
完全な application.yaml
ファイルは gist として参照できます。
アイコンを追加するには、application.yaml
の metadata
セクションを更新します。
次のコードをコピーします。
annotations: kubernetes-engine.cloud.google.com/icon: >- data:image/png;base64,DATA_URI
DATA_URI
は、完成したapplication.yaml
ファイルで参照されている文字列に置き換えます。Cloud Shell エディタで、
application.yaml
のmetadata
セクションに移動し、コピーしたコードをlabels
セクションの後に貼り付けます。application.yaml
のこのセクションは次のようになります。ここで、DATA_URI
はデータ URI 値を表します。apiVersion: app.k8s.io/v1beta1 kind: Application metadata: name: "bank-of-anthos" labels: app.kubernetes.io/name: "bank-of-anthos" annotations: kubernetes-engine.cloud.google.com/icon: >- data:image/png;base64,DATA_URI spec:
Cloud Shell で、Application リソースをデプロイします。
kubectl apply -f kubernetes-manifests/application.yaml
Google Cloud コンソールで、[アプリケーション] ページに移動します。
アプリケーションのリストにロゴが表示されます。
Google Cloud コンソールで、Bank of Anthos アプリケーションの詳細ページに移動します。
詳細ページのヘッダーにロゴが表示されます。
クリーンアップ
このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、このチュートリアルで作成した Google Cloud プロジェクトを削除します。
プロジェクトの削除
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
次のステップ
click-to-deploy
GitHub リポジトリの Kubernetes フォルダにあるapplication.yaml
ファイルのその他の例を確認する。さまざまなアプリのchart/<application>/templates/
にある他のapplication.yaml
ファイルを探します(たとえば、このファイル)。- Marketplace を使用して、GKE 用の Google クリック デプロイ ソリューションをデプロイする。
- Google Cloud に関するリファレンス アーキテクチャ、図、ベスト プラクティスを確認する。Cloud アーキテクチャ センターをご覧ください。