k8s在dashboard实现静态文件认证

参考:  https://www.cnblogs.com/wayneiscoming/p/7715623.html   ,   https://jimmysong.io/kubernetes-handbook/guide/rbac.md  ,

https://feisky.gitbooks.io/kubernetes/zh/plugins/authentication.html   ,  https://jimmysong.io/kubernetes-handbook/guide/rbac.html   ,https://jimmysong.io/posts/user-authentication-in-kubernetes/#%E9%9D%99%E6%80%81%E5%AF%86%E7%A0%81%E6%96%87%E4%BB%B6  , https://mritd.me/2018/01/07/kubernetes-tls-bootstrapping-note/

配置kubernetes服务basic auth

  

  由于一些内部服务访问并不需要鉴权,如kubernetes-dashboard、traefik-ui,所以当我们想通过外网域名访问的时候会有安全问题。这里我们可以为服务配置basic auth,访问时需要验证,以下是配置过程:

1. 创建用户密码文件

  这里我们使用htpasswd创建加密过的密码文件。

# htpasswd -bc basic-auth-secret username password

2. 创建Kubernetes Secret

# kubectl create secret generic basic-auth --from-file=basic-auth-secret --namespace=kube-system

3. 部署服务Ingress使其使用basic auth

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

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

apiVersion: v1
kind: Service
metadata:
  name: traefik-web-ui
  namespace: kube-system
spec:
  selector:
    k8s-app: traefik-ingress-lb
  ports:
  - port: 80
    targetPort: 8080
---
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-ui.domain.com
    http:
      paths:
      - backend:
          serviceName: traefik-web-ui
          servicePort: 80

  

原文地址:https://www.cnblogs.com/fyy-hhzzj/p/9720002.html

时间: 2024-10-10 19:01:18

k8s在dashboard实现静态文件认证的相关文章

Apache配置用户认证、域名跳转、日志轮询、静态文件缓存、防盗链

使用版本为httpd-2.2.29 源码编译安装环境. 1.配置网站用户认证 编辑虚拟机主机配置文件 /usr/local/apache2/conf/extra/httpd-vhosts.conf,在虚拟主机配置文件段内加入绿色标示代码: <VirtualHost *:80> DocumentRoot "/data/www" ServerName www.123.com ServerAlias www.a.com www.b.com     <Directory *&

ASP.NET Core 1.1 静态文件、路由、自定义中间件、身份验证简介

概述 之前写过一篇关于<ASP.NET Core 1.0 静态文件.路由.自定义中间件.身份验证简介>的文章,主要介绍了ASP.NET Core中StaticFile.Middleware.CustomizeMiddleware和Asp.NetCore Identity.但是由于所有的ASP.NET Core的版本有些老,所以,此次重写一次.使用最新的ASP.NET Core 1.1版本.对于ASP.NET Core 1.1 Preview 1会在以后的文章中介绍 目录 使用静态文件 使用路由

第三百八十三节,Django+Xadmin打造上线标准的在线教育平台—路由映射与静态文件配置

第三百八十四节,Django+Xadmin打造上线标准的在线教育平台-路由映射与静态文件配置以及会员注册 基于类的路由映射 from django.conf.urls import url, include # 导入django自在的include逻辑 from django.contrib import admin from django.views.generic import TemplateView # 导入django自带的TemplateView逻辑 import xadmin #

django 设置静态文件,static

一.搜集静态文件 1.1 命令行查看 collectstatic guoguos-MacBook-Pro:mysite guoguo$ python manage.py -h [staticfiles] collectstatic findstatic runserver 1.2 执行 python manage.py collectstatic 收集信息 guoguos-MacBook-Pro:mysite guoguo$ python manage.py collectstatic You

django源码分析——静态文件staticfiles中间件

本文环境python3.5.2,django1.10.x系列 1.在上一篇文章中已经分析过handler的处理过程,其中load_middleware就是将配置的中间件进行初始化,然后调用相应的设置方法. django框架提供的认证,回话保持,静态文件调试处理等都是通过以中间件的形式来处理. 2.本节就分析一下django框架提供的staticfiles中间件,该中间件分别实现了三个框架的命令,分别为collectstatic,findstatic,runserver. 其中,runserver

65 组件 静态文件相关 视图

主要内容:https://www.cnblogs.com/maple-shaw/articles/9285269.html 1 组件 a : 定义:可以将常用的页面内容如导航条,页尾信息等组件保存在单独的文件中,然后在需要使用的地方按如下语法导入即可 b : 语法:  {% include '组件名'%} 2 静态文件相关: a : 语法: {% load static %} {% load static %} <link href="{% static 'bootstrap-3.3.7/

Django项目的创建与介绍.应用的创建与介绍.启动项目.pycharm创建启动项目.生命周期.三件套.静态文件.请求及数据.配置Mysql完成数据迁移.单表ORM记录的增删改查

一.Django项目的创建与介绍 ''' 安装Django #在cmd中输入pip3 #出现这个错误Fatal error in launcher: Unable to create process using '"' #可以直接用 python3 -m pip 代替 pip3 #这个问题是pip3 版本过低直接在cmd中执行 python3 -m pip install --upgrade pip 更新pip3 # 在指定解释器环境下安装django 1.11.9 # 在真实python3环境

Nginx静态文件服务器配置方法

在Java开发以及生产环境中,最常用的web应用服务器当属Tomcat,尽管这只猫也能够处理一些静态请求,例如图片.html.样式文件等,但是效率并不是那么尽人意.在生产环境中,我们一般使用Nginx代理服务器来处理静态文件,来提升网站性能. 基本配置 server { listen 80; server_name file.52itstyle.com; charset utf-8; #root 指令用来指定文件在服务器上的基路径 root /data/statics; #location指令用

asp.net core 系列之静态文件

这篇讲解asp.net core中的静态文件(大致翻译于官网). 静态文件,例如HTML,CSS, images和JavaScript. 要想直接被客户端访问,需要做一些配置. 一.Serve static files(提供静态文件服务) 静态文件存储在项目的web root 目录下.默认的目录是<content_root>/wwwroot,但可以通过UseWebRoot方法来改变默认目录. 更多可以查看: See Content root and Web root for more info