Kube-apiserver
Kubernetes API 서버.
HTTPS Endpoint
참고로 HTTP는 안되고 HTTPS로 연결해야 한다. 포트는 6443 이다.
대략 다음과 같이 출력된다:
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Failure",
"message": "Unauthorized",
"reason": "Unauthorized",
"code": 401
}
API 호출을 위해 필요한 내용
# Kubernetes 클러스터 연결 설정
# .env 파일로 복사한 후 실제 값으로 변경하세요
# Kubernetes API 서버 URL (필수)
# 예: https://your-cluster.example.com:6443
K8S_API_SERVER=
# 인증 토큰 (필수)
# Service Account Token 또는 User Token
# 토큰 획득 방법:
# kubectl -n kube-system create token <service-account-name>
# 또는 kubectl describe secret <secret-name>에서 추출
K8S_TOKEN=
# 기본 네임스페이스 (선택, 기본값: default)
K8S_NAMESPACE=default
# TLS 인증서 검증 무시 여부 (선택, 기본값: false)
# 개발 환경에서만 true로 설정 권장
K8S_INSECURE=false
# CA 인증서 파일 경로 (선택)
# K8S_INSECURE=false인 경우 필요할 수 있음
# 예: /path/to/ca.crt
K8S_CA_CERT_FILE=
# CA 인증서 데이터 (선택, base64 인코딩된 값)
# K8S_CA_CERT_FILE 대신 사용 가능
# kubectl config view --raw -o jsonpath='{.clusters[0].cluster.certificate-authority-data}'
K8S_CA_CERT_DATA=
# ========================================
# 토큰 획득 방법 예시
# ========================================
# 1. Service Account 생성 및 토큰 획득
# kubectl create serviceaccount k8s-api-client
# kubectl create clusterrolebinding k8s-api-client-binding \
# --clusterrole=cluster-admin --serviceaccount=default:k8s-api-client
# kubectl create token k8s-api-client
# 2. 클러스터 정보 확인
# kubectl cluster-info
# 예: Kubernetes control plane is running at https://127.0.0.1:6443
# 3. kubeconfig 대신 .env 사용 예시
# K8S_API_SERVER=https://127.0.0.1:6443
# K8S_TOKEN=eyJhbGciOiJSUzI1NiIsImtpZCI6Ij...
# K8S_NAMESPACE=default
# K8S_INSECURE=true # 로컬 개발 환경