Dokumen ini menjelaskan cara membuat dan mengelola workload stateless dalam cluster Kubernetes air-gapped Google Distributed Cloud (GDC). Workload stateless memungkinkan Anda menskalakan deployment aplikasi berdasarkan permintaan workload, tanpa harus mengelola penyimpanan persisten di cluster Kubernetes untuk menyimpan data atau status aplikasi. Dokumen ini membantu Anda memulai sehingga dapat mengoptimalkan dan menyesuaikan ketersediaan aplikasi secara efisien.
Dokumen ini ditujukan untuk developer dalam grup operator aplikasi, yang bertanggung jawab membuat workload aplikasi untuk organisasi mereka. Untuk mengetahui informasi selengkapnya, lihat Audiens untuk dokumentasi GDC dengan air gap.
Sebelum memulai
Untuk menyelesaikan tugas dalam dokumen ini, Anda harus meminta izin yang diperlukan.
Meminta peran IAM
Anda harus memiliki peran tertentu untuk mendapatkan izin yang diperlukan guna membuat workload stateless. Peran yang Anda perlukan bergantung pada apakah Anda bekerja dalam cluster bersama yang memiliki cakupan organisasi atau cluster standar yang memiliki cakupan project. Untuk mengetahui informasi selengkapnya, lihat Konfigurasi cluster Kubernetes.
Peran cluster bersama
Untuk membuat, menghapus, mengedit, atau melihat workload stateless di cluster bersama, minta Admin IAM Project Anda untuk memberi Anda peran Admin Namespace (namespace-admin). Peran ini terikat ke namespace project Anda.
Peran cluster standar
Untuk membuat, menghapus, mengedit, atau melihat workload stateless di cluster standar, minta Admin IAM Project Anda untuk memberi Anda peran Developer Cluster (cluster-developer). Peran ini terikat ke namespace project Anda.
Menyiapkan lingkungan Anda
Untuk menjalankan perintah terhadap a cluster Kubernetes menggunakan API, pastikan Anda memiliki resource berikut:
Temukan nama cluster Kubernetes, atau tanyakan kepada anggota grup administrator platform nama cluster.
Login dan buat file kubeconfig untuk cluster Kubernetes.
Gunakan jalur kubeconfig cluster Kubernetes untuk mengganti
KUBERNETES_CLUSTER_KUBECONFIGdalam petunjuk ini.
Membuat deployment
Anda membuat deployment dengan menulis manifes Deployment dan menjalankan kubectl apply untuk membuat resource. Metode ini juga mempertahankan update yang dilakukan pada resource live tanpa menggabungkan kembali perubahan ke dalam file manifes.
Untuk membuat Deployment dari file manifesnya, jalankan:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
apply -f - <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:
name: DEPLOYMENT_NAME
spec:
replicas: NUMBER_OF_REPLICAS
selector:
matchLabels:
run: APP_NAME
template:
metadata:
labels: # The labels given to each pod in the deployment, which are used
# to manage all pods in the deployment.
run: APP_NAME
spec: # The pod specification, which defines how each pod runs in the deployment.
containers:
- name: CONTAINER_NAME
image: CONTAINER_IMAGE
EOF
Ganti kode berikut:
KUBERNETES_CLUSTER_KUBECONFIG: file kubeconfig untuk cluster Kubernetes tempat Anda men-deploy workload container.NAMESPACE: namespace tempat men-deploy workload container. Untuk cluster bersama, ini harus berupa namespace project. Untuk cluster standar, dapat berupa namespace apa pun.DEPLOYMENT_NAME: nama objekDeployment.APP_NAME: nama aplikasi yang akan dijalankan dalam deployment.NUMBER_OF_REPLICAS: jumlah objekPodyang direplikasi yang dikelola oleh deployment.CONTAINER_NAME: nama container.CONTAINER_IMAGE: nama image container. Anda harus menyertakan jalur registry container dan versi image, sepertiREGISTRY_PATH/hello-app:1.0. Untuk mengetahui informasi selengkapnya tentang cara menetapkan jalur registry container, lihat Ringkasan Managed Harbor Service.
Contoh:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
run: my-app
template:
metadata:
labels:
run: my-app
spec:
containers:
- name: hello-app
image: REGISTRY_PATH/hello-app:1.0
Jika Anda men-deploy workload GPU ke container, lihat Mengelola workload container GPU untuk mengetahui informasi selengkapnya.