K8S 安装 Ingress

  1. K8S 对外暴露服务的方式有三种:loadblancer、nodeport、ingress
  2. ingress 由 ingress controller 和 ingress 服务组成
  3. controller 主要有两种:nginx、traefik

nginx ingress controller 分为k8s社区、nginx公司两个版本

ingress的工作原理

ingress具体的工作原理如下:
ingress contronler通过与k8s的api进行交互,动态的去感知k8s集群中ingress服务规则的变化,然后读取它,并按照定义的ingress规则,转发到k8s集群中对应的service。

而这个ingress规则写明了哪个域名对应k8s集群中的哪个service,然后再根据ingress-controller中的nginx配置模板,生成一段对应的nginx配置。

然后再把该配置动态的写到ingress-controller的pod里,该ingress-controller的pod里面运行着一个nginx服务,控制器会把生成的nginx配置写入到nginx的配置文件中,然后reload一下,使其配置生效。以此来达到域名分配置及动态更新的效果。

Ingress安装

1. 下载kubernetes nginx的yaml文件
wget  https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.18.0/deploy/mandatory.yaml
2. 创建 Ingress - Nginx
kubectl apply -f ./mandatory.yaml
kubectl get pods -n ingress-nginx
kubectl get service -n ingress-nginx
3. 测试
curl http://10.98.51.155  //ip来自上一步
如果返回404则表示安装成功

你可能感兴趣的:(K8S 安装 Ingress)