zoukankan      html  css  js  c++  java
  • kubernetes 实用 api list

    https://192.168.20.128:6443/api/v1/pods


    原文来自https://segmentfault.com/a/1190000002937665



    收集整理一些可能较常用的api,结合kubernetes的自动化系统 以及 监控可能会用到。

    注:涉及到POST方法中的json为发送的数据体。


    get node

    curl -i -k -H 'Authorization: Bearer lalalalalllaSDDDSASDASF=' -X GET https://10.10.5.103:6443/api/v1beta3/nodes
    

    get namespace

    curl -i -k -H 'Authorization: Bearer lalalalalllaSDDDSASDASF=' -X GET https://10.10.5.103:6443/api/v1beta3/namespaces
    

    create namespace

    curl -i -k -X POST https://10.10.5.103:6443/api/v1beta3/namespaces -H 'Authorization: Bearer lalalalalllaSDDDSASDASF=' -d "$(cat namespace-production.json)"
    
    {
        "apiVersion": "v1",
        "kind": "Namespace",
        "metadata": {
            "labels": {
                "name": "production"
            },
            "name": "production"
        }
    }
    

    create a pod

    curl -i -k -X POST https://10.10.5.103:6443/api/v1beta3/namespaces/development/pods -H 'Authorization: Bearer lalalalalllaSDDDSASDASF=' -d "$(cat pod-8xxxxxxcom.json)
    {
      "kind": "Pod",
      "apiVersion": "v1beta3",
      "metadata": {
        "name": "8xxxxxx",
        "labels": {
          "name": "8xxxxxx"
        }
      },
    "spec":{
            "volumes":[
            {
                    "name":"log-vol",
                    "hostPath":{
                            "path":"/home/work/data/8_xxxxxx_com"
                    }
            },
            {
                    "name":"localtime",
                    "hostPath":{
                            "path":"/etc/localtime"
                    }
            }
            ],
                "containers":[
                   {
                      "name":"8-xxxxxx-com",
                      "image":"docker-registry.xxxxxx.com:5000/xxxxxx/8_xxxxxx_com:20150612",
                      "ports":[
                         {
                            "name":"ssh-port",
                            "containerPort":22,
                            "protocol":"TCP"
                         },
                         {
                            "name":"http-port",
                            "containerPort":8008,
                            "protocol":"TCP"
                         }
                      ],
                      "volumeMounts":[
                              {
                                      "mountPath":"/home/work/var/nfs",
                                      "readOnly":false,
                                      "name":"log-vol"
                              },
                              {
                                      "mountPath":"/etc/localtime",
                                      "readOnly":true,
                                      "name":"localtime"
                              }
                      ],
                      "imagePullPolicy": "Always"
                   }
                ]
             }
    }
    

    get a pod:

    curl -i -k -H 'Authorization: Bearer lalalalalllaSDDDSASDASF=' -X GET https://10.10.5.103:6443/api/v1beta3/pods
    curl http://10.10.5.103:7080/api/v1beta3/namespaces/development/pods?labelSelector=name%3D8.xxxxxx.com
    

    delete a pod:

    curl  -X DELETE http://10.10.5.103:18080/api/v1beta3/namespaces/development/pods/8xxxxxx
    

    create a replication controller:

    curl -i -k -X POST https://10.10.5.103:6443/api/v1beta3/namespaces/development/replicationcontrollers -H 'Authorization: Bearer lalalalalllaSDDDSASDASF=' -d "$(cat rc-8_xxxxxx_com.json)"
    {
       "kind":"ReplicationController",
       "apiVersion":"v1beta3",
       "id":"8.xxxxxx.com",
       "metadata":{
          "name":"8.xxxxxx.com",
          "labels":{
             "name":"8.xxxxxx.com"
          }
       },
       "spec":{
          "replicas":3,
          "selector":{
             "name":"8.xxxxxx.com"
          },
          "template":{
             "metadata":{
                "labels":{
                   "name":"8.xxxxxx.com"
                }
             },
             "spec":{
                 "volumes":[
            {
                    "name":"log-vol",
                    "hostPath":{
                            "path":"/home/work/data/8_xxxxxx_com"
                    }
            },
            {
                    "name":"localtime",
                    "hostPath":{
                            "path":"/etc/localtime"
                    }
            }
            ],
                "containers":[
                   {
                      "name":"8-xxxxxx-com",
                      "image":"docker-registry.xxxxxx.com:5000/xxxxxx/8_xxxxxx_com:20150612",
                      "ports":[
                         {
                            "name":"ssh-port",
                            "containerPort":22,
                            "protocol":"TCP"
                         },
                         {
                            "name":"http-port",
                            "containerPort":8008,
                            "protocol":"TCP"
                         }
                      ],
                      "volumeMounts":[
                              {
                                      "mountPath":"/home/work/var/nfs",
                                      "readOnly":false,
                                      "name":"log-vol"
                              },
                              {
                                      "mountPath":"/etc/localtime",
                                      "readOnly":true,
                                      "name":"localtime"
                              }
                      ],
                      "imagePullPolicy": "Always"
                   }
                ]
             }
          }
       }
    }
    

    get a replication controller:

    curl -i -k -H 'Authorization: Bearer lalalalalllaSDDDSASDASF=' -X GET https://10.10.5.103:6443/api/v1beta3/namespaces/development/replicationcontrollers
    curl -i -k -H 'Authorization: Bearer lalalalalllaSDDDSASDASF=' -X GET https://10.10.5.103:6443/api/v1beta3/namespaces/development/replicationcontrollers/8.xxxxxx.com
    

    delete a replication controller

    curl -i -k -H 'Authorization: Bearer lalalalalllaSDDDSASDASF=' -X DELETE https://10.10.5.103:6443/api/v1beta3/namespaces/development/replicationcontrollers/8.xxxxxx.com
    

    注意:删除replicationcontroller,对应的pod并不会级联删除,需要在手动调用pod delete删除对应的pod(略不爽~)

    create a service

    curl -i -k -X POST https://10.10.5.103:6443/api/v1beta3/namespaces/development/services -H 'Authorization: Bearer lalalalalllaSDDDSASDASF=' -d "$(cat svc-8xxxxxx.jso)"
    {
        "kind":"Service",
        "apiVersion":"v1beta3",
        "metadata":{
            "name":"prometheus",
            "labels":{
                "name":"prometheus"
            }
        },
        "spec":{
            "ports": [
            {
                "port":8018,
                "targetPort":8008,
                "nodePort": 30061,
                "protocol":"TCP"
            }],
            "type":"NodePort",
            "selector":{
                "name":"8.xxxxxx.com"
            }
        }
    }
    

    get a service

    curl -i -k -H 'Authorization: Bearer lalalalalllaSDDDSASDASF=' -X GET https://10.10.5.103:6443/api/v1beta3/namespaces/development/services
    curl -i -k -H 'Authorization: Bearer lalalalalllaSDDDSASDASF=' -X GET https://10.10.5.103:6443/api/v1beta3/namespaces/development/services/prometheus
    
  • 相关阅读:
    45个非常有用的Oracle查询语句(转自开源中国社区)
    Oracle创建表空间及用户
    table里面,怎么根据checkbox选择的一行中的某个单元格的值是否为空,来判断是否该选中
    点击上传按钮,文件自动上传
    如何给frame标签的src属性以及a标签的href属性自动设值
    Tomcat内存溢出的三种情况及解决办法分析
    Java中判断字符串是否为数字的五种方法
    SSH项目里面 忘记密码的邮件发送功能
    form表单提交时,action怎么带参数
    因为多余jar包,所报的错
  • 原文地址:https://www.cnblogs.com/lykops/p/8263122.html
Copyright © 2011-2022 走看看