baremetal에 k8s cluster 구성후 nginx reverse proxy를 구성해서 썼는데 몇가지 문제가 있다.
- 일단 location이 추가될때마다 작업을 하는 번거로움
- HTTP/2에 대한 처리가 불가한 부분
metallb 설치해서 istio-ingressgateway svc에 none으로 나오는 부분에 ip가 부여되도록 변경해보자.
포트포워딩 하면서 공유기 서비스가 내려갔다 올라오면 ip변경이 발생할 것 같아, 일단 마스터노드의 IP와 동일하게 세팅했다.
이 구성이 정상 동작은 하는데 문제가 있다.
- 동일 IP 공유하는 트래픽/서비스간의 리소스 경쟁 발생 가능성
- 장애 전파
그럼에도 일단 개인 개발환경이기 때문에 이대로 세팅을 했고 세팅하는 방법을 남기는데 아주 간단하다.
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.10.3/manifests/namespace.yaml
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.10.3/manifests/metallb.yaml
이렇게 실행하고 나면 metallb-system namespace에 controller와 speaker가 생성된다.
다음으로 사용할 IP 대역을 configmap으로 넣어주면 끝이다.
apiVersion: v1
kind: ConfigMap
metadata:
namespace: metallb-system
name: config
data:
config: |
address-pools:
- name: default
protocol: layer2
addresses:
- 192.168.219.105-192.168.219.105 # 나는 마스터노드IP로 했지만 권장은 노드IP 대역을 피하는것이다.
이제 kubectl apply 를 해보고 나면, istio-system의 istio-ingressgateway svc에 external IP 가 세팅된것이 보인다.
nginx reverse proxy를 종료하고 도메인으로 접속하니 포트포워딩 되서 정상적으로 서비스가 뜨는 부분도 확인이 된다.
728x90
'CloudNative > Orchestration & Management' 카테고리의 다른 글
| Openshift service mesh gatway, virtualservice, serviceEntry (1) | 2024.11.10 |
|---|---|
| Openshift service mesh (istio) (0) | 2024.11.09 |
| Windows11 + docker desktop k8s 에 SCDF UI 설치 (1) | 2023.09.13 |