Kubernetes之RBAC(基于角色的访问控制) Kubernetes的授权是基于插件形式的,其常用的授权插件有以下几种: Node(节点认证) ABAC(基于属性的访问控制) RBAC(基于角色的访问控制) Webhook(基于http回调机制的访问控制) 让一个用户(Users)扮演一个角色(Role),角色拥有权限,从而让用户拥有这样的权限,随后在授权机制当中,只需要将权限授予某个角色,此时用户将获取对应角色的权限,从而实现角色的访问控 2019-08-26
Kubernetes证书相关(CFSSL) 使用CFSSL创建证书 CFSSL是CloudFlare开源的一款PKI/TLS工具。 CFSSL 包含一个命令行工具 和一个用于 签名,验证并且捆绑TLS证书的 HTTP API 服务。 使用Go语言编写。Github 地址: https://github.com/cloudflare/cfssl官网地址: https://pkg.cfssl.org/ 1234curl -s -L 2019-08-26
Kubernetes之ServiceAccount ServiceAccount Service Account为Pod中的进程提供身份信息。当用户访问集群(例如使用kubectl命令)时,apiserver会将用户认证为一个特定的User Account(目前通常是admin,除非系统管理员自定义了集群配置)。Pod 容器中的进程也可以与apiserver联系,当它们在联系apiserver的时候,它们会被认证为一个特定的Service Acco 2019-08-26
Kubernetes之statefulset控制器 一、statefulset简介 从前面的学习我们知道使用Deployment创建的pod是无状态的,当挂载了Volume之后,如果使用“kubectl delete -f”删除了Deployment资源后,在使用“kubectl apply -f” 新创建的Pod无法在挂载到以前的Volume上。为了解决这一问题,就引入了StatefulSet用于保留Pod的状态信息。 StatefulSet 2019-08-26
PodPreset注入信息到 Pods PodPreset 介绍 PodPreset 是一种 K8s API 资源,用于在创建 Pod 时注入其他运行时需要的信息,这些信息包括 secrets、volume mounts、environment variables 等,我们可以使用标签选择器来指定某个或某些 Pod,来将 PodPreset 预设信息应用上去。使用 PodPreset 的好处就是我们可以将一些常用 Pod 预设信息配置为 2019-08-26
Kubernetes之Secret 前面我们讲了ConfigMap的使用,我们说ConfigMap这个资源对象是Kubernetes当中非常重要的一个对象,一般情况下ConfigMap是用来存储一些非安全的配置信息,如果涉及到一些安全相关的数据的话用ConfigMap就非常不妥了,因为ConfigMap是明文存储的,我们说这个时候我们就需要用到另外一个资源对象了:Secret,Secret用来保存敏感信息,例如密码、OAuth 令 2019-08-26
Kubernetes之configMap 我们知道,在几乎所有的应用开发中,都会涉及到配置文件的变更,比如说在web的程序中,需要连接数据库,缓存甚至是队列等等。而我们的一个应用程序从写第一行代码开始,要经历开发环境、测试环境、预发布环境只到最终的线上环境。而每一个环境都要定义其独立的各种配置。如果我们不能很好的管理这些配置文件,你的运维工作将顿时变的无比的繁琐。为此业内的一些大公司专门开发了自己的一套配置管理中心,如360的Qcon, 2019-08-26
Kubernetes之存储卷 一、存储卷的概念和类型 为了保证数据的持久性,必须保证数据在外部存储在docker容器中,为了实现数据的持久性存储,在宿主机和容器内做映射,可以保证在容器的生命周期结束,数据依旧可以实现持久性存储。但是在k8s中,由于pod分布在各个不同的节点之上,并不能实现不同节点之间持久性数据的共享,并且,在节点故障时,可能会导致数据的永久性丢失。为此,k8s就引入了外部存储卷的功能。 k8s的存储卷类型: 2019-08-26
Kubernetes之Ingress   从前面的学习,我们可以了解到Kubernetes暴露服务的方式目前只有三种:LoadBlancer Service、ExternalName、NodePort Service、Ingress;而我们需要将集群内服务提供外界访问就会产生以下几个问题: Pod 漂移问题:  Kubernetes 具有强大的副本控制能力,能保证 2019-08-26
kubernetes之DNS Kubernetes 从 1.3 版本起, DNS 是内置的服务,通过插件管理器 集群插件 自动被启动。Kubernetes DNS 在集群中调度 DNS Pod 和 Service ,配置 kubelet 以通知个别容器使用 DNS Service 的 IP 解析 DNS 名字。 怎样获取 DNS 名字: 在集群中定义的每个 Service(包括 DNS 服务器自身)都会被指派一个 DNS 2019-08-23