/
[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 배포 예제
다음과 같은 명령어로 서비스 배포