k8s之Secret

导读 上一篇说了ServiceAccount,这一篇就来看一下Secret。 Secret Secret的主要作用是保管私密数据,比如密码、OAuth Tokens、SSH Keys等信息。 上一篇说到,默认的Secret主要包含三个东西,分别是token、ca.crt、namespace 当然,也 ... »

使用K8s的一些经验和体会

坑 Java应用程序的奇怪案例 ​ 在微服务和容器化方面,工程师倾向于避免使用 Java,这主要是由于 Java 臭名昭著的内存管理。但是,现在情况发生了改变,过去几年来 Java 的容器兼容性得到了改善。毕竟,大量的系统(例如Apache Kafka和Elasticsearch)在 Java 上运 ... »

容器编排系统K8s之HPA资源

HPA的全称是Horizontal Pod Autoscaler,从字面意思理解它就是水平pod自动伸缩器;简单讲HPA的主要作用是根据指定的指标数据,监控对应的pod控制器,一旦对应pod控制器下的pod的对应指标数据达到我们定义的阀值,即HPA就会被触发,它会根据对应指标数据的值来扩展/缩减对... ... »

k8s之ServiceAccount

导读 上一篇说了k8s的RBAC授权模式,今天就来简单看一下其中涉及到的ServiceAccount。 简介 k8s创建两套独立的账号系统,原因如下: (1)User账号给用户用,Service Account是给Pod里的进程使用的,面向的对象不同 (2)User账号是全局性的,Service A ... »

容器编排系统K8s之Prometheus监控系统+Grafana部署

Pushgateway组件类似Prometheus retrieval代理,它主要负责收集主动推送指标数据的pod的指标数据,在Prometheus 监控系统中也有主动监控和被动监控的概念,主动监控是指被监控端主动推送数据到server,被动监控是指被监控端被动等待server来拉去数据,默认情况... ... »

容器编排系统K8s之APIService资源

k8s原生apiserver主要有两个组件组成,第一个组件aggregator,其功能类似web代理服务器,第二个组件就是真正的apiserver;其工作逻辑是,用户请求首先送达给aggregator,由aggregator根据用户请求的资源,将对应请求路由至apiserver;简单讲aggreg... ... »

容器编排系统K8s之crd资源

在k8s上扩展资源类型的方式有三种,第一种是crd,crd是k8s内建的资源类型,该类型资源主要用来创建用户自定义资源类型的资源;即通过crd资源,可以将用户自定义资源类型转换为k8s上资源类型;第二种是自定义apiserver;这种方式要比第一种方式要复杂一点,需要用户手动开发程序实现对应功能的... ... »

k8s之RBAC授权模式

导读 上一篇说了k8s的授权管理,这一篇就来详细看一下RBAC授权模式的使用 RBAC授权模式 基于角色的访问控制,启用此模式,需要在API Server的启动参数上添加如下配置,(k8s默然采用此授权模式)。 --authorization-mode=RBAC /etc/kubernetes/ma ... »

k8s之API Server认证

集群安全性 在生产环境中,必须保障集群用户的角色以及权限问题,不能给所有用户都赋予管理员权限。 1、集群的安全性必须考虑如下几个目标 (1)保证容器与其所在宿主机的隔离 (2)限制容器给基础设置或其他容器带来的干扰 (3)最小权限原则:合理限制所有组件的权限,确保组件只执行它被授权的行为,通过限制单 ... »

容器编排系统K8s之节点污点和pod容忍度

对于污点效用为NoSchedule来说,它只会拒绝新建的pod,不会对原有pod进行驱离;如果对应pod能够容忍该污点,则对应pod就有可能运行在对应节点上;如果不能容忍,则对应pod一定不会调度到对应节点运行;对于污点效用为PreferNoSchedule来说,它也不会驱离已存在pod,它只有在... ... »

容器编排系统K8s之Pod Affinity

在k8s上有一个非常重要的组件kube-scheduler,它主要作用是监听apiserver上的pod资源中的nodename字段是否为空,如果该字段为空就表示对应pod还没有被调度,此时kube-scheduler就会从k8s众多节点中,根据pod资源的定义相关属性,从众多节点中挑选一个最佳运... ... »

k8s之HTTP请求负载分发

一、导读 对于基于HTTP的服务来说,不同的URL地址经常对应不同的后端服务或者虚拟服务器,通常的做法是在应用前添加一个反向代理服务器Nginx,进行请求的负载转发,在Spring Cloud这个微服务框架中,使用zuul网关实现此功能。 而对于k8s集群来说,当然也是可以用Nginx实现请求的转发 ... »

资深首席架构师预测:2021年云计算的8个首要趋势

本文转自Ranche Labs 作者简介 Alistair,数字化技术解决方案提供商Kainos首席架构师。在IT服务、电信和金融科技领域有十多年的工作经验。在Kainos,Alistair带领团队完成了多个英国政府部门的知名云迁移和数字化转型项目。 由于媒体以及各类调查机构的数据宣传,我们很容易认 ... »

简单4步,利用Prometheus Operator实现自定义指标监控

本文来自Rancher Labs 在过去的文章中,我们花了相当大的篇幅来聊关于监控的话题。这是因为当你正在管理Kubernetes集群时,一切都会以极快的速度发生变化。因此有一个工具来监控集群的健康状态和资源指标极为重要。 在Rancher 2.5中,我们引入了基于Prometheus Operat ... »

k8s之DNS服务器搭建

一、导读 在使用k8s部署springboot+redis简单应用这篇文章中,spring boot连接redis是直接使用的IP连接,那么可不可以直接使用服务名称进行连接呢?答案是可以的,这就是k8s集群范围内的DNS服务来完成服务名到ClusterIP的解析,接下来就一起看一下如何搭建DNS服务 ... »

容器编排系统K8s之flannel网络模型

在flannel网络插件中,对应的网络信息是存储在一个存储系统中的,比如使用etcd存储;在k8s上安装好flannel插件以后,对应的它会在每个宿主机上运行一个守护进程,并且在每个节点上创建一个cni0的接口,这个接口就是我们上面说的虚拟网桥;除了这个网桥,它还会创建一个flannel.1的接口... ... »

容器编排系统K8s之Dashboard部署

k8s的webui是一个插件运行在k8s之上,以pod的方式提供服务;它能够给使用k8s用户提供一个web面板,我们可以基于这个web面板来管理k8s集群;比如创建pod,创建svc,部署应用等等;在部署之前,先说一下dashboard认证过程;dashboard是以pod的形式运行在k8s之上,... ... »

容器编排系统K8s之访问控制--准入控制

对于准入控制来说,它有两种类型,一种是变异型,一种是校验型;所谓变异型是指我们在提交给apiserver进行资源创建时,默认没有指定的对应字段的信息;它会给我们补上,或者我们定义资源的某些属性的值不太规范,它会帮助我们修改对应的属性的值为一个规范的值,然后提交给apiserver;这种准入控制器通... ... »

容器编排系统K8s之访问控制--RBAC授权

对于RBAC授权模型来说,在k8s上用户是没法直接关联资源;它是通过角色对象来实现对资源的授权;用户授权是通过角色绑定对象来关联到对应角色;只要用户绑定到对应角色,那么该用户就拥有绑定角色上的所有权限;比如,在k8s上有一个角色名为pod-reader,这个角色能够对default名称空间下的po... ... »