TIPs. [NHN Cloud] NHN Kubernetes Service(NKS) 의 LoadBalancer 사용법
[DataUs] LoadBalancer 사용 할 때 공인IP를 지정 하여 사용하는 방법(NHN Cloud Kubernetes)
Last updated
Was this helpful?
2022년 NHN Cloud 무료 교육일정 :
NHN Cloud 사용자 가이드 :
2022년 NHN Cloud 행사/프로모션 정보 공유 :
TIPs. [NHN Cloud] NHN Kubernetes Service(NKS)에서 LoadBalancer 사용 방법
1. NHN Kubernetes Service(NKS) 에서 LoadBalaner 사용 하기
Kubernetes 에 서비스 등록 후 외부 공인IP 를 사용하여 접속 하려면 LoadBalancer 를 이용하여야 한.
Service Type 에서는 "ClusterIP", "ExternalName", "LoadBalancer", "NodePort" 값이 있다.
ClusterIP (기본값) - 클러스터 내에서 내부 IP 에 대해 서비스를 노출해준다. 이 방식은 오직 클러스터 내에서만 서비스가 접근될 수 있도록 해준다.
NodePort - NAT가 이용되는 클러스터 내에서 각각 선택된 노드들의 동일한 포트에 서비스를 노출시켜준다. <NodeIP>:<NodePort>를 이용하여 클러스터 외부로부터 서비스가 접근할 수 있도록 해준다. ClusterIP의 상위 집합이다.
LoadBalancer - (지원 가능한 경우) 기존 클라우드에서 외부용 로드밸런서를 생성하고 서비스에 고정된 공인 IP를 할당해준다. NodePort의 상위 집합이다.
ExternalName - CNAME 레코드 및 값을 반환함으로써 서비스를 externalName 필드의 내용(예를 들면, `foo.bar.example.com`)에 매핑한다. 어떠한 종류의 프록시도 설정되지 않는다. 이 방식은 kube-dns v1.7 이상 또는 CoreDNS 버전 0.0.8 이상을 필요로 한다.
LoadBalancer 를 이용하여 공인IP 사용하기
apiVersion: apps/v1
kind: Deployment
metadata:
name: http-echo
spec:
replicas: 2
selector:
matchLabels:
app: http-echo
template:
metadata:
labels:
app: http-echo
spec:
containers:
- name: http-echo
image: hashicorp/http-echo
args: ["-text", "hello-world"]
ports:
- containerPort: 5678
---
apiVersion: v1
kind: Service
metadata:
name: http-echo
spec:
ports:
- port: 5678
protocol: TCP
targetPort: 5678
selector:
app: http-echo
## NodePort 가 아니라 LoadBalancer 로 설정 해 주어야 함.
type: LoadBalancer
2. 서비스 중지 시 공인IP 유지 하기!!!!!
서비스를 중지 하였는데 Loadbalancer 에 등록된 공인IP 가 같이 사라졌다!!!!!
이를 해결하기 위해 아래와 같은 loadbalancer.openstack.org/keep-floatingip: "true" 값이 필요 하.