一、Ingress是什么

二、IngressController部署

部署ingress-nginx参考下面这篇文章:k8s部署ingress-nginx步骤_quay.io/kubernetes-ingress-controller/nginx-ingres-CSDN博客

修改这两处,image如果能下载下来镜像也可不修改

hostNetwork: true - 当前的网络使用主机节点网络对外提供服务,如果在不做任何的配置下,刚才创建的

转到k8s-node2命令行:

看到k8s-node2节点监听着80端口,这个跟service不一样,service是所有的后端pod都会监听80/443端口,这个是只有部署ingree-nginx的那台机器会监听80/443端口。

三、Ingress对外暴露网站

创建一个应用

创建一个Service

合并成一个yaml

创建一个Ingress

四、Ingress HTTPS

这里演示通过cfssl自签证书

注:

        ca* - 自签CA证书

        blog.ctnrs.com* - 域名自签证书

将域名证书文件保存到Secret - 这一步,可以使用命令行也可以使用yaml创建,这里使用yaml创建

注:

     tls - Secret资源名称

      --cert=blgo.ctnrs.com.pem  - 自签证书

      --key=blog.ctnrs.com-key.pem  - 自签证书Key

3.Ingress配置tls

这里域名没对应上,自己改下

总结:

Ingress-Nginx高可用方案

将所有Deployment改成DaemonSet

删掉replicas:1 副本数配置

在实际中服务器会很多,每个都部署一个ingress-nginx也不现实,可以采取DaemonSet+nodeSelector的方式部署到特定的几台node,然后将这几台挂载到公网的负载均衡器对外提供服务。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐