このチュートリアルでは、 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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine and Kubernetes Engine APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
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 の [ワークロード] ページと [Service と Ingress] ページで、これらのリソースを表示できます。Bank of Anthos サンプル アプリケーションが保存されている GitHub リポジトリのクローンを作成します。
git clone https://github.com/GoogleCloudPlatform/bank-of-anthos.git cd bank-of-anthosSSH 認証鍵を生成し、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.pubBank 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.yamlCloud Shell エディタが開き、空のファイルが表示されます。
以下の行を貼り付けて、最初のアプリケーションを定義します。
apiVersion: app.k8s.io/v1beta1 kind: Application metadata: name: "bank-of-anthos"Cloud Shell のメニューバーで、[ターミナルを開く] をクリックします。
Cloud Shell で、リソースを適用します。
kubectl apply -f kubernetes-manifests/application.yamlGoogle 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: StatefulSetspecセクションを追加して、アプリケーションの定義にService、Deployment、StatefulSetを追加します。Cloud Shell で、リソースを適用します。
kubectl apply -f kubernetes-manifests/application.yamlGoogle Cloud コンソールで、Bank of Anthos アプリケーションの詳細ページに移動します。
特定のタイプのコンポーネントが表示されます。
セレクタでリソースをフィルタする
このチュートリアルのこの時点で、コンポーネントのリストには、名前空間全体にわたる定義済みコンポーネント セットを対象とした両方のサンプル アプリケーションで使用するすべてのリソースが含まれています。たとえば、次の図は、Nginx サンプル アプリケーションの
nginxService と、Bank of Anthos サンプルアプリケーションのtransactionhistoryDeployment を示しています。
Bank of Anthos アプリケーションの場合など、特定のアプリケーションのリソースのみを表示するには、セレクタを使用します。セレクタの仕組みを確認するため、次の手順でリソースにラベルを追加します。
Cloud Shell で、
frontend.yamlファイルを開きます。edit kubernetes-manifests/frontend.yamlCloud 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: StatefulSetCloud 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" | bashkustomization.yamlファイルを作成して編集します。touch kubernetes-manifests/kustomization.yaml edit kubernetes-manifests/kustomization.yamlCloud 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-anthosCloud Shell で、Application リソースをデプロイします。
kubectl apply -f kubernetes-manifests/application.yamlGoogle Cloud コンソールで、Bank of Anthos アプリケーションの詳細ページに移動します。
更新内容を確認するには、[情報パネルを表示] をクリックします。
[アプリケーション情報] パネルに、説明とドキュメントのリストが表示されます。
ソフトウェア タイプを含める
[アプリケーション] ページのアプリケーション リストに、ソフトウェア タイプに対応するフィールド(ソフトウェア)が表示されます。このフィールドをカスタマイズすることで、必要に応じてアプリケーションの整理や分類ができます。たとえば、ソフトウェアが内部または外部であることを示します。共有ベースタイプから構築された複数のアプリがある場合は、アプリケーションで実装されているベースタイプを示すこともできます。
ソフトウェアの種類に説明を追加するには、
application.yamlファイルのdescriptorセクションのtypeフィールドを使用します。descriptor: type: External Apptypeの値は、Google Cloud コンソールのハイパーリンクとして表示できます。linksセクションの最初のエントリを使用して、ハイパーリンクの URL を指定します。次の手順では、linksセクションを次のように更新します。links: - description: 'Bank of Anthos GitHub Repository' url: https://github.com/GoogleCloudPlatform/bank-of-anthosCloud 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-anthosCloud Shell で、Application リソースをデプロイします。
kubectl apply -f kubernetes-manifests/application.yamlGoogle 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-anthosCloud Shell で、Application リソースをデプロイします。
kubectl apply -f kubernetes-manifests/application.yamlGoogle 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 SmithCloud Shell で、Application リソースをデプロイします。
kubectl apply -f kubernetes-manifests/application.yamlGoogle 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: HTTPSCloud Shell で、Application リソースをデプロイします。
kubectl apply -f kubernetes-manifests/application.yamlGoogle 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=passwordCloud 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-passCloud Shell で、Application リソースをデプロイします。
kubectl apply -f kubernetes-manifests/application.yamlGoogle 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.yamlGoogle 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-deployGitHub リポジトリの Kubernetes フォルダにあるapplication.yamlファイルのその他の例を確認する。さまざまなアプリのchart/<application>/templates/にある他のapplication.yamlファイルを探します(たとえば、このファイル)。- Marketplace を使用して、GKE 用の Google クリック デプロイ ソリューションをデプロイする。
- Google Cloud に関するリファレンス アーキテクチャ、図、ベスト プラクティスを確認する。Cloud アーキテクチャ センターをご覧ください。