rbac

小白都会设置的K8S RBAC

廉价感情. 提交于 2020-03-03 21:06:47
前言 对于K8S新手来说, K8S RBAC 不能很好的掌握,今天推荐一款非常不错的 K8S RBAC 配置工具 permission-manager ,小白都能配置,并且提供 Web UI 界面。 permission-manager 简介 permission-manager 是一个用于 Kubernetes RBAC 和 用户管理工具。 <!-- more --> permission-manager 部署 项目地址 https://github.com/sighupio/permission-manager 部署依赖 $ kubectl apply -f k8s/k8s-seeds/namespace.yml $ kubectl apply -f k8s/k8s-seeds 修改 Deploy 必填 Env 参数 Env 名称 描述 PORT 服务器暴露的端口 CLUSTER_NAME 在生成kubeconfig文件中使用的集群名称 CONTROL_PLANE_ADDRESS 在生成kubeconfig文件中的k8s api 地址 BASIC_AUTH_PASSWORD WEB UI 登陆密码(默认用户名为 admin) 部署 $ kubectl apply -f k8s/deploy.yaml 访问 WEB UI $ kubectl port-forward svc

Kubernetes 弹性伸缩全场景解读(五)

回眸只為那壹抹淺笑 提交于 2020-03-01 17:12:25
作者| 阿里云容器技术专家刘中巍(莫源) 导读 :Kubernetes弹性伸缩系列文章为读者一一解析了各个弹性伸缩组件的相关原理和用法。本篇文章中,阿里云容器技术专家莫源将为你带来定时伸缩组件 kubernetes-cronhpa-controller 的相关介绍与具体操作,目前该组件已经正式开源,欢迎大家一起交流探讨。 前言 容器技术的发展让软件交付和运维变得更加标准化、轻量化、自动化。这使得动态调整负载的容量变成一件非常简单的事情。在 Kubernetes 中,通常只需要修改对应的 replicas 数目即可完成。当负载的容量调整变得如此简单后,我们再回过头来看下应用的资源画像。 对于大部分互联网的在线应用而言,负载的峰谷分布是存在一定规律的。例如下图是一个典型 web 应用的负载曲线。从每天早上 8 点开始,负载开始飙高,在中午 12 点到 14 点之间,负载会回落;14 点到 18 点会迎来第二个高峰;在 18 点之后负载会逐渐回落到最低点。 资源的波峰和波谷之间相差 3~4 倍左右的容量,低负载的时间会维持 8 个小时左右。如果使用纯静态的容量规划方式进行应用管理与部署,我们可以计算得出资源浪费比为 25% (计算方式: 1 - (1 8+4 16)/4 24 = 0.25 )。而当波峰和波谷之间的差别到达 10 倍的时候,资源浪费比就会飙升至 57% (计算方式: 1

如何为K8S生产系统配置安全管理?

寵の児 提交于 2020-02-27 02:52:31
PX-Security:针对Kubernetes持久卷的多租户授权、身份验证和RBAC PX-Security演示视频链接 https://v.qq.com/x/page/s30609pfmuq.html 安全对于企业来说至关重要,对于运行在Kubernetes上的基于微服务的应用来说更是如此。 Kubernetes提供RBAC授权,根据不同角色设定,管理Kubernetes内部特定资源的访问权限。这些机制对于管理Kubernetes的特定对象(如服务、命名空间、配额等)的访问权限非常有用。 但命名空间和pod的安全策略本身,不足以限制谁有权限可以请求更改底层数据管理系统。 许多企业通过CNI或CSI等API,调用其他的平台能力来提供网络和存储基础。 Kubernetes所缺乏的是将RBAC扩展到这些系统的能力,需要外部系统来确保授权和认证功能的实现。 这就是为什么 Portworx与Kubernetes携手,通过对支撑Kubernetes中PVCs的持久卷,进行访问角色控制,来提供RBAC、加密和控制权限 ,这将创建一个无缝的保护层,为您的PVCs提供以下保护: 1. 同一命名空间中的用户可以受到其角色的限制,比如他们可以具有读、写、管理员或其他定义的访问权限。 2. 用户可以通过Token自动进行身份验证,这样审计请求的授权就可以针对特定命名空间来进行。 3.

【远程办公】无需公网、无需服务端5分钟实现内网穿透

╄→гoц情女王★ 提交于 2020-02-26 22:44:22
上文 《 【远程办公】5分钟实现内网穿透 》有个老哥私聊了我一下 好吧,正如这个老哥的需求 不需要公网IP 不需要ECS部署服务端 ​搭建 frp 的关键资源是要啥没啥,这里再推荐一个 ZeroTier 基本概念 > ZeroTier is a smart Ethernet switch for planet Earth. 翻译:用于地球的智能以太网交换机。 通俗来讲就是 Peer to Peer (P2P) ,ZeroTier 根服务器记录请求路径来做类似于DNS的解析。 主要功能,就是可以把多个不同网络的设备连接在一起,用来就像在一个局域网下 如下图 ZeroTier 配置一个虚拟网段 172.17.2.0/24 ,在家中加入这个网络中,即可访问位于公司 172.17.2.101 专有名词 Zerotier 定义了几个专业名词: PLANET 行星服务器,Zerotier 根服务器 MOON 卫星服务器,用户自建的私有根服务器,起到代理加速的作用 LEAF 网络客户端,就是每台连接到网络节点。 开始使用 1. 注册 zerotier 服务 https://my.zerotier.com/ 2. 创建网络 3. 内网目标机器安装客户端 Linux curl -s https://install.zerotier.com | sudo bash 其他操作系统 下载地址: https

「升级指南」Spring Cloud Alibaba v2.2.0 升级问题整理

a 夏天 提交于 2020-02-25 18:46:28
前言 上周(2020.02.12)我们写了一篇关于 《Spring Cloud Alibaba V2.2.0 发布》 相关的特性, v2.2.0 是基于 Spring Cloud Hoxton 的版本。下面总结一下由 Spring Cloud Alibaba v2.1.0 升级至 v2.2.0 遇到的问题。 主要问题涉及 sentinel 的问题。 破坏性 ,不向下兼容 Spring Cloud Alibaba Sentinel 不再依赖 sentinel-web-servlet 实现,而是依赖 sentinel-spring-webmvc-dapter , 基于 Spring 的 Interceptor 拦截资源,而不再是 CommonFilter 。 降级策略修改 实现接口发现变化 // 之前版本 public class PigxUrlBlockHandler implements UrlBlockHandler { @Override public void blocked(HttpServletRequest request, HttpServletResponse response, BlockException e) throws IOException { // 降级业务处理 } } // v2.2.0 public class

RBAC权限控制模型

和自甴很熟 提交于 2020-02-16 00:06:26
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样, 就构造成“用户-角色-权限”的授权模型。 在这种模型中,用户与角色之间,角色与权限(功能)之间,一般都是多对多的关系。 通过这种多对多关系,权限的过程可抽象的概括为: 判断Who是否可以对What进行How的访问操作操作,并且对这个逻辑表达式是否为Ture进行求解。 RBAC有RBAC0~RBAC3四个概念性模型。 RBAC0:基本模型RBAC0定义了完全支持RBAC概念的任何系统的最低需求。 RBAC1和RBAC2两者都包含RBAC0,但各自都增加了独立的特点,它们被称为高级模型。  RBAC1中增加了角色分级的概念,一个角色可以从另一个角色继承许可权。  RBAC2中增加了一些限制,强调在RBAC的不同组件中在配置方面的一些限制。  RBAC3称为统一模型,它包含了RBAC1和RBAC2,利用传递性,也把RBAC0包括在内。这些模型构成了RBAC96模型族。 RBAC的优缺点: RBAC模型没有提供操作顺序控制机制。这一缺陷使得RBAC模型很难应用关于那些要求有严格操作次序的实体系统。 例如,在购物控制系统中要求系统对购买步骤的控制,在客户未付款之前不应让他把商品拿走

一个基于RBAC的Spring Boot项目脚手架

江枫思渺然 提交于 2020-01-30 17:05:12
分享一个脚手架项目, springboot-jpa-starter ,这是一个基于SpringBoot 2.2.2.RELEASE,用于搭建RESTful API工程的脚手架, 使用Spring Security + JWT Token + RBAC的方式实现认证和授权,持久层使用Spring data Jpa。避免每次重复编写认证和授权功能、缓存、异常处理、参数校验等代码,直接上手业务代码,不再烦恼于构建项目与风格统一。 项目地址 项目地址 接口示例项目地址 预览 一下图片是使用接口的前端示例预览图: 特性 认证和授权 全局异常处理 全局参数校验 提供了有些自定义异常 封装的返回结果 跨域配置 caffeine缓存 统一项目风格 日志 支持第三方社交登录 其他特性正在开发中… 来源: CSDN 作者: 聽見下雨的聲音 链接: https://blog.csdn.net/qq_22174779/article/details/104115019

how to check whether RBAC is enabled, using kubectl

风流意气都作罢 提交于 2020-01-28 17:32:06
问题 I'm trying to install a helm package on a kubernetes cluster which allegedly has RBAC disabled. I'm getting a permission error mentioning clusterroles.rbac.authorization.k8s.io , which is what I'd expect if RBAC was enabled . Is there a way to check with kubectl whether RBAC really is disabled? What I've tried: kubectl describe nodes --all-namespaces | grep -i rbac : nothing comes up kubectl describe rbac --all-namespaces | grep -i rbac : nothing comes up kubectl config get-contexts | grep -i

k8s的ServiceAccount和RBAC机制

那年仲夏 提交于 2020-01-25 20:23:22
基础概念 k8s中的所有API对象都保存在etcd中 对这些API对象的操作必须通过APIServer进行访问其中一个重要的原因就是必须通过APIserver进行授权工作 Role:角色,它其实是一组规则,定义了一组对 Kubernetes API 对象的操作权限 Role 对象指定了它能产生作用的 Namepace 是:mynamespace Namespace 是 Kubernetes 项目里的一个逻辑管理单位.不同 Namespace 的 API 对象,在通过 kubectl 命令进行操作的时候,是互相隔离开的 Subject:被作用者,既可以是“人”,也可以是“机器”,也可以使你在 Kubernetes 里定义的“用户” RoleBinding:定义了“被作用者”和“角色”的绑定关系 角色和绑定的组合 只要是RoleBinding 作用域就只是在定义RoleBinding的名称空间中 只要是ClusterRoleBinding 作用域就是整个集群范围(所有名称空间) Role 只是在当前Role所在的名称空间中定义了一个角色 其它名称空间下并不会出现这个Role Role和ClusterRoleBinding表示在Role所在的名称空间中有一个 能操作整个集群资源的角色 在所有名称空间中有效 Role升级为ClusterRole ClusterRole 表示同时整个集群

Kubernetes namespace default service account

霸气de小男生 提交于 2020-01-22 09:51:27
问题 If not specified otherwise, the pod is run with default service account in the namespace , how can I check what the default service account is authorized to do , and do we need it to be mounted there with every pod, if not, how can we disable this behavior on the namespace level or cluster level. Still searching the documentation though. Environment: Kubernetes 1.12 , with RBAC What other use cases the default service account should be handling? Can/should we use it as a service account to