本教程仅适用于学习和开发环境部署,并且不建议为环境产生环境。
关于Internet上的入口控制器部署的文章很多。有各种部署方法。结合实际环境,找到适合您,记录并将其送给未来的方法。
安装和部署个人对Ingress Controller的安装部署的理解分为两个步骤:
在第一步和第二步之后,在K8S集群的交界处建立了一个通信桥。
入口控制器只是一个抽象的集体名称。其实施的组成部分如下:
来源
注意:Ingress Nginx是本文安装的部署对象。所有入口控制器均涉及入口NGINX方案
命令行(在K8S v19.2上进行了验证):
这是一个官方的强制性文件。入口控制器的许多部署教程都不提供完整的强制性文件。它仅提供一个URL,但此URL通常有两个问题:
因此,我发布了完整版本的强制性文件的完整版本,以快速安装验证功能并为自己进行备份(如果您想生产,强烈建议不建议直接使用YML文件)。
修改了一个地方:
它被修改的原因是因为直接使用部署时,我发现:我无法拉下图像:。
因此,在节点节点上,首先将Docker映像下载到local(),然后将Deploy()下载。
知识点:
默认的镜像绘图策略是IFNOTERENT:当图像存在时,Kubelet将不再拉镜子。如果您想强制镜像,则可以执行以下操作之一:
如果ImagePullPolicy未定义为特定值,它也将设置为始终
来源
部署入口控制器有很多方法。以下示例有三种常见方法:
在这里,我主要是针对前两个部署方法进行的。
NodePort的部署想法:
应当指出,入口控制器容器可以部署在节点节点或主节点之一(不建议)上,也可以将其部署在所有节点节点和主节点上。后者的优点是网络流量转发可以降低NAT以提高效率;缺点也很明显,在有限的资源下,不能将入口控制器容器部署在每个节点中。
此部署方法的SVC YAML文件。在节点节点上以nodeport为单位,在群集的外部接触一个30080端口。
外部访问方法:
Hostnetwork的部署想法:
与NodePort模式相比,HostNetwork模式不需要创建SVC来统一流量流,而是让每个节点自行将流量转发。
该计划已部署,您需要修改强制性。
外部访问方法:
知识点:什么是deamonset部署?
Daemonset确保所有(或某些)节点节点上的POD副本。当节点连接到群集时,将添加一个新的POD。从群集中删除节点时,这些POD也会被回收。Deemonset。将删除其创建的所有POD。
知识点:为什么使用deamonset部署?
结合DS的定义和HostNetwork的部署想法,我们可以看到可以轻松实现使用DS:在所有节点上部署Ingress Contrancter容器的副本。当然,您还可以使用K8S标签选择器来部署A一个或多个节点上的入口控制器容器的副本。操作如下:
NodePort和HostNetwork解决方案的比较
