1.基本概念 RBAC(Role-Based Access Control,基于角色的访问控制)在k8s v1.5中引入,在v1.6版本时升级为Beta版本,并成为kubeadm安装方式下的默认选项,相对于其他访问控制方式,新的RBAC具有如下优势: - 对集群中的资源和非资源权限均有完整的覆盖  整个RBAC完全由几个API对象完成,同其他API对象一样,可以用kubectl或API进行操作  可以在运行时进行调整,无需重启API Server 要使用RBAC授权模式,需要在API Serve…
1.基本概念 RBAC(Role-Based Access Control,基于角色的访问控制)在k8s v1.5中引入,在v1.6版本时升级为Beta版本,并成为kubeadm安装方式下的默认选项,相对于其他访问控制方式,新的RBAC具有如下优势: - 对集群中的资源和非资源权限均有完整的覆盖  整个RBAC完全由几个API对象完成,同其他API对象一样,可以用kubectl或API进行操作  可以在运行时进行调整,无需重启API Server 要使用RBAC授权模式,需要在API Serve…
CIS安全扫描是Rancher 2.4推出的其中一个重磅功能,旨在帮助用户快速.有效地加强集群的安全性.本文将详细介绍CIS安全扫描这一功能,包含详细的操作demo. 本文来自Rancher Labs 对于任何成功的Kubernetes策略来说,集群安全是至关重要的部分.近期,一份由AimPoint发布的调查报告显示,44%的受访者表示由于Kubernetes容器的安全问题,推迟了应用程序进入生产环境. 然而,Kubernetes安全是一台复杂的机器,其中包含许多活动部件.集成件以及旋钮和杠杆.…
Kubernetes过一系列机制来实现集群的安全机制,包括API Server的认证授权.准入控制机制及保护敏感信息的Secret机制等.集群的安全性必须考虑以下的几个目标: 保证容器与其所在宿主机的隔离: 限制容器给基础设施及其他容器带来消极影响的能力: 最小权限原则,合理限制所有组件权限,确保组件只执行它被授权的行为,通过限制单个组件的能力来限制他所能达到的权限范围: 明确组件间边界的划分: 划分普通用户和管理员角色: 在必要的时候允许将管理员权限赋给普通用户: 允许拥有Secret数据(K…
上篇[Apache-Shiro+Zookeeper系统集群安全解决方案之会话管理],解决了Shiro在系统集群开发时安全的会话共享问题,系统在使用过程中会有大量的权限检查和用户身份检验动作,为了不频繁访问储存容器,Shiro提供了三个缓存机制: 用户登录Session缓存,默认是不开启的,在Realm配置中设置authenticationCachingEnabled开启, 使用原则是用户在登录成功后缓存登录校验信息,如 admin 登录成功后将用户名密码等缓存,在超时退出或直接关闭浏览器需要重新…
kubeadm介绍 kubeadm是Kubernetes项目自带的及集群构建工具,负责执行构建一个最小化的可用集群以及将其启动等的必要基本步骤,kubeadm是Kubernetes集群全生命周期的管理工具,可用于实现集群的部署.升级.降级及拆除.kubeadm部署Kubernetes集群是将大部分资源以pod的方式运行,例如(kube-proxy.kube-controller-manager.kube-scheduler.kube-apiserver.flannel)都是以pod方式运行. K…
另一个结合harbor自动构建镜像的思路: 即code+baseimage一体的方案 - 程序员将代码提交到代码仓库gitlab - 钩子触发jenkins master启动一次构建 - jenkins master从k8s申请一个jenkins slave编译容器 - 在容器内编译完成以后,获得最终产物 - 将最终产物通过dockerfile生成生产部署镜像(这里省略了测试,其实部署镜像需要测试通过) - 将生产镜像推送到harbor镜像仓库 - jenkins slave生命周期结束,k8s…
1-1 K8S导学 1-2 搭建K8S集群步骤和要点介绍 1-3 搭建三节点Ubuntu环境 1-4 安装容器引擎 1-5 下载Kubeadm.node组件和命令行工具 1-6 向集群中加入worker节点 1-7 安装dashboard和heapster并验证集群安装结束 1-8 小结 2-1 探索K8S集群路线 2-2 Kubeadm init流程揭秘 2-3 Kubeadm join 揭秘 2-4 Kubernetes核心组件详解 2-5 Kubectl详解 3-1 kubernetes集…
kubernetes认证,授权概括总结: RBAC简明总结摘要:API Server认证授权过程: subject(主体)----->认证----->授权[action(可做什么)]------>准入控制[Object(能对那些资源对象做操作)] 认证: 有多种方式,比较常用的:token,tls,user/password 账号: k8s中账号的概念不是我们理解的账号,它并不真的存在,它只是形式上存在. 它有两种账号: UserAccount(人使用的账号), ServiceAccou…
目录 角色访问控制RBAC (Role-Based Access Control) 常用的授权插件: RBAC控制: role 和 clusterrole rolebinding 和 clusterrolebinding 公共角色 clusterrole 以上几种关系的示意图 user 创建测试 创建role案例 创建 role rolebinding 绑定 jerry用户 测试 jerry 权限 clusterrole 测试 创建 clusterrole 测试绑定jerry用户 测试jerry…
API的访问安全性 API Server的端口和地址 在默认情况下,API Server通过本地端口和安全端口两个不同的HTTP端口,对外提供API服务,其中本地端口是基于HTTP协议的,用于在本机(API Server所在主机)无限制的访问API Server,而安全端口则是基于HTTPS协议的,用于远程有限制的访问API Server,下面就这两种端口做详细的介绍. 本地端口(Localhost Port) 在API Server的默认配置中,本地端口默认绑定到地址127.0.0.1上,所以…
说明: 本文参考 『 Kubernetes 权威指南 』 第一章的案例. 需要说明的是, 这本书里有很多描述的东西和实践的案例不吻合. Kubernets 集群架构 架构图 Server List 节点名称 节点 IP k8s-master 10.10.10.10 k8s-node1 10.10.10.11 k8s-node2 10.10.10.12 配置主机 hosts 需要说明的是, 这个不是必须的. 但是如果不配置主机 hosts, 后续配置 kubelet 参数KUBELET_API_S…
如今的系统多不是孤军奋战,在多结点会话共享管理方面有着各自的解决办法,比如Session粘连,基于Web容器的各种处理等或者类似本文说的完全接管Web容器的Session管理,只是做法不尽相同. 而本文说的是Apache-Shiro+Zookeeper来解决多结点会话管理,Shiro一个优秀的权限框架,有着很好的扩展性,而Zookeeper更是让你激动不已的多功能分布式协调系统,在本例中就用它来做Shiro的会话持久容器! 在有过Shiro和Zookeeper开发后这一切都非常容易理解,实现过程…
mongodb副本集加分片集群搭建网上资料有很多.粘贴一个写的比较好的.副本集加分片搭建 对于搭建好的mongodb副本集加分片集群,为了安全,启动安全认证,使用账号密码登录. 默认的mongodb是不设置认证的.只要ip和端口正确就能连接,这样是不安全的.mongodb官网上也说,为了能保障mongodb的安全可以做以下几个步骤: 1.使用新的端口,默认的27017端口如果一旦知道了ip就能连接上,不太安全 2.设置mongodb的网络环境,最好将mongodb部署到公司服务器内网,这样外网是…
集群的安全性主要考虑以下几个方面: 容器与所在宿主机的隔离: 限制容器给基础设施及其他容器带来消极影响的能力: 最小权限原则--合理限制所有组件的权限,确保组件只执行它被授权的行为,通过限制单个组件的能力来限制它所能达到的权限范围: 明确组件边界的划分: 划分普通用户和管理员的角色: 在必要的时候允许将管理员权限赋给普通用户: 允许拥有“Secret”数据(Keys,Cert,Passwords)的应用在集群中运行. Kubernetes集群提供的三种级别的客户端身份认证方式: 最严格的HTTP…
es2.x 关闭集群的动态分片:(动态分片开启状态如果节点宕机了,会导致集群重新分配数据进行数据转移,会导致节点直接大量传输数据)curl -XPUT 'http://192.168.248.193:9888/_cluster/settings?pretty' -d '{"transient":{"cluster.routing.allocation.disable_allocation": true}}' 重启集群的该节点: 开启集群的动态分片:curl -XPU…
一.背景 在我们部署完kafka之后,虽然我们已经可以“肆意”的用kafka了,但是在一个大公司的实际生产环境中,kafka集群往往十分庞大,每个使用者都应该只关心自己所负责的Topic,并且对其他人所使用的Topic没有权限.这样一来可以将资源隔离开来,二来可以防止误操作. 在权限控制之前,我们必须要启用的就是用户认证,没有用户,自然没有权限一说了. 二.kafka启用kerberos认证 2.1 在KDC中添加kafka用户,并生成keytab 新建kfaka用户 kadmin.local…
1 kubernetes组件 1.1 Kubernetes 集群图 官网集群架构图 1.2 组件及功能 1.2.1 控制组件(Control Plane Components) 控制组件对集群做出全局决策(例如,调度),以及检测和响应集群事件. 例如,当检测到一个deployment的replicas字段不满足设定值时就会启动一个新的pod. kube-apiserver k8s API Server提供了k8s各类资源对象(pod,RC,Service等)的增删改查及watch等HTTP Re…
目录 一.模块概览 二.系统环境 三.安装istio 3.1 使用 Istioctl 安装 3.2 使用 Istio Operator 安装 3.3 生产部署情况如何? 3.4 平台安装指南 四.GetMesh 4.1 如何开始使用? 4.2 如何开始? 4.3 使用 GetMesh 安装 Istio 4.4 验证配置 4.5 管理多个 Istio CLI 4.6 CA 集成 五.发现选择器(Discovery Selectors) 5.1 配置发现选择器 六.实战(k8s集群安装Istio 1…
1.Kubernetes带来的变革   对于开发人员 由于公司业务多,开发环境.测试环境.预生产环境和生产环境都是隔离的,而且除了生产环境,为了节省成本,其他环境可能是没有日志收集的,在没有用k8s的时候,查看线下测试的日志,需要开发或者测试人员,找到对应的机器,在找到对应的容器,然后才能查看日志,在用了k8s之后,开发和测试可以直接在k8s的dashboard到对应的namespace,即可定位到业务的容器,然后可以直接通过控制台查看到对应的日志,大大降低了操作时间. 把应用部署到k8s之后,…
一.概述 详情参考阿里云说明:https://help.aliyun.com/document_detail/98886.html?spm=a2c4g.11186623.6.1078.323b1c9bpVKOry 项目资源分配(数据库.中间件除外): 二.部署镜像仓库 1) 部署docker-compose,然后参考下文部署docker. $ sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/dock…
@ 目录 1. 安装说明 2. 节点规划 3. 基本配置 4. 内核配置 5. 基本组件安装 6. 高可用组件安装 7. 集群初始化 8. 高可用Master 9. 添加Node节点 10. Calico安装 11. Metrics Server部署 12. Dashboard部署 1. 安装说明 虽然K8s 1.20版本宣布将在1.23版本之后将不再维护dockershim,意味着K8s将不直接支持Docker,不过大家不必过于担心.一是在1.23版本之前我们仍然可以使用Docker,二是do…
目录 二进制高可用基本配置 二进制系统和内核升级 二进制基本组件安装 二进制生成证书详解 二进制高可用及etcd配置 二进制K8s组件配置 二进制使用Bootstrapping自动颁发证书 二进制Node节点及Calico配置 二进制高可用基本配置 k8s高可用架构解析,高可用Kubernetes集群规划,设置静态ip,请参考上一篇文章 配置所有节点hosts文件(发送键输到入所有会话) vim /etc/hosts 127.0.0.1 localhost localhost.localdoma…
1.traefik traefik:HTTP层路由,官网:http://traefik.cn/,文档:https://docs.traefik.io/user-guide/kubernetes/ 功能和nginx ingress类似. 相对于nginx ingress,traefix能够实时跟Kubernetes API 交互,感知后端 Service.Pod 变化,自动更新配置并热重载.Traefik 更快速更方便,同时支持更多的特性,使反向代理.负载均衡更直接更高效. k8s集群部署Trae…
目录 k8s高可用架构解析 Kubeadm基本环境配置 Kubeadm系统及内核升级 Kubeadm基本组件安装 Kubeadm高可用组件安装 Kubeadm集群初始化 高可用Master及Token过期处理 Kubeadm Node及Calico节点配置 Dashboard&Metrics Server安装 k8s高可用架构解析 Etcd Cluster:键值数据库,存放k8s的数据,比如我们创建的资源,所做的变更 Master:控制节点,控制整个集群 Node:主要用来跑pod和容器 Kub…
目录 二进制Metrics&Dashboard安装 二进制高可用集群可用性验证 生产环境k8s集群关键性配置 Bootstrapping: Kubelet启动过程 Bootstrapping: CSR申请和证书颁发原理 Bootstrapping: 证书自动续期原理 二进制Metrics&Dashboard安装 安装CoreDNS 安装Metrics Server 安装dashboard 安装CoreDNS 安装对应版本(推荐) cd /root/k8s-ha-install/ 如果更改了…
我们这里的dubbo-consumer是dubbo-demo-service的消费者: 我们之前已经在jenkins配置好了流水线,只需要填写参数就行了. 由于dubbo-consumer用的gitee的私有仓库,需要添加公钥,这里大家可以自己找个client服务来做实验. 下面是我们通过jenkins构建的镜像,已经上传到我们的harbor私有仓库当中了: 这里我们构建了两次,构建了两个镜像,11bb9cd这个用来做模拟生产发版更新实验. 准备资源配置清单: 1.dp.yaml  红色部分根据…
@ 目录 概述 定义 为何使用 其他产品 安装 简述 规划 基础环境 Docker安装 Rancher安装 创建用户 创建集群 添加Node节点 配置kubectl 创建项目和名称空间 发布应用 偏好设置 概述 定义 Rancher 官网 https://rancher.com/ Rancher 官网文档 https://rancher.com/docs/ Rancher 最新版本2.6官网文档 https://rancher.com/docs/ Rancher GitHub源码地址 https…
目录 一.系统环境 二.前言 三.Kubernetes 3.1 概述 3.2 Kubernetes 组件 3.2.1 控制平面组件 3.2.2 Node组件 四.安装部署Kubernetes集群 4.1 环境介绍 4.2 配置节点的基本环境 4.3 节点安装docker,并进行相关配置 4.4 安装kubelet,kubeadm,kubectl 4.5 kubeadm初始化 4.6 添加worker节点到k8s集群 4.7 部署CNI网络插件calico 4.8 配置kubectl命令tab键自…
一:简介 二:基础环境安装 1.系统环境 os Role ip Memory Centos 7 master01 192.168.25.30 4G Centos 7 node01 192.168.25.31 4G Centos 7 node02 192.168.25.31 4G 2.关闭selinux sed -i "s/SELINUX\=.*/SELINUX=disabled/g" /etc/selinux/config 3.关闭防火墙 systemctl disable firew…