k8s之监控告警
   一、k8s监控架构介绍 Prometheus(普罗米修斯)是一个最初在SoundCloud上构建的监控系统。自2012年成为社区开源项目,拥有非常活跃的开发人员和用户社区。为强调开源及独立维护,Prometheus于2016年加入云原生云计算基金会(CNCF),成为继Kubernetes之后的第二个托管项目。 Prometheus Server:Prometheus 生态最重要的组件,主要用于抓取和存储时间 序列数据,同时提供数据的查询和告警策略的配置管 ......
Kubernetes   Prometheus   grafana   Alertmanager   |  2022-04-17   0 评论   12,683 浏览

k8s之Ingress详解
   一、Ingress介绍 ingress主要解决集群中东西流量的访问也就是外部客户端访问k8s内部服务的流量,具体架构图如下 k8s如果使用Ingress功能,需要安装Ingress控制器,直接创建Ingress规则是没有任何效果的,官方维护的Ingress控制器有: AWS GCE nginx Ingress 控制器 二、Ingress控制器安装 2.1 安装Ingress nginx控制器 需要首先安装helm管理工具:https://github. ......
Kubernetes   nginx   ingress   |  2022-03-20   0 评论   2,735 浏览

k8s日志收集
   一、k8s日志收集介绍 1.1 Pod日志收集 应用程序和系统日志可以帮助我们了解集群内部的运行情况,日志对于我们调试问题和监视集群情况也是非常有用的。而且大部分的应用都会有日志记录,对于传统的应用大部分都会写入到本地的日志文件之中。对于容器化应用程序来说则更简单,只需要将日志信息写入到 stdout 和 stderr 即可,容器默认情况下就会把这些日志输出到宿主机上的一个 JSON 文件之中,同样我们也可以通过 docker logs 或者 kubectl ......
Kubernetes   EFK   |  2022-03-12   0 评论   4,538 浏览

k8s高级调度污点与容忍
   一、Taint与Toleration 官方文档:https://kubernetes.io/zh/docs/concepts/scheduling-eviction/taint-and-toleration/ 生产环境中的Pod并非随便调度,某些node节点可能并不一样,比如GPU节点一般比较昂贵,并不是所有Pod都需要GPU资源,所有需要管理员进行控制。节点亲和性是Pod 的一种属性,它使 Pod 被吸引到一类特定的节点(这可能出于一种偏好,也可能是硬性要 ......
Kubernetes   |  2022-02-19   0 评论   3,037 浏览

helm仓库详解
   一、Helm仓库介绍 Helm在k8s 中的作用类似与centos中的yum工具,Chart代表着 Helm 包。它包含在 Kubernetes 集群内部运行应用程序,工具或服务所需的所有资源定义。你可以把它看作是 Homebrew formula,Apt dpkg,或 Yum RPM 在Kubernetes 中的等价物。所以生成的Chart也需要Repository(仓库)用来提供Chart的统一管理。 Helm仓库的构成,仓库中主要的的文件有俩部分分别是 ......
Kubernetes   Helm   |  2022-02-12   0 评论   2,345 浏览

kubernetes集群备份与恢复
   一、k8s集群备份与恢复 k8s集群服务所有组件都是无状态服务,所有数据都存储在etcd集群当中,所以为保证k8s集群的安全可以直接备份etcd集群数据,备份etcd的数据相当于直接备份k8s整个集群。 但是备份etcd及备份整个集群,有些场景比如迁移服务,只想备份一个namespace,就无法使用备份etcd的方式来备份,所以我们这里引用velero工具,Velero(以前称为Heptio Ark)可以为您提供了备份和还原Kubernetes集群资源和持久 ......
Kubernetes   velero   |  2022-01-09   0 评论   3,688 浏览

k8s细颗粒度权限控制RBAC
   一、RBAC介绍 官方文档:https://kubernetes.io/zh/docs/reference/access-authn-authz/rbac/ 基于角色(Role)的访问控制(RBAC)是一种基于组织中用户的角色来调节控制对 计算机或网络资源的访问的方法。RBAC 鉴权机制使用 rbac.authorization.k8s.io API 组来驱动鉴权决定,允许你通过 Kubernetes API 动态配置策略。要启用 RBAC,在启动api-s ......
Kubernetes   |  2022-01-26   0 评论   2,491 浏览

k8s调度准入控制
   一、ResourceQuota 官方文档:https://kubernetes.io/zh/docs/concepts/policy/resource-quotas/ 当多个用户或团队共享具有固定节点数目的集群时,人们会担心有人使用超过其基于公平原则所分配到的资源量。资源配额是帮助管理员解决这一问题的工具。资源配额,通过 ResourceQuota 对象来定义,对每个命名空间的资源消耗总量提供限制。 它可以限制命名空间中某种类型的对象的总数目上限,也可以限制 ......
Kubernetes   |  2022-01-24   0 评论   1,424 浏览

kubernetes之Pod资源
   一、Pod介绍 官方文档:https://kubernetes.io/zh/docs/concepts/workloads/pods/ Pod是Kubernetes中最小的单元,它由一组、一个或多个容器组成,每个Pod还包含了一个Pause容器,Pause容器是Pod的父容器,主要负责僵尸进程的回收管理,通过Pause容器可以使同一个Pod里面的多个容器共享存储、网络、PID、IPC等。 Pod在生产环境中基本不单独使用,一般都是配合控制器来使用 Pod结构 ......
Kubernetes   |  2022-01-03   0 评论   1,737 浏览

Job&CronJob
   一、Job&CronJob介绍 1.1 Job介绍 官方介绍:https://kubernetes.io/zh/docs/concepts/workloads/controllers/job/ Job 会创建一个或者多个 Pods,并将继续重试Pods的执行,直到指定数量的 Pods 成功终止。 随着 Pods 成功结束,Job 跟踪记录成功完成的 Pods 个数。 当数量达到指定的成功个数阈值时,任务(即 Job)结束。 删除 Job 的操作会清除 ......
Kubernetes   |  2022-01-11   0 评论   1,727 浏览

k8s存储入门
   一、Volumes介绍 官方文档:https://kubernetes.io/zh/docs/concepts/storage/volumes/ Container(容器)中的磁盘文件是短暂的,当容器崩溃时,kubelet会重新启动容器,但最初的文件将丢失,Container会以最干净的状态启动。另外,当一个Pod运行多个Container时,各个容器可能需要共享一些文件。Kubernetes Volume可以解决这两个问题。一些需要持久化数据的程序才会用到 ......
Kubernetes   NFS   |  2022-01-10   0 评论   2,555 浏览

TLS bootstrapping原理详解
   一、TLS启动引导介绍 官方文档:https://kubernetes.io/zh/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping/ 启动引导这些组件的正常过程,尤其是需要证书来与 kube-apiserver 安全通信的工作节点,可能会是一个具有挑战性的过程,因为这一过程通常不受 Kubernetes 控制, 需要不少额外工作。 这也使得初始化或者扩缩一个集群的操作 ......
Kubernetes   |  2022-01-10   0 评论   2,058 浏览

ConfigMap&Secret
   一、ConfigMap 官方文档:https://kubernetes.io/zh/docs/concepts/configuration/configmap/ 1.1 ConfigMap介绍 在微服务架构中,大多数的服务的配置文件都是与服务本身分开的,由统一的配置中心进行管理,服务启动后会到配置中心读取自己的配置文件之后启动服务。Kubernetes中也提供了一个配置文件的api就是configmap。 ConfigMap 将您的环境配置信息和容器镜像解耦 ......
Kubernetes   |  2022-01-07   0 评论   1,758 浏览

Service
   一、kubernetes的服务调用 服务的访问分为俩种形式分别是服务之间的调用(南北流量),用户流量的访问(东西流量),k8s中提供的南北流量的解决方法是使用service,东西流量的解决方案是ingress。当然这里只介绍service。 传统架构的南北流量架构图 k8s中使用service的南北流量 Service架构 二、Service资源介绍 Service主要用于Pod之间的通信,由于Pod是一种临时资源可能随时会被调度重建,重建后Pod的I ......
Kubernetes   |  2022-01-05   0 评论   1,694 浏览

HPA
   Horizontal Pod Autoscaler(HAP),是一个Pod 水平自动扩缩(Horizontal Pod Autoscaler) 可以基于 CPU 利用率自动扩缩 ReplicationController、Deployment、ReplicaSet 和 StatefulSet 中的 Pod 数量。 除了 CPU 利用率,也可以基于其他应程序提供的自定义度量指标来执行自动扩缩。 Pod 自动扩缩不适用于无法扩缩的对象,比如 DaemonSet。 ......
Kubernetes   |  2022-01-05   0 评论   1,803 浏览