kind Ingress Nginx

完成 kind Ingress 补丁配置方式 Kind 集群创建之后,可以部署不同的Ingress来实现 Kubeernetes服务(services) 输出。我的实践采用最常用的 Kubernetes Ingress控制器Nginx 完成

备注

Cilium网络 也可以在 kind 集群部署,提供了非常完整的 使用kind本地集群安装cilium ,我另外部署一个验证集群 cilium-dev

仅使用 Kubernetes Ingress控制器Nginx 就可以把 Kubeernetes服务(services) 对外输出,对于 macOS安装Docker 稍微麻烦一些,需要将 macOS 上运行的Docker虚拟机再做一次端口映射,以便能够在物理主机(网络)访问。

本文尝试部署一个简化版的 Kubernetes Ingress控制器Nginx + Kubernetes MetalLB 负载均衡 来实现轻量级部署Kubernetes服务输出

安装Ingress NGINX

配合 kind Ingress

  • Kind在自己patch过的 kind Ingress 做了 extraPortMappings ,所以提供了一个明确包含kind特殊patches版本来将 hostPorts 转发给ingress controller的安装版本:

安装kind补丁过的ingress-nginx
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml
  • 执行一下请求等待进程就绪:

等待kind补丁过的ingress-nginx安装完成就绪
kubectl wait --namespace ingress-nginx \
  --for=condition=ready pod \
  --selector=app.kubernetes.io/component=controller \
  --timeout=90s

备注

使用 ingress-nginx 案例见下文

标准版 ingress-nginx

我部署 简化版的 Kubernetes Ingress控制器Nginx + Kubernetes MetalLB 负载均衡 来实现轻量级部署Kubernetes服务输出,所以实际安装标准版 Kubernetes Ingress控制器Nginx

参考