개요
도커 데스크탑을 설치하면 쿠버네티스를 활성화할 수 있습니다. 도커에서 새로운 이미지를 빌드하고, 클라우드에서 운영중인 쿠버네티스 환경에 배포하기 전 테스트를 진행할 공간이 필요할 때 유용하게 사용할 수 있습니다. 이 글에서는 도커 데스크탑 쿠버네티스에 인그레스 컨트롤러를 설치하고, 미리 정의된 주소로 접근하는 과정을 다룹니다.
인그레스
인그레스는 쿠버네티스 클러스터로 HTTP(80)와 HTTPS(443)을 이용하여 접근하는 트래픽을 관리합니다. 접근 주소, 경로에 따라 여러 서비스들을 관리할 수 있습니다.
인그레스 컨트롤러
쿠버네티스에는 이 인그레스 기능을 위한 컨트롤러를 플러그인 처럼 따로 설치해야 사용할 수 있습니다. 인그레스 컨트롤러 종류는 여러가지가 있으며, 이중 쿠버네티스 프로젝트에서 공식 지원하는 AWS, GCE와 NGINX 중 NGINX 인그레스 컨트롤러를 설치하는 법을 다룹니다.
인그레스 컨트롤러 설치
쿠버네티스 활성화
도커 데스크탑 세팅에서 쿠버네티스를 활성화 합니다.
NGINX 인그레스 컨트롤러 설치
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.43.0/deploy/static/provider/cloud/deploy.yaml
NGINX 인그레스 컨트롤러 설치 확인
kubectl get all -n ingress-nginx
인그레스 사용
Pods 및 Service 구성은 다루지 않습니다.
인그레스 정의 파일 생성
# issue-ingress.yaml
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: issue-ingress
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: issuesite-service
servicePort: 80
- http:
paths:
- path: /admin
backend:
serviceName: issueadmin-service
servicePort: 80
인그레스 정의 파일 적용
kubectl apply -f issue-ingress.yaml
인그레스 적용 확인
kubectl describe ingress issue-ingress
인그레스 접근 확인
http://kubernetes.docker.internal/
마치며
kubernetes.docker.internal
도커 데스크탑 설치시 HOSTS에 kubernetes.docker.internal 주소의 IP가 127.0.0.1로 자동 등록됩니다. 127.0.0.1로 접근하셔도 되지만, 인그레스 설정에 주소 이름에 따라 분리할 경우에 HOSTS 파일에 새로운 주소를 추가하여 테스트가 가능합니다.
'Cloud > Kubernetes' 카테고리의 다른 글
[v1.21] Kubeadm + Containerd + Calico + NFS-Provisioner + Ingress-Nginx 설치 (0) | 2021.05.22 |
---|---|
[kubeadm] kubernetes에 metrics-server 설치하기 (0) | 2021.02.15 |
[kubeadm] Hyper-V를 사용한 Kubernetes 설치 (1) | 2021.02.12 |
[K3S] 쿠버네티스 마스터 노드 부하 줄이기 (0) | 2021.01.04 |
[k3s] 쿠버네티스 busybox 최신 이미지 사용시 dns 조회 불가 (0) | 2020.12.15 |