K8S(05)核心插件-ingress(服务暴露)控制器-traefik

本文介绍了K8S中服务暴露的两种方式,重点讲解了使用Ingress资源及其控制器Traefik进行服务暴露的方法。详细步骤包括Traefik的Docker镜像准备、RBAC授权、DaemonSet资源、Service和Ingress资源配置,以及前端nginx的反向代理设置和DNS解析。最后,通过访问验证确认服务已成功暴露。
摘要由CSDN通过智能技术生成

K8S核心插件-ingress(服务暴露)控制器-traefik

1 K8S两种服务暴露方法

前面通过coredns在k8s集群内部做了serviceNAME和serviceIP之间的自动映射,使得不需要记录service的IP地址,只需要通过serviceNAME就能访问POD
但是在K8S集群外部,显然是不能通过serviceNAME或serviceIP来解析服务的
要在K8S集群外部来访问集群内部的资源,需要用到服务暴露功能

1.1 K8S常用的两种服务暴露方法

  1. 使用NodePort型的Service
    nodeport型的service原理相当于端口映射,将容器内的端口映射到宿主机上的某个端口。
    K8S集群不能使用ipvs的方式调度,必须使用iptables,且只支持rr模式
  2. 使用Ingress资源
    Ingress是K8S API标准资源之一,也是核心资源
    是一组基于域名和URL路径的规则,把用户的请求转发至指定的service资源
    可以将集群外部的请求流量,转发至集群内部,从而实现’服务暴露

1.2 Ingress控制器是什么

可以理解为一个简化版本的nginx + go脚本
Ingress控制器是能够为Ingress资源健康某套接字,然后根据ingress规则匹配机制路由调度流量的一个组件
只能工作在七层网络下,建议暴露http, https可以使用前端nginx来做证书方面的卸载

我们使用的ingress控制器为**Traefik**

traefik:GITHUB官方地址

2 部署traefik

同样的,现在7.200完成docker镜像拉取和配置清单创建,然后再到任意master节点执行配置清单

2.1 准备docker镜像

docker login harbor.od.com
docker pull traefik:v1.7.2-alpine
docker tag  traefik:v1.7.2-alpine harbor.od.com/public/traefik:v1.7.2
docker push harbor.od.com/public/traefik:v1.7.2

2.2 创建资源清单

mkdir -p /data/k8s-yaml
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值