반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 카오스 엔지니어링
- Litmus
- xdp
- Pulumi
- opensearch
- MLflow
- knative
- Argo
- Continuous Deployment
- nginx ingress
- opentelemetry
- serving
- kubernetes operator
- Kubernetes 인증
- Kubernetes
- operator
- Kubeflow
- CANARY
- keda
- Model Serving
- 오퍼레이터
- argocd
- tekton
- blue/green
- seldon core
- Kopf
- mlops
- CI/CD
- gitops
- eBPF
Archives
- Today
- Total
Kubernetes 이야기
kubernetes apiserver 를 통해 Cluster 정보 조회 본문
반응형
인증 설정방법
0) 접근하는 API 서버 설정
KUBE_SERVER=$(kubectl config view -o jsonpath='{.clusters[0].cluster.server}')
1) x.509 인증 방식으로 apiserver 접근 시 호출방법
curl --cert <path-to-cert-file> --key <path-to-key-file> --cacert <path-to-ca-file> \
$KUBE_SERVER/api/v1/pods
2) token 정보를 활용하여 apiserver 접근 시 호출방법
curl --insecure --header "Authorization: Bearer $KUBE_TOKEN" $KUBE_SERVER/api/v1/pods
API 사용예제
- 모든 pod list 호출방법
curl -k --cert 111.cert --key 111.key --cacert 111.ca \
-X GET https://$KUBE_SERVER/api/v1/pods
- namespace안에 pod list 호출방법
$KUBE_SERVER/api/v1/namespaces/$NAMESPACE/pods
- 모든 deployment list 호출방법
$KUBE_SERVER/api/v1/deployments
- Update
$ curl $KUBE_SERVER/api/v1/namespaces/default/deployments/sleep \
--cacert 111.ca \
--cert 111.cert \
--key 111.key \
-X PUT \
-H 'Content-Type: application/yaml' \
-d '---
apiVersion: apps/v1
kind: Deployment
metadata:
name: sleep
spec:
replicas: 1
selector:
matchLabels:
app: sleep
template:
metadata:
labels:
app: sleep
spec:
containers:
- name: sleep
image: curlimages/curl
command: ["/bin/sleep", "730d"]
'
- Patch
$ curl $KUBE_SERVER/api/v1/namespaces/default/deployments/sleep \
--cacert 111.ca \
--cert 111.cert \
--key 111.key \
-X PATCH \
-H 'Content-Type: application/merge-patch+json' \
-d '{
"spec": {
"template": {
"spec": {
"containers": [
{
"name": "sleep",
"image": "curlimages/curl",
"command": ["/bin/sleep", "1d"]
}
]
}
}
}
}'
- DELETE
$ curl $KUBE_SERVER/api/v1/namespaces/default/deployments/sleep \
--cacert 111.ca \
--cert 111.cert \
--key 111.key \
- X DELETE
- CRD
curl -k -X GET https://<kubernetes-api-server>/apis/<group>/<version>/<resource-plural>
- Raw Mode
kubectl get --raw /api/v1/
- openapi 사양 ( swagger 구문으로 표현 )
kubectl get --raw /openapi/v2 > k8s-openapi-v2.json
- openapi v3 사양
/openapi/v3/<group>/<version>?hash=<HASH>
[example]
kubectl get --raw /openapi/v3/apis/apps/v1 > k8s-openapi-v3.json
반응형
'Kubernetes > 일반' 카테고리의 다른 글
OpenSearch 및 Fluent Bit로 Kubernetes Event 및 Container 로그 저장하기 (0) | 2024.05.06 |
---|---|
kr8s - Kubernetes용 Python 클라이언트 라이브러리 (0) | 2023.12.31 |
Strimzi로 Kubernetes에 Apache Kafka 설치 (1) | 2023.12.10 |
Kubernetes Gateway API (0) | 2023.12.10 |
Dex와 OIDC 인증 (0) | 2023.02.13 |
Comments