Metallb, Helm, Ingress 설치/ 등록

알파로그·2023년 7월 4일
0

Kubernetes

목록 보기
11/15

✏️ Metallb 설치

  • helm 을 사용하기 위해 선행으로 설치해야되는 툴이다.

📍 디렉토리 생성

mkdir -p /kube/metallb && cd /kube/metallb

📍 설치

kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.5/config/manifests/metallb-native.yaml

📍 IP Address Pool 생성

vim pool.yaml
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: metallb-pool
  namespace: metallb-system
spec:
  addresses:
  - 192.168.0.240-192.168.0.250
kubectl apply -f pool.yaml

📍 L2Advertisement 생성

vim l2.yaml
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
  name: metallb-l2
  namespace: metallb-system
kubectl apply -f l2.yaml

✏️ Helm 설치

  • helm 은 kubernetes 내에서 사용하는 yum 같은 명령어이다.
    • helm 을 사용해 Ingress 를 설치해야 한다.

📍 디렉토리 생성

mkdir ~/tmp && cd ~/tmp

📍 설치하기

  • wget 을 먼저 인스톨해준다.
yum install wget -y

🔗 helm download

  • 위 페이지에서 본인에 맞는 링크 주소를 복사하면 된다.
    • linux amd64 설치파일을 다운로드했다.
wget https://get.helm.sh/helm-v3.12.1-linux-amd64.tar.gz
  • 다운받은 설치 파일의 압축을 풀어준다.
tar zxvf helm-v3.12.1-linux-amd64.tar.gz
  • 설치파일을 실행해 설치를 시작한다.
    • /user/local/bin 디렉토리에 설치하면 모든곳에서 명령어를 실행 가능하게 된다.
mv linux-amd64/helm /usr/local/bin/helm
  • 설치가 완료되면 설치파일이 담긴 tmp 디렉토리를 삭제해준다.
    • 더이상 필요가 없어서 삭제를 해줌
rm -rf ~/tmp

✏️ Ingress 설치

📍 helm 에 ingress controller 저장소 등록

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx

📍 helm 저장소 업데이트

helm repo update

📍 ingress controller 찾기

helm search repo ingress-nginx

📍 helm 의 ingrees-nginx/ingress-nginx 설정 미리 가져오기

mkdir -p /kube/ingress-nginx && cd /kube/ingress-nginx

helm show values ingress-nginx/ingress-nginx > nginx-ingress.yaml

📍 설정 수정하기

  • esc + / + 검색어 로 쉽게 찾을 수 있다.
vim nginx-ingress.yaml
# false 에서 true 로 수정
hostNetwork: true

# hostPort 활성화
hostPort:
  enabled: true

# kind를 Deploymnet에서 DeamonSet으로 변경
kind: DaemonSet

📍 ingress controller 설치

helm install ingress-nginx ingress-nginx/ingress-nginx -f nginx-ingress.yaml -n ingress-nginx --create-namespace

📍 확인하기

  • get all -A 를 하면 daemonset 으로 ingress 가 작동중인것을 확인할 수 있다.
NAMESPACE        NAME                                      DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR            AGE
calico-system    daemonset.apps/calico-node                1         1         1       1            1           kubernetes.io/os=linux   10h
calico-system    daemonset.apps/csi-node-driver            1         1         1       1            1           kubernetes.io/os=linux   10h
ingress-nginx    daemonset.apps/ingress-nginx-controller   1         1         1       1            1           kubernetes.io/os=linux   75s
kube-system      daemonset.apps/kube-proxy                 1         1         1       1            1           kubernetes.io/os=linux   11h
metallb-system   daemonset.apps/speaker                    1         1         1       1            1           kubernetes.io/os=linux   26m
profile
잘못된 내용 PR 환영

0개의 댓글