Tutorial ini menjelaskan cara menggunakan halaman Aplikasi Google Kubernetes Engine (GKE) di konsol Google Cloud.
Saat Anda mengadopsi Kubernetes untuk banyak aplikasi dan resource, identifikasi dan pelacakan berbagai komponen yang terkait dengan satu aplikasi mungkin cukup sulit. Saat Anda men-deploy beberapa aplikasi di setiap namespace, mungkin sulit untuk mengetahui resource apa yang terkait dengan aplikasi tertentu. Selain itu, Anda harus sering menelusuri di beberapa lokasi untuk mendapatkan dokumentasi dan metadata yang menjelaskan tentang aplikasi tersebut, siapa pemiliknya, dan cara berinteraksi dengan layanan tersebut.
GKE membantu mengatasi tantangan ini dengan halaman Aplikasi:
Halaman Aplikasi adalah resource independen dalam arsitektur yang menjelaskan metadata tentang sistem Anda. Anda bisa menggunakan halaman ini untuk mengatur resource secara visual tanpa mengubah arsitekturnya. Dengan menentukan nilai dalam file YAML, Anda dapat mengelompokkan semua resource aplikasi dan menyertakan metadata penting untuk tim operasi Anda. Membuat, memodifikasi, dan menghapus file YAML tidak memengaruhi resource yang ada, sehingga Anda dapat langsung menggunakan resource tanpa risiko terhadap sistem.
Untuk mendemonstrasikan halaman ini, tutorial ini menunjukkan cara menerapkan resource Aplikasi Kubernetes pada aplikasi dan menambahkan metadata yang ditentukan pengguna untuk mengatur dan menyederhanakan pengelolaan aplikasi di GKE.
Tutorial ini ditujukan bagi developer yang membuat aplikasi untuk dijalankan di GKE. Anda dianggap sudah memahami konsep dasar Kubernetes dan memiliki pengalaman menulis file YAML resource Kubernetes.
Tujuan
- Memperkenalkan resource Aplikasi Kubernetes.
- Menambahkan resource Aplikasi Kubernetes ke arsitektur yang ada.
- Membuat dan melihat informasi kustom tentang aplikasi melalui konsol Google Cloud.
Biaya
Dalam dokumen ini, Anda akan menggunakan komponen Google Cloudyang dapat ditagih berikut:
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda,
gunakan kalkulator harga.
Setelah menyelesaikan tugas yang dijelaskan dalam dokumen ini, Anda dapat menghindari penagihan berkelanjutan dengan menghapus resource yang Anda buat. Untuk mengetahui informasi selengkapnya, lihat Pembersihan.
Sebelum memulai
-
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.
Anda menjalankan perintah untuk tutorial ini di Cloud Shell atau Cloud Shell Editor.
Mempersiapkan lingkungan Anda
Di Cloud Shell, tetapkan variabel lingkungan untuk project Anda:
export PROJECT_ID=PROJECT_ID gcloud config set core/project $PROJECT_ID gcloud config set compute/zone us-central1-c
Ganti
PROJECT_ID
dengan project ID Google Cloud Anda.Buat cluster GKE:
gcloud container clusters create sample-cluster
Untuk tutorial ini, Anda dapat menjalankan aplikasi di cluster GKE default.
Menginstal aplikasi contoh
Dalam tutorial ini, Anda akan menyimulasikan beberapa aplikasi yang berjalan di namespace yang sama menggunakan aplikasi contoh Nginx dasar dan aplikasi contoh Bank of Anthos.
Di Cloud Shell, instal aplikasi contoh Nginx:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/application/web/web.yaml
Perintah ini membuat resource StatefulSet yang disebut
web
dan layanan yang disebutnginx
. Di konsol Google Cloud, Anda dapat melihat resource ini di halaman Workloads dan Services & Ingress GKE.Clone repositori GitHub yang berisi aplikasi contoh Bank of Anthos:
git clone https://github.com/GoogleCloudPlatform/bank-of-anthos.git cd bank-of-anthos
Buat kunci SSH dan simpan sebagai Secret Kubernetes:
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
Aplikasi contoh Bank of Anthos memerlukan kunci SSH agar dapat berjalan.
Deploy aplikasi contoh ke cluster Anda:
kubectl apply -f kubernetes-manifests
Setelah beberapa saat, Anda dapat melihat resource aplikasi di halaman berikut di konsol Google Cloud:
- Halaman Workload
- Halaman Layanan & Ingress
Perhatikan hal-hal berikut:
- Resource untuk aplikasi contoh Nginx dan Bank of Anthos digabungkan.
- Belum ada resource yang ditampilkan di halaman Aplikasi. Anda akan mengisi halaman Aplikasi di langkah-langkah berikutnya.
Mempersiapkan GKE
Resource yang ditampilkan halaman Aplikasi ditentukan dengan jenis resource Aplikasi Kubernetes, definisi resource kustom (CRD) yang disediakan oleh project Kubernetes open source. Secara default, CRD Aplikasi tidak diaktifkan di Kubernetes. Beberapa layanan di GKE, seperti Marketplace dan Deployment Aplikasi, menginstal CRD Aplikasi, tetapi jika Anda tidak menggunakan salah satu layanan tersebut, CRD Aplikasi tidak tersedia secara default.
Untuk menginstal CRD Aplikasi, lakukan hal berikut:
Di Cloud Shell, terapkan CRD Aplikasi satu kali pada setiap cluster:
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/application/master/deploy/kube-app-manager-aio.yaml
(Opsional) Setelah perintah selesai, lihat CRD Aplikasi di cluster:
kubectl get crd
Output berikut adalah daftar CRD yang terinstal, termasuk
applications.app.k8s.io
: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
Menyertakan resource aplikasi
Setelah CRD Aplikasi tersedia di cluster, langkah berikutnya adalah membuat dan men-deploy instance resource Aplikasi.
Karena resource Aplikasi merupakan resource Kubernetes, resource ini memiliki struktur
yang serupa dengan resource Kubernetes lainnya, termasuk kolom dan opsi untuk
apiVersion
, kind
, metadata
, dan spec
:
apiVersion: app.k8s.io/v1beta1
kind: Application
metadata:
name: ...
spec:
...
Di bagian berikut, Anda menggunakan berbagai kolom dan opsi yang tersedia dalam resource Aplikasi.
Membuat resource Aplikasi dasar
Anda dapat menambahkan resource Application ke set resource yang ada. Dalam tutorial ini, Anda akan memulai dengan resource kosong dan mengisi setiap bagian.
Di Cloud Shell, buat dan edit file
application.yaml
di direktorikubernetes-manifests
:touch kubernetes-manifests/application.yaml edit kubernetes-manifests/application.yaml
Cloud Shell Editor akan terbuka dan menampilkan file kosong.
Tempel baris berikut untuk menentukan aplikasi pertama Anda:
apiVersion: app.k8s.io/v1beta1 kind: Application metadata: name: "bank-of-anthos"
Di panel menu Cloud Shell, klik Buka Terminal.
Di Cloud Shell, terapkan resource:
kubectl apply -f kubernetes-manifests/application.yaml
Di konsol Google Cloud, buka halaman Aplikasi.
Halaman Aplikasi menampilkan resource yang telah ditambahkan:
Menyertakan resource berdasarkan komponen
Halaman Aplikasi menampilkan aplikasi Bank of Anthos. Saat mengklik bank-of-anthos di kolom Nama, Anda akan melihat informasi dasar tentang aplikasi tersebut:
Anda dapat menambahkan berbagai jenis komponen untuk ditampilkan di
konsol Google Cloud. Misalnya, untuk menampilkan Layanan, Deployment, dan
StatefulSets, Anda mengedit bagian componentKinds
dari definisi
application.yaml
—misalnya, sebagai berikut:
spec:
componentKinds:
- group: v1
kind: Service
- group: apps
kind: Deployment
- group: v1
kind: StatefulSet
Pada langkah-langkah berikut, Anda akan menambahkan komponen berikut ke definisi resource Bank of Anthos:
Di panel menu Cloud Shell, klik Buka Editor.
Di Cloud Shell Editor, timpa konten file
kubernetes-manifests/application.yaml
dengan menempelkan perintah berikut: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
Penambahan bagian
spec
akan menambahkanService
,Deployment
, danStatefulSet
ke definisi aplikasi Anda.Di Cloud Shell, terapkan resource:
kubectl apply -f kubernetes-manifests/application.yaml
Di konsol Google Cloud, buka halaman detail untuk aplikasi Bank of Anthos.
Komponen dari jenis tertentu akan ditampilkan:
Memfilter resource dengan pemilih
Pada tahap tutorial ini, daftar komponen menyertakan semua resource
untuk kedua aplikasi contoh bagi kumpulan komponen yang ditentukan dari seluruh
namespace. Misalnya, diagram berikut menunjukkan Layanan nginx
dari
aplikasi contoh Nginx dan Deployment transactionhistory
dari aplikasi
contoh Bank of Anthos:
Guna memastikan hanya resource untuk satu aplikasi yang ditampilkan, misalnya untuk aplikasi Bank of Anthos, Anda dapat menggunakan pemilih untuk mengidentifikasi resource tertentu. Untuk melihat cara kerja pemilih, tambahkan label ke resource dengan mengikuti langkah-langkah berikut:
Di Cloud Shell, buka file
frontend.yaml
:edit kubernetes-manifests/frontend.yaml
Di Cloud Shell Editor, tempel entri
label
berikut setelah baris 18:labels: app.kubernetes.io/name: "bank-of-anthos"
Bagian
metadata
akan terlihat seperti berikut:apiVersion: apps/v1 kind: Deployment metadata: name: frontend labels: app.kubernetes.io/name: "bank-of-anthos" spec:
File
application.yaml
yang sudah selesai akan terlihat seperti berikut: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
Di Cloud Shell, terapkan resource:
kubectl apply -f kubernetes-manifests/
Di konsol Google Cloud, buka halaman detail untuk aplikasi Bank of Anthos.
Satu-satunya resource yang cocok dengan label tertentu akan ditampilkan:
Terapkan label ke semua resource dengan kustomize
Menerapkan label secara manual ke setiap resource dalam aplikasi bisa merepotkan.
Langkah-langkah berikut menunjukkan cara menggunakan
kustomize
untuk menambahkan label secara efisien ke semua resource:
Di Cloud Shell, download
kustomize
:curl -s "https://raw.githubusercontent.com/\ kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash
Buat dan edit file
kustomization.yaml
:touch kubernetes-manifests/kustomization.yaml edit kubernetes-manifests/kustomization.yaml
Di Cloud Shell Editor, tambahkan baris berikut ke
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"
Dalam definisi
kustomization.yaml
ini, Anda menentukan resource mana yang akan menerapkan perubahan dan perubahan apa yang akan dilakukan. Dalam hal ini, Anda menentukan bahwa semua resource harus memiliki label umumapp.kubernetes.io/name: "bank-of-anthos"
.Di Cloud Shell, hapus resource lama:
kubectl delete -f kubernetes-manifests/
Anda harus menghapus resource lama sebelum menerapkan resource baru yang ditentukan dalam
kustomization.yaml
.Terapkan resource menggunakan flag
kustomize
, bukan flagfile
:./kustomize build kubernetes-manifests/ | kubectl apply -f -
Di konsol Google Cloud, buka halaman detail untuk aplikasi Bank of Anthos.
Halaman detail menampilkan resource untuk aplikasi contoh Bank of Anthos dan tidak ada resource dari aplikasi contoh Nginx:
Menambahkan metadata yang berguna di tampilan
Anda dapat menampilkan metadata kustom untuk aplikasi di konsol Google Cloud. Anda dapat menyertakan apa yang dimiliki aplikasi, siapa yang memilikinya, di mana dapat menemukan informasi lebih lanjut tentang aplikasi, dan cara login ke aplikasi. Jenis informasi ini berguna untuk berbagai kasus penggunaan—misalnya, jika Anda mengoperasikan beberapa aplikasi dalam organisasi Anda.
Bagian berikut menjelaskan beberapa metadata yang dapat ditambahkan.
Menambahkan deskripsi dan dokumentasi
Anda dapat menambahkan deskripsi dan link yang muncul di panel Info aplikasi. Untuk mengakses panel ini dari halaman Detail, klik Tampilkan Panel Info.
Untuk menampilkan informasi di panel ini, tentukan elemen seperti
description
dan links
di bagian descriptor
pada file
application.yaml
Anda.
descriptor:
description:
links:
- description:
url:
Untuk memperbarui bagian descriptor
, lakukan hal berikut:
Di Cloud Shell Editor, timpa konten file
application.yaml
dengan menempelkan perintah berikut: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
Di Cloud Shell, deploy resource Aplikasi:
kubectl apply -f kubernetes-manifests/application.yaml
Di konsol Google Cloud, buka halaman detail untuk aplikasi Bank of Anthos.
Untuk meninjau pembaruan, klik Tampilkan Panel Info.
Panel Info aplikasi menampilkan deskripsi dan daftar dokumen:
Menyertakan jenis software
Halaman Aplikasi menyertakan kolom (Software) untuk jenis software dalam daftar aplikasi. Kolom ini dapat disesuaikan untuk membantu mengatur dan mengategorikan aplikasi Anda sesuai dengan kebutuhan. Misalnya, Anda dapat menunjukkan bahwa software tersebut bersifat internal atau eksternal. Atau, jika Anda memiliki beberapa aplikasi yang di-build dari jenis dasar bersama, Anda dapat menentukan jenis dasar apa yang diterapkan oleh aplikasi.
Untuk menambahkan deskripsi kustom ke jenis software, gunakan kolom type
di
bagian descriptor
file application.yaml
:
descriptor:
type: External App
Anda dapat menampilkan nilai untuk type
sebagai hyperlink di
konsol Google Cloud. Anda menentukan URL untuk hyperlink menggunakan
entri pertama dari bagian links
. Pada langkah-langkah berikut, Anda akan memperbarui bagian
links
seperti berikut:
links:
- description: 'Bank of Anthos GitHub Repository'
url: https://github.com/GoogleCloudPlatform/bank-of-anthos
Di Cloud Shell Editor, timpa konten
application.yaml
dengan menempelkan perintah berikut: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
Di Cloud Shell, deploy resource Aplikasi:
kubectl apply -f kubernetes-manifests/application.yaml
Di konsol Google Cloud, buka halaman Aplikasi.
Aplikasi Eksternal ditampilkan di kolom Software:
Menyertakan versi aplikasi
Halaman Aplikasi utama menyertakan kolom untuk versi. Dalam praktiknya, nilai untuk kolom ini diperbarui secara terprogram agar merujuk ke versi sebenarnya yang di-deploy.
Untuk mengisi kolom versi, sertakan kolom version
di bagian
descriptor
seperti pada contoh berikut:
descriptor:
type: External App
version: "2.3.2"
Pada langkah-langkah berikut, Anda akan menambahkan kolom untuk versi aplikasi.
Di Cloud Shell Editor, timpa konten file
application.yaml
dengan menempelkan perintah berikut: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
Di Cloud Shell, deploy resource Aplikasi:
kubectl apply -f kubernetes-manifests/application.yaml
Di konsol Google Cloud, buka halaman Aplikasi.
Kolom Versi untuk aplikasi Bank of Anthos ditampilkan sebagai 2.3.2:
Menambahkan detail pengelola
Pada langkah ini, Anda akan menambahkan teks statis kustom ke bagian utama
halaman Aplikasi. Anda menentukan detail ini di bagian info
dari
file application.yaml
sebagai berikut:
info: - name: LABEL value: STRING
Untuk menyertakan nilai statis, berikan detail untuk LABEL
dan
STRING
di bagian info
. Misalnya, Anda dapat memasukkan
Owner
untuk name
dan John Smith
untuk value
.
Di Cloud Shell Editor, timpa konten
application.yaml
dengan menempelkan perintah berikut: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
Di Cloud Shell, deploy resource Aplikasi:
kubectl apply -f kubernetes-manifests/application.yaml
Di konsol Google Cloud, buka halaman detail untuk aplikasi Bank of Anthos.
Halaman detail mencakup pemilik aplikasi Bank of Anthos:
Mengekspos endpoint aplikasi
Selain nilai statis, Anda dapat mengekspos nilai dinamis dari Deployment itu sendiri. Pada langkah-langkah berikut, Anda akan menampilkan alamat IP load balancer sehingga siapa pun yang melihat halaman detail aplikasi dapat mengakses aplikasi secara langsung.
Untuk menampilkan nilai ini, gunakan
spesifikasi
serviceRef
. Spesifikasi valid lainnya mencakup
configMapKeyRef
,
ingressRef
,
dan
secretKeyRef
.
Dalam spesifikasi serviceRef
, Anda menyertakan nilai dinamis ini menggunakan
jenis Reference
. Untuk tutorial ini, spesifikasi untuk serviceRef
adalah
sebagai berikut:
info: - name: LABEL type: Reference valueFrom: serviceRef: name: SERVICE_NAME fieldPath: DATA_LOCATION
Anda dapat mengganti nilai berikut:
LABEL
: label yang mendeskripsikan instance Referensi tertentu—misalnya,App Frontend URL
SERVICE_NAME
: nama yang mengidentifikasi Layanan$dash; misalnya,frontend
DATA_LOCATION
: lokasi data di Layanan— misalnya,status.loadBalancer.ingress[0].ip
Spesifikasi serviceRef
dan ingressRef
juga mendukung elemen
path
. Jika URL memerlukan detail terkait jalur, Anda menyertakan detail tersebut di
kolom path
:
info: - name: LABEL type: Reference valueFrom: serviceRef: name: SERVICE_NAME fieldPath: DATA_LOCATION path: /wp-admin
Alamat IP dan jalur IP endpoint disambungkan—misalnya,
35.202.90.0/wp-admin
.
Anda juga dapat memaksa penggunaan HTTP atau HTTPS menggunakan kolom protocol
sebagai
berikut:
info: - name: LABEL type: Reference valueFrom: serviceRef: name: SERVICE_NAME fieldPath: DATA_LOCATION path: /wp-admin protocol: HTTPS
Detail ini menghasilkan URL berikut:
https://35.202.90.0/wp-admin
Pada langkah-langkah berikut, Anda akan menggunakan serviceRef
guna mengekspos alamat IP
load balancer Layanan untuk aplikasi Bank of Anthos:
Di Cloud Shell Editor, timpa konten file
application.yaml
dengan kode berikut: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
Di Cloud Shell, deploy resource Aplikasi:
kubectl apply -f kubernetes-manifests/application.yaml
Di konsol Google Cloud, buka halaman detail untuk aplikasi Bank of Anthos.
Halaman detail menyertakan alamat IP endpoint untuk aplikasi Bank of Anthos:
Memberikan kredensial akses
Seperti yang disebutkan sebelumnya, Anda dapat mengekspos Secret Kubernetes melalui
konsol Google Cloud menggunakan elemen
secretKeyRef
. Dalam tutorial ini, Anda akan memberikan nama pengguna dan sandi kepada operator
agar mereka dapat login ke aplikasi.
Di Cloud Shell, buat Secret:
kubectl create secret generic boa-access --from-literal=boa-user=testuser --from-literal=boa-pass=password
Di Cloud Shell Editor, timpa konten file
application.yaml
dengan menempelkan perintah berikut. Pembaruan ini mencakup referensi ke nama pengguna dan sandi dalam anotasisecretKeyRef
.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
Di Cloud Shell, deploy resource Aplikasi:
kubectl apply -f kubernetes-manifests/application.yaml
Di konsol Google Cloud, buka halaman detail untuk aplikasi Bank of Anthos.
Klik pratinjau data secret. Nama pengguna dan sandi akan ditampilkan:
Kemampuan untuk mengungkapkan data Secret dapat menjadi fitur yang bermanfaat bagi tim operasi Anda. Namun, kemampuan untuk melihat Secret ini diatur oleh izin akses Identity and Access Management (IAM) untuk halaman detail GKE. Siapa saja yang memiliki izin untuk melihat cluster juga dapat melihat Secret, jadi penting untuk mempertimbangkan dengan cermat apa yang Anda ekspos.
Menambahkan ikon aplikasi
Agar aplikasi Anda lebih menarik, Anda dapat menyertakan logo yang ditampilkan di
daftar aplikasi dan halaman detail Anda. Untuk menyertakan logo, tentukan
URI data
gambar dalam anotasi kubernetes-engine.cloud.google.com/icon
.
Mengonversi gambar ke URI data berada di luar cakupan tutorial ini.
Namun, penelusuran Google terkait "mengonversi gambar ke URI data" menampilkan berbagai
utilitas untuk membantu Anda menghasilkan string data dari gambar. Karena URI
data untuk gambar yang digunakan di bagian ini sangat panjang, maka tidak praktis untuk menyertakannya
dalam tutorial. URI data lengkap dapat dilihat di
file application.yaml
yang sudah selesai.
String URI data akan dimulai seperti ini:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUg....
Diakhiri dengan K5CYII=
. Pastikan
untuk tidak menyertakan tanda kutip atau karakter HTML di akhir.
File application.yaml
lengkap tersedia sebagai poin inti
untuk referensi Anda.
Untuk menambahkan ikon, perbarui bagian metadata
pada application.yaml
:
Salin kode berikut:
annotations: kubernetes-engine.cloud.google.com/icon: >- data:image/png;base64,DATA_URI
Ganti
DATA_URI
dengan string yang ditemukan dalam fileapplication.yaml
yang telah selesai yang direferensikan sebelumnya.Di Cloud Shell Editor, tempelkan kode yang Anda salin setelah bagian
labels
di bagianmetadata
padaapplication.yaml
.Bagian
application.yaml
tersebut terlihat mirip dengan berikut, denganDATA_URI
mewakili nilai URI data.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:
Di Cloud Shell, deploy resource aplikasi:
kubectl apply -f kubernetes-manifests/application.yaml
Di konsol Google Cloud, buka halaman Aplikasi.
Logo ditampilkan dalam daftar aplikasi:
Di konsol Google Cloud, buka halaman detail untuk aplikasi Bank of Anthos.
Logo ditampilkan di header halaman detail:
Pembersihan
Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, Anda dapat menghapus project Google Cloud yang Anda buat untuk tutorial ini.
Menghapus project
- 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.
Langkah berikutnya
- Tinjau contoh lain file
application.yaml
di folder Kubernetes dari repositori GitHubclick-to-deploy
. Cari fileapplication.yaml
lainnya di bagianchart/<application>/templates/
untuk berbagai aplikasi—misalnya, seperti yang terlihat dalam file ini. - Gunakan Deployment Marketplace untuk solusi Click-to-Deploy Google untuk GKE.
- Pelajari arsitektur referensi, diagram, dan praktik terbaik tentang Google Cloud. Lihat Cloud Architecture Center kami.