全部产品
Search
文档中心

Container Service for Kubernetes:gunakan Kubernetes API

更新时间:Feb 26, 2026

Kubernetes API menyediakan antarmuka pemrograman berbasis resource (RESTful) melalui HTTP. API ini mendukung permintaan HTTP standar—seperti POST, PUT, PATCH, DELETE, dan GET—untuk mengkueri, membuat, memperbarui, dan menghapus resource kluster. Anda dapat mengakses Kubernetes API menggunakan perintah cURL atau metode pemrograman lainnya. Topik ini memberikan contoh pengelolaan Pod dan Deployment dengan perintah cURL.

Dapatkan Kredensial Akses KubeConfig

  1. Masuk ke Konsol ACK.

  2. Klik Go to RAM console untuk membuka halaman Resource Access Management Quick Authorization. Lalu, klik Confirm.

    Setelah memberikan otorisasi, refresh konsol untuk mulai menggunakan ACK.

  3. Pada panel navigasi di sebelah kiri, klik Clusters.

  4. Pada halaman Clusters, temukan kluster yang ingin Anda kelola, lalu klik nama kluster tersebut atau klik Details pada kolom Actions. Halaman detail kluster akan muncul.

  5. Klik tab Connection Information. Lihat kredensial akses kluster pada bagian KubeConfig, lalu simpan file KubeConfig secara lokal.

  6. Jalankan perintah berikut untuk mengekstrak informasi CA, Key, dan APIServer dari file KubeConfig.

    cat  ./kubeconfig |grep client-certificate-data | awk -F ' ' '{print $2}' |base64 -d > ./client-cert.pem
    cat  ./kubeconfig |grep client-key-data | awk -F ' ' '{print $2}' |base64 -d > ./client-key.pem
    APISERVER=`cat  ./kubeconfig |grep server | awk -F ' ' '{print $2}'`

Gunakan Perintah cURL untuk Mengoperasikan Kubernetes API

Jalankan perintah berikut untuk melihat semua namespace di kluster saat ini.

curl --cert ./client-cert.pem --key ./client-key.pem -k $APISERVER/api/v1/namespaces

Contoh berikut menunjukkan operasi umum untuk mengelola Pod dan Deployment menggunakan perintah cURL.

Operasi Pod Umum

Jalankan perintah berikut untuk melihat semua Pod di namespace default.

curl --cert ./client-cert.pem --key ./client-key.pem -k $APISERVER/api/v1/namespaces/default/pods

Jalankan perintah berikut untuk membuat Pod dalam format JSON.

cat nginx-pod.json
{
    "apiVersion":"v1",
    "kind":"Pod",
    "metadata":{
        "name":"nginx",
        "namespace": "default"
    },
    "spec":{
        "containers":[
            {
                "name":"nginx",
                "image":"nginx:alpine",
                "ports":[
                    {
                        "containerPort": 80
                    }
                ]
            }
        ]
    }
}

curl --cert ./client-cert.pem --key ./client-key.pem -k $APISERVER/api/v1/namespaces/default/pods -X POST --header 'content-type: application/json' -d@nginx-pod.json

Jalankan perintah berikut untuk membuat Pod dalam format YAML.

cat nginx-pod.yaml
apiVersion: v1
kind: Pod
metadata:
  name: nginx
  namespace: default
spec:
  containers:
  - name: nginx
    image: nginx:alpine
    ports:
    - containerPort: 80

curl --cert ./client-cert.pem --key ./client-key.pem -k $APISERVER/api/v1/namespaces/default/pods -X POST --header 'content-type: application/yaml' --data-binary @nginx-pod.yaml

Jalankan perintah berikut untuk mengkueri status Pod.

curl --cert ./client-cert.pem --key ./client-key.pem -k $APISERVER/api/v1/namespaces/default/pods/nginx

Jalankan perintah berikut untuk mengkueri log Pod.

curl --cert ./client-cert.pem --key ./client-key.pem -k $APISERVER/api/v1/namespaces/default/pods/nginx/log

Jalankan perintah berikut untuk mengkueri metrik Pod menggunakan API metric-server.

curl --cert ./client-cert.pem --key ./client-key.pem -k $APISERVER/apis/metrics.k8s.io/v1beta1/namespaces/default/pods/nginx

Jalankan perintah berikut untuk menghapus Pod.

curl --cert ./client-cert.pem --key ./client-key.pem -k $APISERVER/api/v1/namespaces/default/pods/nginx -X DELETE

Operasi Deployment Umum

Berikut adalah contoh file YAML untuk membuat Deployment.

cat nginx-deploy.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deploy
  labels:
    app: nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image:  nginx:alpine
        ports:
        - containerPort: 80
        resources:
          requests:
            cpu: "2"
            memory: "4Gi"

curl --cert ./client-cert.pem --key ./client-key.pem -k $APISERVER/apis/apps/v1/namespaces/default/deployments -X POST --header 'content-type: application/yaml' --data-binary @nginx-deploy.yaml

Jalankan perintah berikut untuk melihat Deployment.

curl --cert ./client-cert.pem --key ./client-key.pem -k $APISERVER/apis/apps/v1/namespaces/default/deployments

Jalankan perintah berikut untuk memperbarui Deployment dengan mengubah jumlah replika.

curl --cert ./client-cert.pem --key ./client-cert.pem -k $APISERVER/apis/apps/v1/namespaces/default/deployments/nginx-deploy -X PATCH -H 'Content-Type: application/strategic-merge-patch+json' -d '{"spec": {"replicas": 4}}'

Jalankan perintah berikut untuk memperbarui Deployment dengan mengubah image kontainer.

curl --cert ./client-cert.pem --key ./client-cert.pem -k $APISERVER/apis/apps/v1/namespaces/default/deployments/nginx-deploy -X PATCH -H 'Content-Type: application/strategic-merge-patch+json' -d '{"spec": {"template": {"spec": {"containers": [{"name": "nginx","image": "nginx:1.7.9"}]}}}}'