基于BasicAuth认证的Traefik2.0.5
2023-03-14 22:49:30 时间
记录一下在kubernetes1.16.3环境中使用Traefik2.0的过程,Traefik在2.0版本之后增加了tcp代理。同时在1.*版本的时候,使用Traefik感到很头疼的就是需要加上很多的注解annotations
,这一点社区也感觉到很麻烦,因此在2.0版本之后是通过Ingressroute这种自定义资源来进行配置在Kubernetes中的资源访问权限。
不管是什么技术,只有真正的用起来你才能感受到它的变化和好处,所以要谈某一个技术好还是不好,首先你要先用起来,不然我再写的很详细也终究不会是你的.
安装教程网上很多,这里简单的记录一下,详细的资源清单文件可以再GITHUB上找到
https://github.com/linuxermaster/kubeapps/tree/master/Traefik2.0.5
首先配置traefik的ingressroute CRD资源
kubectl apply -f 01-traefik_crd.yaml
访问权限资源清单
kubectl apply -f 02-traefik_rabc.yaml
通过configmap
挂载traefik的配置文件
kubectl apply -f 03-configmap.yaml
以deployment的方式部署traefik
kubectl apply -f 04-traefik_dp.yaml
此时可以查看你的traefik是否运行正常
给traefik添加rule规则以及Middleware在认证之后进行访问
- 首先在同一个namespace下创建一个secret,存储的是由htpasswd创建的密码文件
- 在访问的路由规则被匹配到之后就会将请求首先转发到Middleware进行验证身份,最后将请求打到对应的服务上
kubectl create secret generic basic-auth --from-file=./htpasswd --namespace=kube-system
kubectl apply -f 05-ingressroute.yaml
查看运行的状态
➜ Traefik2.0.5 git:(master) (☸ kubernetes-admin@kubernetes:default) k get all -n kube-system | grep -i traefik
pod/traefik-ingress-controller-6759db6c96-xxpnf 1/1 Running 0 6h21m
service/traefik ClusterIP 10.108.234.104 <none> 80/TCP,443/TCP,8080/TCP,8082/TCP 6h21m
deployment.apps/traefik-ingress-controller 1/1 1 1 6h21m
replicaset.apps/traefik-ingress-controller-6759db6c96 1 1 1 6h21m
通过域名进行访问
这里的用户名和密码就是通过htpasswd加密的,可以创建多个用户
相关文章
- 从eBay出发,浅谈大数据时代下的电子商务
- 一图看懂数据治理、数据管理与数据管控的关系和区别
- 如何在 Arch Linux 中安装 Cinnamon 桌面
- 如何用 Kubeadm 在 Debian 11 上安装 Kubernetes 集群
- iOS 版谷歌 Chrome 浏览器 108 新特性:外部链接可用隐身模式打开
- Bash 初学者系列 2:了解 bash shell 脚本中的变量
- 谷歌 Chrome 浏览器 108 正式版发布
- 2022年应关注的七大数据管理趋势
- 跟着小白一起学鸿蒙—一起学做Tetris(上)
- 盘点十个 GitHub 上的前端高仿项目
- macOS 替代品 helloSystem 0.7.0 正在增强稳定性
- 学习设备开发之Hi3861-UDP-广播
- 详解在 Ubuntu 从外部存储库安装软件包
- 谷歌结构化-调研与实践
- 跟着小白一起学鸿蒙—简析OpenHarmony软总线能力
- 优秀 Linux 远程桌面客户端
- 如何在 Silverblue 上变基到 Fedora Linux 37
- 使用 WinSCP 将文件和文件夹从 Windows 传输到 Linux
- 系统管理员喜欢 Systemd 的五个理由
- 如何在 Arch Linux 中安装 elementary OS 的 Pantheon 桌面