Halaman ini menjelaskan cara membuat dan mengelola workload stateless dalam cluster Kubernetes yang terisolasi dari jaringan Google Distributed Cloud (GDC). Workload stateless memungkinkan Anda menskalakan deployment aplikasi berdasarkan permintaan workload, semuanya tanpa harus mengelola penyimpanan persisten di cluster Kubernetes untuk menyimpan data atau status aplikasi. Halaman ini membantu Anda memulai sehingga Anda dapat mengoptimalkan dan menyesuaikan ketersediaan aplikasi Anda secara efisien.
Halaman ini ditujukan bagi developer dalam grup operator aplikasi, yang bertanggung jawab membuat workload aplikasi untuk organisasi mereka. Untuk mengetahui informasi selengkapnya, lihat dokumentasi Audiens untuk GDC yang terisolasi dari internet.
Sebelum memulai
Untuk menjalankan perintah terhadap cluster Kubernetes, pastikan Anda memiliki resource berikut:
Temukan nama cluster Kubernetes, atau tanyakan kepada Administrator Platform Anda nama cluster tersebut.
Login dan buat file kubeconfig untuk cluster Kubernetes jika Anda belum memilikinya.
Gunakan jalur kubeconfig cluster Kubernetes untuk mengganti
KUBERNETES_CLUSTER_KUBECONFIG
dalam petunjuk ini.
Untuk mendapatkan izin yang diperlukan guna membuat workload stateless, minta Admin IAM Organisasi Anda untuk memberi Anda peran Namespace Admin (namespace-admin
) di namespace project Anda.
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 project tempat men-deploy workload penampung.DEPLOYMENT_NAME
: file kubeconfig untuk cluster tempat Anda men-deploy workload penampung.APP_NAME
: nama aplikasi yang akan dijalankan dalam deployment.NUMBER_OF_REPLICAS
: jumlah objekPod
replika yang dikelola 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
.
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.