前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Traefik - Kubernetes 配置服务basic auth验证

Traefik - Kubernetes 配置服务basic auth验证

作者头像
用户3013098
发布2022-05-31 20:53:05
9970
发布2022-05-31 20:53:05
举报
文章被收录于专栏:devops运维先行者

Traefik是一个现代HTTP反向代理和负载均衡器,可以轻松部署微服务。 Traefik与现有的基础架构组件(Docker,Swarm模式,Kubernetes,Marathon,Consul,Etcd,Rancher,Amazon ECS ......)集成,并自动动态配置。此文主要介绍kubernetes集群下的traefik部署。

在kubernetes中,默认traefik-ui的web页面是不需要验证就能登陆查看服务情况,这样不可避免会有安全问题。这里我们可以为服务配置basic auth,使访问时需要验证。

1、安装httpd

代码语言:javascript
复制
yum install -y httpd

2、创建用户密码文件

代码语言:javascript
复制
htpasswd -bc basic-auth-secret <username> <password>

3、创建k8s secret

代码语言:javascript
复制
kubectl create secret generic basic-auth --from-file=basic-auth-secret --namespace=kube-system

4、部署Ingress

代码语言:javascript
复制
apiVersion: v1
kind: Service
metadata:
  name: traefik-web-ui
  namespace: kube-system
spec:
  type: NodePort
  selector:
    k8s-app: traefik-ingress-lb
  ports:
  - name: web
    port: 80
    targetPort: 8580
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: traefik-web-ui
  namespace: kube-system
  annotations:
    kubernetes.io/ingress.class: traefik
    ingress.kubernetes.io/auth-type: basic
    ingress.kubernetes.io/auth-secret: basic-auth
spec:
  rules:
  - host: traefik.domain.com
    http:
      paths:
      - path: /
        backend:
          serviceName: traefik-web-ui
          servicePort: web

通过在Ingress中添加鉴权annotation实现服务basic auth。这里需要注意:

  • Secret文件必须与Ingress规则在同一命名空间。
  • 目前只支持basic authentication。
  • Realm不可配置,默认使用traefik。
  • Secret必须只包含一个文件。

可以看到,在登陆traefik-ui的时候已经需要用户验证。

当输入用户密码后,我们可以成功进入web页面,

当然还有其它服务可以使用此种方法加强访问安全性,如kubernetes dashboards等。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 devops运维先行者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档