Menskalakan workload stateless

Menskalakan workload stateless Anda sesuai dengan persyaratan workload container yang terus berkembang.

Sebelum memulai

Untuk menjalankan perintah terhadap cluster Kubernetes, pastikan Anda memiliki resource berikut:

  1. Temukan nama cluster Kubernetes, atau tanyakan kepada Administrator Platform Anda nama cluster tersebut.

  2. Login dan buat file kubeconfig untuk cluster Kubernetes jika Anda belum memilikinya.

  3. Gunakan jalur kubeconfig cluster Kubernetes untuk mengganti KUBERNETES_CLUSTER_KUBECONFIG dalam petunjuk ini.

Untuk mendapatkan izin yang diperlukan guna menskalakan workload stateless, minta Admin IAM Organisasi Anda untuk memberi Anda peran Admin Namespace (namespace-admin) di namespace project Anda.

Menskalakan deployment

Manfaatkan fungsi penskalaan Kubernetes untuk menskalakan jumlah pod yang berjalan dalam deployment Anda dengan tepat.

Menskalakan pod deployment secara otomatis

Kubernetes menawarkan penskalaan otomatis untuk menghilangkan kebutuhan memperbarui deployment secara manual saat permintaan berkembang. Tetapkan penskalaan otomatis pod horizontal di deployment Anda untuk mengaktifkan fitur ini:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \
    -n NAMESPACE \
    autoscale deployment DEPLOYMENT_NAME \
    --cpu-percent=CPU_PERCENT \
    --min=MIN_NUMBER_REPLICAS \
    --max=MAX_NUMBER_REPLICAS

Ganti kode berikut:

  • KUBERNETES_CLUSTER_KUBECONFIG: file kubeconfig untuk cluster.

  • NAMESPACE: namespace project.

  • DEPLOYMENT_NAME: nama deployment yang akan diskala otomatis.

  • CPU_PERCENT: target pemakaian CPU rata-rata yang akan diminta, dinyatakan sebagai persentase, di semua pod.

  • MIN_NUMBER_REPLICAS: batas bawah untuk jumlah pod yang dapat disediakan oleh autoscaler.

  • MAX_NUMBER_REPLICAS: batas atas untuk jumlah pod yang dapat disediakan oleh autoscaler.

Untuk memeriksa status terkini horizontal pod autoscaler yang baru dibuat, jalankan:

kubectl get hpa

Outputnya mirip dengan hal berikut ini:

NAME              REFERENCE                          TARGET    MINPODS   MAXPODS   REPLICAS   AGE
DEPLOYMENT_NAME   Deployment/DEPLOYMENT_NAME/scale   0% / 50%  1         10        1          18s

Menskalakan pod deployment secara manual

Jika Anda lebih suka menskalakan deployment secara manual, jalankan:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \
    -n NAMESPACE \
    scale deployment DEPLOYMENT_NAME \
    --replicas NUMBER_OF_REPLICAS

Ganti kode berikut:

  • KUBERNETES_CLUSTER_KUBECONFIG: file kubeconfig untuk cluster.

  • NAMESPACE: namespace project.

  • DEPLOYMENT_NAME: nama deployment yang akan diskala otomatis.

  • DEPLOYMENT_NAME: jumlah objek Pod yang direplikasi yang diinginkan dalam deployment.