HTTP 프록시로 쿠버네티스 API에 접근하기
HTTP 프록시로 쿠버네티스 API에 접근하기 (Use an HTTP Proxy to Access the Kubernetes API)
이 페이지에서는 HTTP 프록시를 사용해 쿠버네티스 API에 접근하는 방법을 보여 줘요.
출처: 문서
본문
시작하기 전에
쿠버네티스 클러스터가 필요하고, kubectl 명령줄 도구가 클러스터와 통신하도록 설정돼 있어야 해요. 이 튜토리얼은 제어 플레인 호스트 역할을 하지 않는 노드가 최소 두 개 있는 클러스터에서 실행하는 것을 권장해요. 아직 클러스터가 없다면 minikube를 사용하거나 다음 쿠버네티스 플레이그라운드 중 하나를 사용해 만들 수 있어요.
- iximiuz Labs
- Killercoda
- KodeKloud
버전을 확인하려면 kubectl version을 입력하세요.
클러스터에 실행 중인 애플리케이션이 아직 없다면, 다음 명령으로 Hello world 애플리케이션을 시작하세요.
kubectl create deployment hello-app --image=gcr.io/google-samples/hello-app:2.0 --port=8080
kubectl로 프록시 서버 시작하기
다음 명령은 쿠버네티스 API 서버로 프록시를 시작해요.
kubectl proxy --port=8080
쿠버네티스 API 탐색하기
프록시 서버가 실행 중이면 curl, wget, 또는 브라우저로 API를 탐색할 수 있어요.
API 버전을 가져와요.
curl http://localhost:8080/api/
출력은 다음과 비슷해야 해요.
{
"kind": "APIVersions",
"versions": [
"v1"
],
"serverAddressByClientCIDRs": [
{
"clientCIDR": "0.0.0.0/0",
"serverAddress": "10.0.2.15:8443"
}
]
}
파드 목록을 가져와요.
curl http://localhost:8080/api/v1/namespaces/default/pods
출력은 다음과 비슷해야 해요.
{
"kind": "PodList",
"apiVersion": "v1",
"metadata": {
"resourceVersion": "33074"
},
"items": [
{
"metadata": {
"name": "kubernetes-bootcamp-2321272333-ix8pt",
"generateName": "kubernetes-bootcamp-2321272333-",
"namespace": "default",
"uid": "ba21457c-6b1d-11e6-85f7-1ef9f1dab92b",
"resourceVersion": "33003",
"creationTimestamp": "2016-08-25T23:43:30Z",
"labels": {
"pod-template-hash": "2321272333",
"run": "kubernetes-bootcamp"
},
...
}
더 알아보기 (Learn more)
- kubectl proxy에 대해 더 배워 보세요.
- SOCKS5 프록시로 쿠버네티스 API에 접근하기