/
[Kubernetes] Ingress 설치

[Kubernetes] Ingress 설치

쿠버네티스에서 HTTP(S)기반의 L7 로드밸런싱 기능을 제공하는 컴포넌트를 Ingress라고 한다.

Ingress Controller 설치

  • 아래와 같은 설치 명령어로 해당 파일을 배포하면 인그레스 컨트롤러의 새로운 namespace가 생성된다.

kubectl apply -f http://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/baremetal/deploy.yaml

GitLab Admin Area > Kubernetes cluster > Applications tab > Ingress 설치 시 자동으로 설치가 된다.

Metal LB 설치

온프레미스 환경에서는 로드밸런서 타입을 이용할 수 없기 때문에 로드밸런서 타입의 서비스를 배포할 수 있게 해주는 도구인 Metal Load-balancer를 설치한다.

  • 아래와 같은 설치 명령어로 해당 파일을 배포하면 Metal LB의 새로운 namespace가 생성된다.

kubectl apply -f https://raw.githubusercontent.com/google/metallb/v0.8.3/manifests/metallb.yaml

 

ConfigMap 배포

  • ConfigMap 배포 예제

apiVersion: v1 kind: ConfigMap metadata: namespace: metallb-system name: config data: config: address-pools: - name: default protocol: layer2 addresses: - 192.168.1.240-192.168.1.250

11~12 라인 addresses 설정을 자신이 외부로 노출할 수 있는 IP 범위로 작성하면 된다.

  • 아래와 같은 명령어로 ConfigMap 배포

서비스 배포

  • 로드밸런서 타입의 Service 배포 예제

다음과 같은 명령어로 서비스 배포