陈奇网络工作室

【Kubernetes系列】第5章入口控制器介绍——traefik组件

云计算

1.概观

为了使入口资源工作,Kubernetes集群中必须至少运行一个入口控制器组件。也就是说,如果kubernetes集群中没有ingress控制器组件,只定义了ingress资源,就无法实现http和https协议的请求转发和负载均衡等功能。常见的入口控制器组件如下:

Nginx

特拉菲克

孔(姓)

伊斯迪奥

HAProxy

以上组件目前没有详细的对比,以后可以在了解和使用各个组件的基础上给出一些详细的对比信息。本文将主要介绍traefik组件的安装和部署,并通过一个具体的应用进行演示。

2.Traefik组件的安装和部署

2.1通过舵图部署traefik

helm traefik图表包包含部署traefik组件所需的资源。我们可以通过使用该组件快速部署traefik组件。以下是部署命令行信息:

cmd线

helm install-name inner-trae fik-namespace kube-system \ \ \ \

-set image=registry . docker . hanker cloud . com/ingress-controller/traefik \ \ \ \

- set serviceType=NodePort \\\\

稳定/traefik

部署完成后,执行命令kubectl get Pods -n kube-system,可以看到一个名为inner-traefik的pod已经存在于kube-system的名称空间中。

2.2 RBAC配置

在Kubernetes的1.6版本中,引入了RBAC(基于角色的访问控制)机制来更好地管理资源和API的访问。如果在集群中配置了RBAC,则需要授权Treafik使用Kubernetes的API。有两种方法可以设置适当的策略:通过特定命名空间的RoleBinding和ClusterRoleBinding。为了简单起见,我们直接使用ClusterRoleBinding,资源定义如下:

-

种类:集群角色

API版本:rbac.authorization.k8s.io/v1beta1

元数据:

名称:traefik-ingress-控制器

规则:

-API group:

-

资源:

-服务

-端点

秘密

动词:

-去吧

-列表

-看着

-API group:

-扩展

资源:

-入口

动词:

-去吧

-列表

-看着

-

种类:ClusterRoleBinding

API版本:rbac.authorization.k8s.io/v1beta1

元数据:

名称:traefik-ingress-控制器

roleRef:

API group:RBAC . authorization . k8s . io

种类:集群角色

名称:traefik-ingress-控制器

主题:

-种类:服务帐户

名称:traefik-ingress-控制器

名称空间:kube-system

-

apiVersion: v1

种类:服务帐户

元数据:

名称:traefik-ingress-控制器

名称空间:kube-system

接下来,我们执行以下命令来创建资源并修改部署的资源定义文件。

kubectl apply -f traefik-rbac.yml

kubectl编辑部署内部traefik -n kube-system

完成上述操作后,我们可以验证相关资源已经正常启动。

kube CTL logs $(kube CTL get pods-n kube-system | grep traefik | awk \ \ \ ' { print $ 1 } \ \ \ ')-n kube-system

2.3负载平衡配置

由于我们使用的是Deployment部署的traefik组件,其服务类型为NodePort,所以可以通过ku bectl getsvc-nkube-system | grep trae fik看到端口映射关系。接下来我们在阿里云申请一个负载均衡的设备,做好相应的配置后再完成这一步。

另一个替代方案是通过DaemonSet的方式部署traefik组件,设置主机端口和Pod实例端口的映射关系,也可以完成这个任务。

3.创建入口资源并调试它。

接下来,我们在kubernetes集群中创建一个入口资源。因为我们之前已经在集群中部署了一个wordpress应用程序,所以资源定义文件如下:

apiVersion:扩展/v1beta1

种类:入口

元数据:

名称:入口

命名空间:默认

注释:

nginx.ingress.kubernetes.io/rewrite-target:/

规格:

规则:

主持人:blog.hankercloud.com

http:

路径:

-路径:/

后端:

服务名称:测试

服务端口:80

完成以上操作后,我们在本地修改/etc/hosts文件,手动配置blog.hankercloud.com的域名解析记录,在浏览器地址栏输入http://blog.hankercloud.com就可以看到页面。至此,我们已经完成了traefik组件的安装、部署和调试。

4.参考文件:

https://docs.traefik.io/v1.5/user-guide/kubernetes/

https://kubernetes . io/docs/concepts/services-网络/入口/

更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理官网:www.chenqinet.cn。

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3