https://kubernetes.github.io/ingress-nginx/deploy/#using-helm
1) Metallb
Hiện tại mình cũng chưa có nhu cầu cài lại Metallb và vẫn đang chạy ở phiện bản 1.12.1
Tin mới là metallb đã có breaking changes in 0.13.x
Cài đặt metallb trước để auto nhận các service LB
kubectl create ns metallb
helm repo add metallb https://metallb.github.io/metallb
helm install metallb metallb/metallb
Phần config trong file value để tạo 1 range IP cho LB
configInline:
address-pools:
- name: default
protocol: layer2
addresses:
- 192.168.21.240-192.168.21.250
addresses:
- 192.168.21.240-192.168.21.250
Đây là range IP mà bạn sẽ cấp cho các ingress có Type LoadBalancer

2) Ingress Nginx
kubectl create ns ingress-nginx
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
helm install ingress-nginx ingress-nginx/ingress-nginx
Trước khi intall export value.yaml và sửa 1 số chi tiết sau:


CÒn nếu bạn sài argocd thì


Thực hành tạo ingress trên rancher he. tạo bằng cmd thì người ta chỉ đầy rồi.




ở phần này nói thêm với rancher khi mà bạn tạo ingress mà bạn workload như hình trên hình thì nó sẽ tạo cho bạn 1 service select tới workload của bạn.
Rồi nó nào 1 ingress select vào service mà rancher tạo.
Vì mình đã có service rồi nên ko chơi cách này.



Configure to provide internal or private IP for Service with type LoadBalancer on EKS
apiVersion: v1
kind: Service
metadata:
name: argocd-server
namespace: argocd
labels:
app.kubernetes.io/component: server
app.kubernetes.io/instance: argocd
app.kubernetes.io/name: argocd-server
app.kubernetes.io/part-of: argocd
annotations:
service.beta.kubernetes.io/aws-load-balancer-internal: 'true' #look at
spec:
ports:
- name: http
protocol: TCP
port: 80
targetPort: 8080
nodePort: 30009
- name: https
protocol: TCP
port: 443
targetPort: 8080
nodePort: 32184
selector:
app.kubernetes.io/name: argocd-server
type: LoadBalancer #look at
Create Ingress for any service not inside the k8s cluster
Kubernetes Ingress to External Service
Deploy Network load balancer (NLB) to expose the NGINX Ingress
https://easoncao.com/eks-best-practice-load-balancing-3-en/
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp
service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"
service.beta.kubernetes.io/aws-load-balancer-type: nlb
labels:
app.kubernetes.io/component: controller
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
app.kubernetes.io/version: 1.1.3
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
externalTrafficPolicy: Local
ports:
- appProtocol: http
name: http
port: 80
protocol: TCP
targetPort: http
- appProtocol: https
name: https
port: 443
protocol: TCP
targetPort: https
selector:
app.kubernetes.io/component: controller
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
type: LoadBalancer
Monitoring Ingress Nginx on Kubernetes
https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/monitoring.md
Comments on “[Ingress Nginx/MetalLB] Install Ingress Nginx trên K8s bằng helm”