美文网首页
【K8s 精选】如何使用 curl 命令访问 Kubernete

【K8s 精选】如何使用 curl 命令访问 Kubernete

作者: 熊本极客 | 来源:发表于2022-05-17 21:36 被阅读0次

1.获取 api server 的地址

直接查看 kubeconfig 配置文件或者 kubectl config,查看 api server 地址

$kubectl config view |grep server
    server: https://172.26.1.199:6443

2.确定 pod 的 service account

#查找目标 pod
$kubectl get pod |grep flink
flinkjm-5866b5496c-2dtz8                       1/1     Running   0          2d17h
flinktm-7dbf7d7599-6b4nc                       1/1     Running   0          2d17h
flinktm-7dbf7d7599-b78m6                       1/1     Running   0          2d17h

#查看指定 pod 的详情
$kubectl describe pod flinkjm-5866b5496c-2dtz8
Name:                 flinkjm-5866b5496c-2dtz8
Namespace:            default
Priority:             1000000
Priority Class Name:  high-priority
Node:                 worker-0007/172.26.1.20
Start Time:           Sat, 14 May 2022 09:02:21 +0000
Labels:               app=flink
                      component=jobmanager
                      pod-template-hash=5866b5496c
Annotations:          metrics.alpha.kubernetes.io/custom-endpoints: [{"api":"prometheus", "path":"/metrics", "port":"8080"}]
Status:               Running
IP:                   10.244.0.165
IPs:
  IP:           10.244.0.165
Controlled By:  ReplicaSet/flinkjm-5866b5496c
Containers:
  jobmanager:
    Container ID:  docker://e0fb458703a8727786a28f453abd27c2f029aa19692edfe79cca81997afe992f
    Image:         172.26.1.199:5000/test/flink:2022.0510.1528.08
    省略...
    Mounts:
      #serveraccount是serviceaccount-test,token是serviceaccount-test-token-g5nwg
      /var/run/secrets/kubernetes.io/serviceaccount from serviceaccount-test-token-g5nwg (ro)   

3.获取指定 service account 的 token

#查看 serviceaccount
$kubectl describe sa serviceaccount-test
Name:                serviceaccount-test
Namespace:           default
Labels:              <none>
Annotations:         <none>
Image pull secrets:  <none>
Mountable secrets:   serviceaccount-test-token-g5nwg
Tokens:              serviceaccount-test-token-g5nwg
#查看指定 token
kubectl describe secrets serviceaccount-test-token-g5nwg
Name:         serviceaccount-test-token-g5nwg
Namespace:    default
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: serviceaccount-test
              kubernetes.io/service-account.uid: 4afeee68-df7c-4980-a62a-c7716f6d9c1e

Type:  kubernetes.io/service-account-token

Data
====
ca.crt:     1066 bytes
namespace:  3 bytes
token:      aaaaabbbbbbccccccdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

4.利用 curl 命令获取资源

下面以 configmap 为例

$curl -k --location --request  GET 'https://172.26.1.199:6443/api/v1/namespaces/default/configmaps/test-restserver-leader' --header 'Authorization: Bearer aaaaabbbbbbccccccdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
{
  "kind": "ConfigMap",
  "apiVersion": "v1",
  "metadata": {
    "name": "test-restserver-leader",
    "namespace": "default",
    "uid": "7ba427cd-0557-4ac3-9ddf-c47999f7e01c",
    "resourceVersion": "7666109",
    "creationTimestamp": "2022-04-26T01:54:19Z",
    "labels": {
      "app": "test",
      "configmap-type": "high-availability",
      "type": "flink-native-kubernetes"
    },
    "annotations": {
      "control-plane.alpha.kubernetes.io/leader": "{\"holderIdentity\":\"b9c66fc7-c897-4175-90ca-10876c619d73\",\"leaseDuration\":15.000000000,\"acquireTime\":\"2022-05-14T09:03:06.587000Z\",\"renewTime\":\"2022-05-17T03:03:16.652000Z\",\"leaderTransitions\":47523}"
    }
  },
  "data": {
    "address": "http://10.244.1.7:8091",
    "sessionId": "5e9ba0d3-fa23-491d-949a-82cb5b3c2fb8"
  }
}

相关文章

网友评论

      本文标题:【K8s 精选】如何使用 curl 命令访问 Kubernete

      本文链接:https://www.haomeiwen.com/subject/arxgurtx.html