링크
링크
k edit configmap -n kube-system kube-proxy
>>>
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: "ipvs"
ipvs:
strictARP: true
kubectl get configmap kube-proxy -n kube-system -o yaml | sed -e "s/strictARP: false/strictARP: true/" | kubectl apply -f - -n kube-system
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.14.8/config/manifests/metallb-native.yaml
k create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)"
>>> secret/memberlist created
---
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: default
namespace: metallb-system
spec:
addresses:
- 192.168.56.100-192.168.56.200
autoAssign: true
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: default
namespace: metallb-system
spec:
ipAddressPools:
- default
kubectl create -f metallb-config.yaml
4. Nginx Ingress Controller 설치
kubectl create -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.5.1/deploy/static/provider/baremetal/deploy.yaml
nginx-ingress에서 External IP 할당 받기
k get svc -n ingress-nginx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx-controller NodePort 10.233.26.164 <none> 80:30080/TCP,443:30443/TCP 23h
ingress-nginx-controller-admission ClusterIP 10.233.45.96 <none> 443/TCP 23h
k edit svc -n ingress-nginx ingress-nginx-controller
...
selector:
app.kubernetes.io/component: controller
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
sessionAffinity: None
type: LoadBalancer
kubectl -n ingress-nginx patch service ingress-nginx-controller -p '{"spec":{"type":"LoadBalancer"}}'
k get svc -n ingress-nginx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx-controller LoadBalancer 10.233.26.164 10.95.90.50 80:30080/TCP,443:30443/TCP 23h
ingress-nginx-controller-admission ClusterIP 10.233.45.96 <none> 443/TCP 23h
5. 동작 확인
curl 10.95.90.50
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx</center>
</body>
</html>
curl 10.95.90.50/test1
>>> test1
curl 10.95.90.50/test2
>>> test2
참고 사이트
링크