当前位置: 首页 > 工具软件 > ingress-nginx > 使用案例 >

K8S 安装 Ingress

邹嘉致
2023-12-01
  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则表示安装成功

 

 类似资料: