Skip to content

Instantly share code, notes, and snippets.

@chenchun
Last active February 19, 2021 09:28
Show Gist options
  • Save chenchun/9e12228eb104b9cfbc808a69394f0427 to your computer and use it in GitHub Desktop.
Save chenchun/9e12228eb104b9cfbc808a69394f0427 to your computer and use it in GitHub Desktop.
kuberentes scale api
token=$(cat ~/.kube/config  | grep token | awk -F: '{print $2}' | awk '{print $1}')
echo $token
server=$(cat ~/.kube/config | grep server | awk -F"server: " '{print $2}')
echo $server $token

curl -k -H "Authorization: Bearer ${token}" "${server}/apis/apps/v1/namespaces/default/statefulsets/ramists/scale"

{
  "kind": "Scale",
  "apiVersion": "autoscaling/v1",
  "metadata": {
    "name": "ramists",
    "namespace": "default",
    "selfLink": "/apis/apps/v1/namespaces/default/statefulsets/ramists/scale",
    "uid": "2f18fbe1-c8a2-440f-a1f1-3e738f4005ef",
    "resourceVersion": "23590821",
    "creationTimestamp": "2020-05-26T07:17:32Z"
  },
  "spec": {
    "replicas": 2
  },
  "status": {
    "replicas": 1,
    "selector": "k8s-app=ramists,qcloud-app=ramists"
  }
}

curl -k -H "Authorization: Bearer ${token}" "${server}/apis/apps.tkestack.io/v1/namespaces/default/tapps/te/scale"
{
  "kind": "Scale",
  "apiVersion": "autoscaling/v1",
  "metadata": {
    "name": "te",
    "namespace": "default",
    "selfLink": "/apis/apps.tkestack.io/v1/namespaces/default/tapps/te/scale",
    "uid": "4e1848c8-78d9-47f7-b3be-e7e932ff154f",
    "resourceVersion": "20431454",
    "creationTimestamp": "2020-06-12T06:38:22Z"
  },
  "spec": {
    "replicas": 1
  },
  "status": {
    "replicas": 1,
    "selector": "k8s-app=te,qcloud-app=te"
  }
}

list scale of a crd

$ curl -k --cert /var/run/kubernetes/client-admin.crt \
  --key  /var/run/kubernetes/client-admin.key \
  --cacert /var/run/kubernetes/server-ca.crt \
"$APISERVER/apis/apps.tkestack.io/v1/namespaces/default/tapps//scale"

{
  "kind": "ScaleList",
  "apiVersion": "autoscaling/v1",
  "metadata": {
    "selfLink": "/apis/apps.tkestack.io/v1/namespaces/default/tapps//scale"
  },
  "items": [
    {
      "kind": "Scale",
      "apiVersion": "autoscaling/v1",
      "metadata": {
        "name": "eapp",
        "namespace": "default",
        "selfLink": "/apis/apps.tkestack.io/v1/namespaces/default/tapps/eapp/scale",
        "uid": "ac45f6e4-9628-4959-98bc-469d7fc531a5",
        "resourceVersion": "401",
        "creationTimestamp": "2020-07-17T14:59:46Z"
      },
      "spec": {
        "replicas": 3
      },
      "status": {
        "replicas": 0
      }
    },
    {
      "kind": "Scale",
      "apiVersion": "autoscaling/v1",
      "metadata": {
        "name": "example-tapp",
        "namespace": "default",
        "selfLink": "/apis/apps.tkestack.io/v1/namespaces/default/tapps/example-tapp/scale",
        "uid": "3a808790-7fcc-4052-ba64-746e4bae44f3",
        "resourceVersion": "346",
        "creationTimestamp": "2020-07-17T14:55:32Z"
      },
      "spec": {
        "replicas": 3
      },
      "status": {
        "replicas": 0
      }
    }
  ]
}

watch all scales of a crd

$ curl -k --cert /var/run/kubernetes/client-admin.crt \
  --key  /var/run/kubernetes/client-admin.key \
  --cacert /var/run/kubernetes/server-ca.crt \
"$APISERVER/apis/apps.tkestack.io/v1/watch/namespaces/default/tapps//scale"
{"type":"ADDED","object":{"kind":"Scale","apiVersion":"autoscaling/v1","metadata":{"name":"example-tapp","namespace":"default","selfLink":"/apis/apps.tkestack.io/v1/namespaces/default/tapps/example-tapp/scale","uid":"3a808790-7fcc-4052-ba64-746e4bae44f3","resourceVersion":"346","creationTimestamp":"2020-07-17T14:55:32Z"},"spec":{"replicas":3},"status":{"replicas":0}}}
{"type":"ADDED","object":{"kind":"Scale","apiVersion":"autoscaling/v1","metadata":{"name":"eapp","namespace":"default","selfLink":"/apis/apps.tkestack.io/v1/namespaces/default/tapps/eapp/scale","uid":"ac45f6e4-9628-4959-98bc-469d7fc531a5","resourceVersion":"401","creationTimestamp":"2020-07-17T14:59:46Z"},"spec":{"replicas":3},"status":{"replicas":0}}}
{"type":"DELETED","object":{"kind":"Scale","apiVersion":"autoscaling/v1","metadata":{"name":"example-tapp","namespace":"default","selfLink":"/apis/apps.tkestack.io/v1/namespaces/default/tapps/example-tapp/scale","uid":"3a808790-7fcc-4052-ba64-746e4bae44f3","resourceVersion":"435","creationTimestamp":"2020-07-17T14:55:32Z"},"spec":{"replicas":3},"status":{"replicas":0}}}

watch a single object of a crd

$ curl -k --cert /var/run/kubernetes/client-admin.crt \
  --key  /var/run/kubernetes/client-admin.key \
  --cacert /var/run/kubernetes/server-ca.crt \
"$APISERVER/apis/apps.tkestack.io/v1/watch/namespaces/default/tapps/example-tapp/scale"
{"type":"ADDED","object":{"kind":"Scale","apiVersion":"autoscaling/v1","metadata":{"name":"example-tapp","namespace":"default","selfLink":"/apis/apps.tkestack.io/v1/namespaces/default/tapps/example-tapp/scale","uid":"6ffe0532-a6fc-4eb8-ac58-9b85a7a20691","resourceVersion":"455","creationTimestamp":"2020-07-17T15:03:57Z"},"spec":{"replicas":3},"status":{"replicas":0}}}
{"type":"DELETED","object":{"kind":"Scale","apiVersion":"autoscaling/v1","metadata":{"name":"example-tapp","namespace":"default","selfLink":"/apis/apps.tkestack.io/v1/namespaces/default/tapps/example-tapp/scale","uid":"6ffe0532-a6fc-4eb8-ac58-9b85a7a20691","resourceVersion":"456","creationTimestamp":"2020-07-17T15:03:57Z"},"spec":{"replicas":3},"status":{"replicas":0}}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment