随笔分类 - k8s
摘要:一、日志收集 在生产环境或者测试环境,如果某个服务或者业务组件出现问题,如何定位和排查?需要靠日志,日志是定位问题的重要手段。 1. 日志打印常见级别 日志打印通常有四种级别,从高到底分别是:ERROR、WARN、INFO、DEBUG。日志级别中的优先级就是在系统中如果开启了某一级别的日志后,就不会
阅读全文
摘要:一、 Rancher介绍 1. Rancher简介 Rancher是一个开源的企业级多集群Kubernetes管理平台,实现了Kubernetes集群在混合云+本地数据中心的集中部署与管理,以确保集群的安全性,加速企业数字化转型。 Rancher官方文档:https://docs.rancher.c
阅读全文
摘要:Deployment、ReplicaSet、Replication Controller或StatefulSet控制器资源管控Pod副本数量支持手动方式的运行时调整,从而更好地匹配业务规模的实际需求。不过,手动调整的方式依赖于用户深度参与监控容器应用的资源压力并且需要计算出合理的值进行调整,存在一定
阅读全文
摘要:业务的容器化及微服务化过程基本上都是通过将单体大应用分解为多个小的服务并进行容器化编排运行来实现,这种构建逻辑分解了单体应用的复杂性,让每个微服务都能够独立进行部署和扩展,实现了敏捷开发和运维。但是,微服务化拆解巨大的单体应用为巨量的微服务程序,几乎必然导致了应用管理复杂度的增加,例如,在kuber
阅读全文
摘要:一、Prometheus PromQL语法 PromQL(Prometheus Query Language)是prometheus专有的数据查询语言(DSL),其提供了简洁且贴近自然语言的语法实现了时序数据的分析计算能力。PromQL表现力丰富,支持条件查询、操作符,并且内建了大量内置函数,可供客
阅读全文
摘要:在k8s集群中部署prometheus、grafana、alertmanager,并且配置prometheus的动态、静态服务发现,实现对容器、物理节点、service、pod等资源指标监控,并在Grafana的web界面展示prometheus的监控指标,然后通过配置自定义告警规则,通过alert
阅读全文
摘要:一、Kubernetes Dashboard Dashboard 是Kubernetes的web GUI,可用于在Kubernetes集群上部署容器化应用、应用排障、管理集群本身及其附加的资源等。它常被管理员用于集群及应用速览、创建或修改单个资源(如Deployments、Jobs和DaemonSe
阅读全文
摘要:在任何将资源或服务提供给有限使用者的系统上,认证和授权都是两个必不可少的功能,认证用于身份鉴别,而授权则实现权限分派。Kubernetes以插件化的方式实现了这两种功能,且分别存在多种可用的插件。另外,它还支持准入控制机制,用于补充授权机制以实现更精细的访问控制功能。 一、访问控制概述 API Se
阅读全文
摘要:Secret资源的功能类似于ConfigMap,但它专用于存放敏感数据,例如密码、数字证书、私钥、令牌和SSH key等,而不需要把这些敏感数据暴露到镜像或者Pod Spec中。Secret可以以Volume或者环境变量的方式使用。 一、 Secret概述 Secret对象储存数据的方式及使用方法类
阅读全文
摘要:ConfigMap和Secret是kubernetes系统上两种特殊类型的存储卷,ConfigMap对象用于为容器中的应用提供配置数据以定制程序的行为,不过敏感的配置信息,如密钥、证书等通常由Secret对象来进行配置。它们将相应的配置信息保存于对象中,而后在pod资源上以存储卷的形式将其挂载并获取
阅读全文
摘要:应用程序存在“有状态”和“无状态”两种类别。 无状态服务(Stateless Service):该服务运行的实例不会在本地存储需要持久化的数据,并且多个实例对于同一个请求响应的结果是完全一致的。RC、Deployment、DaemonSet都是管理无状态的服务,它们所管理的Pod的IP、名字,启停顺
阅读全文
摘要:https://ceph.com/en/ https://docs.ceph.com/en/latest/start/intro/ 一、Ceph简介 1. Ceph的几种存储类型 Ceph是一种开源的分布式的存储系统,包含以下几种存储类型: 块存储(rbd),对象存储(RADOS Fateway),
阅读全文
摘要:PV是kubernetes集群的存储资源,而PVC则代表着资源需求。创建PVC时对PV发起的使用申请,即为“绑定”。PV和PVC是一一对应的关系,可用于响应PVC申请的PV必须要能够容纳PVC的请求条件,它们二者的交互遵循如下生命周期。 一、存储供给 存储供给(Provisioning)是指为PVC
阅读全文
摘要:存储类StorageClass是kubernetes资源类型的一种,它是由管理员为管理pv之便而按需创建的类别(逻辑组),例如可按存储系统的性能高低分类,或者根据其综合服务质量级别进行分类、依照备份策略分类,甚至直接按管理员自定义的标准进行分类等。 存储类的好处之一是支持PV的动态创建。用户用到持久
阅读全文
摘要:使用网络存储卷实现持久化存储,必须清晰了解所用到的网络存储系统的访问细节才能完成存储卷的相关的配置任务,如:NFS存储卷的server和path字段的配置就依赖于服务器地址和共享目录路径。这与kubernetes的向用户和开发隐藏底层架构的目标有所背离,对存储资源的使用最好也能像使用计算资源一样,用
阅读全文
摘要:在k8s中部署的应用都是以pod容器的形式运行的,假如部署MySQL、Redis等数据库,需要对这些数据库产生的数据做备份。因为Pod是有生命周期的,如果pod不挂载数据卷,那pod被删除或重启后这些数据会随之消失,如果想要长久的保留这些数据就要用到pod数据持久化存储。 k8s提供的存储卷(Vol
阅读全文
摘要:kubernetes提供了两种内建的云端负载均衡机制用于发布公共应用,一种是工作于传输层的Service资源,它实现的是“TCP负载均衡器”,另一种是Ingress资源,它实现的是“HTTP(S)负载均衡器”。 (1)TCP负载均衡器 无论是iptables还是ipvs模型的Service资源都配置
阅读全文
摘要:Service对象隐藏了各Pod资源,并负责将客户端的请求流量调度至该组pod对象之上。不过,偶尔也会存在这样一类需求:客户端需要直接访问Service资源后端的所有pod资源,这时就应该向客户端暴露每个pod资源的IP地址,而不再是中间层Service对象的ClusterIP,这种类型的Servi
阅读全文
摘要:在k8s系统上,Service为Pod中的服务类应用提供了一个稳定的访问入口,可以通过 Service 生成的 ClusterIP(VIP)来访问 Pod 提供的服务,但是Pod客户端中的应用如何得知某个特定的Service资源的IP和端口呢?如有两个应用,一个是 api 应用,一个是 db 应用,
阅读全文
摘要:运行于pod中的部分容器化应用是向客户端提供服务的守护进程,例如nginx,tomcat和etcd等,它们受控于控制器资源对象,存在生命周期,在自愿或非自愿中断后,只能被重构的新pod对象所取代,属于非可再生类的组件。于是,在动态、弹性的管理模型下,Service资源用于为此类pod对象提供一个固定
阅读全文