Nginx-ingress-controller
本教程将介绍nginx-ingress-controller:0.24.1的安装。
前置条件
准备好一个kubernetes集群(本教程中kubernetes版本为1.8.6,docker版本为docker-engine-1.12.6)
安装
执行命令kubectl apply -f nginx-ingress-controller.yaml以进行安装。nginx-ingress-controller.yaml的内容如下。在DaemonSet中,--http-port、--https-port、--default-server-port与--healthz-port可以自行修改。这里我们分别设置为80、443、10254,那么要确保Pod所在的主机上这三个端口没有被占用
上面的DaemonSet中,我们设置了nodeSelector。接下来我们给某个Node打上标签,Pod就可以调度到这个Node上来了
$ kubectl label node <node> nginx-ingress-controller="0241" --overwrite待Pod状态为Running后,访问http://<nodeIP>:10254/healthz,如果返回ok,则该Pod已正常运行。
创建Ingress
接下来,我们来创建一个Depoyment、Service与Ingress,yaml文件如下:
to be continuedReference
0.24.1版本的参考链接
注意该文档中的有些链接可能已经失效
https://github.com/kubernetes/ingress-nginx/blob/nginx-0.24.1/docs/deploy/index.md最新版本的参考链接
注意该链接的内容一直在更新,所以隔段时间看到的内容可能会不一样
https://kubernetes.github.io/ingress-nginx/deploy/`
`https://github.com/kubernetes/ingress-nginx/blob/master/docs/deploy/index.md`覆盖模板
/etc/nginx/template/nginx.tmpl
https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/custom-template/覆盖模板中的默认参数
https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/模板中的变量名(比如$cfg.MaxWorkerOpenFiles)与configmap中的key(比如为max_worker_open_files)的对应关系:
https://github.com/kubernetes/ingress-nginx/blob/master/internal/ingress/controller/config/config.goLast updated
Was this helpful?