k8中入口的安装方法

  介绍

这篇文章主要讲解了“美丽中入口的安装方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“k8中入口的安装方法”吧!

在Kubernetes中,服务和Pod的IP地址仅可以在集群网络内部使用,对于集群外的应用是不可见的。为了使外部的应用能够访问集群内的服务,在Kubernetes目前提供了以下几种方案:
1. nodeport

,NodePort才能服务是暴露服务的最原始方式。顾名思义,NodePort会在所有节点(VM)上打开一个特定的端口,并且发送到此端口的任何流量都将转发到该服务只这种方式主要有以下缺点:

<李>

每个端口只能有一个服务

<李>

默认您只能使用端口30000 - 32767

基于以上原因,我不建议在生产环境上用这种方式暴露服务。如果你运行的服务不要求一直可用,或者对成本比较敏感,你可以使用这种方法。这样的应用的最佳例子是演示应用,或者某些临时应用。

2。loadbalance

loadbalance服务是暴露服务到互联网的标准方式。这种方式会启动一个网络负载平衡器,它将给你一个单独的IP地址,转发所有流量到你的服务。

如果你想要直接暴露服务,这就是默认方式。所有通往你指定的端口的流量都会被转发到对应的服务。它没有过滤条件,没有路由等。这意味着你几乎可以发送任何种类的流量到该服务,像HTTP、TCP、UDP, Websocket, gRPC或其它任意种类。

这个方式的最大缺点是每一个用loadbalance暴露的服务都会有它自己的IP地址,每个用到的loadbalance都需要付费,这将是非常昂贵的。

3。进入

有别于以上所有例子,进入事实上不是一种服务类型。相反,它处于多个服务的前端,扮演着“智能路由”或者集群入口的角色。

你可以用入口来做许多不同的事情,各种不同类型的入口控制器也有不同的能力。

默认入口控制器是启动一个HTTP (S)负载均衡器[3]。它允许你基于路径或者子域名来路由流量到后端服务,例如,你可以将任何发往域名foo.yourdomain.com的流量转到foo服务,将路径yourdomain.com/bar/path的流量转到酒吧服务。

基于以上情况,建议各位还是采用入口。以下是我基于1.20版本的安装实操

步骤1:

下载mandatory.yaml和service-nodeport.yaml,强制性的。yaml主要是安装nginx-ingress-controller(具体实现反向代理及负载均衡的程序,对进入定义的规则进行解析,根据配置的规则来实现请求转发).service-nodeport.yaml主要是负责对外提供服务,如果不需要可以不下载(service-nodeport其实就是个简单的服务服务需要对外服务需要开通个nodePort即可让外部访问k8内部服务,具体我们后面再讲)

下载mandatory.yaml,下载地址是:https://github.com/kubernetes/ingress-nginx/tree/nginx-0.30.0/deploy/static

 k8中入口的安装方法

下载完成后我们需要对mandatory.yaml进行简单的修改

1,将文件中的rbac.authorization.k8s。io/v1beta1替换成rbac.authorization.k8s。io/v1原因是1.20版本已经v1beta1版本已经过期,所以最好是改成v1不然会告警或报错。

2,设置k8使用主机网络(可选)

这里需要注意的是如果是自己服务器(非啊里,云腾讯云等云服务器,配置成网络之后是可以不需要创建一个nodePort的svc,而是直接在每个节点都创建一个ingress-controller的容器,而且将该容器的网络模式设为hostNetwork。也就是说每个节点物理机的80年和443年端口将会被ingress-controller中的nginx容器占用。当流量通过80/443端口进入时,将直接进入到nginx中。而后nginx根据入口规则再将流量转发到对应的网络应用容器中只上面的service-nodeport.yaml文件是可以不下载的),我这边测试,所以也设置成网络模式

 k8中入口的安装方法

3,安装

,,运行-f  kubectl;强制性的。yaml

 k8中入口的安装方法

出现以下界面表示安装成功,如果失败可以kubectl删除-f  mandatory.yaml清空已安装的pod和configmap,然后根据实际报错修改mandatory.yaml再重试

大家留意这张图,如果hostNetwork设置为真红色框框部分显示的就是你自己的主机IP(真实IP),如果不设置则会显示虚拟IP (10。* * *这种)我因为是啊里云服务器所以这里的IP显示的是啊里云的内网IP 172.23.78.148。

k8中入口的安装方法