海外多区下的流量分发 1. 关于流量分发 流量的治理分为南北向和东西向。在典型的 Network Diagrams 的绘图习惯中,核心网络组件绘制在顶部,客户端绘制在底部,不同的服务水平绘制,因此有了南北和东西流量的称呼。其中,南北流量指的是从客户端发起的流量,东西流量指的是服务与服务之间的流量。目前东西流量,采用的是给每个服务添加一个 Sidecar 接管所有服务与服务之间的调用,以达到流量治理的目的。而本篇,主要讨 云计算 2023-01-04 大树
等价域名 1. 含义 如果一个服务有多个域名入口,通过这些入口访问得到的内容一样,那么称这些域名为等价域名。比如,通过等价域名,可以提供 3 个一模一样的文件或者接口服务。 https://server.chenshaowen.com/static/index.html https://server-peer-a.chenshaowen.com/static/index.html https://serve 云计算 2023-01-04 共饮一杯
如何采集 Kubernetes 对象的 labels 和 annotations 1. 为什么需要 kube-status-metrics Kubernetes 的监控主要关注两类指标: 基础性能指标 CPU、内存、磁盘、网络等指标,可以通过 DaemonSet 部署 node-exporter,由 Prometheus 抓取相关指标。 资源对象指标 Deployment 的副本数量、Pod 的运行状态等。这些指标需要 kube-status-metrics 轮询 Kubern 云计算 2023-01-04 捡田螺的小男孩
如何查看 Tekton 的流水线指标 1. 抓取 Tekton Metrics 新增 ConfigMap 配置文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 cat <<EOF | kubectl apply -f - apiVersion: v1 kind: ConfigMap metadata: name: config-observability namespace: tekton 云计算 2023-01-04 大树
如何更新 Kubernetes 证书 在默认情况下,Kubernetes 的证书每隔一年需要 renew 一次,下面是记录的一次证书更新过程。 1. 查看证书 在 Master 节点上查看证书过期时间: 1 2 3 4 5 6 7 8 9 10 11 12 13 kubeadm certs check-expiration CERTIFICATE EXPIRES RESIDUAL TIME CERTIFICATE AUTHORITY 云计算 2023-01-04 大树
descheduler 二次调度让 Kubernetes 负载更均衡 1. 为什么需要二次调度 Kubernetes 调度器的作用是将 Pod 绑定到某一个最佳的节点。为了实现这一功能,调度器会需要进行一系列的筛选和打分。Kubernetes 的调度是基于 Request,但是每个 Pod 的实际使用值是动态变化的。经过一段时间的运行之后,节点的负载并不均衡。一些节点负载过高、而有些节点使用率很低。因此,我们需要一种机制,让 Pod 能更健康、更均衡的动态分布在集群 云计算 2023-01-04 法医
多机房下的 Kubernetes 演进 1. 应用架构与业务发展、运维能力匹配 在行业会议、文档博客中,我们时常能见到各种优秀的解决方案,但是如果直接照搬到自己的业务,却又频频碰壁。因为,这些技术方案是特定的业务场景孵化出来的,不同的业务形态、不同的业务规模、不同的业务发展阶段都会影响技术的落地。另一方面,应用需要人去维护,需要构建合适的平台辅助应用生命周期的管理,这就要求与之匹配的运维能力。落后的运维能力会降低生产效率,给竞争对手可乘 云计算 2023-01-04 大白菜程序猿
使用 Blackbox Exporter 测试网络连通性 如果你需要监控两个主机、主机与外部服务之间的网络状况,那么就可以试一试本文提到的 Blackbox Exporter。 1. 安装 Blackbox 1.1 在主机上部署 下载二进制包 1 2 3 4 5 wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.21.0/blackbox_exporter- 云计算 2023-01-04 向阳逐梦
如何设置 Pod 到指定节点运行 1. 创建负载时,通过 nodeSelector 指定 Node 给节点添加标签 1 kubectl label node node2 project=A 指定 nodeSelector 创建工作负载 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 cat <<EOF | kubectl apply -f - apiVe 云计算 2023-01-04 贤蛋大眼萌
在 Kubernetes 集群上部署 Elasticsearch 栈 如果采用 Logstash 集中接收 Filebeat 的日志输入,容易造成单点瓶颈;如果采用 Kafka 接收 Filebeat 的日志输入,日志的时效性又得不到保障。这里直接将 Filebeat 采集的日志直接输出到 Elasticsearch。 1. 准备工作 节点规划 这里没有区分 master、data、client 节点,而是直接一个集群三个节点复用。如果是超大规模的 Elastics 云计算 2023-01-04 大白菜程序猿
基于 Harbor 和 Registry 的镜像管理分发方案 1. Harbor 跨区带来的挑战 如果只是简单的存放镜像数据, Registry 作为镜像仓库会是一个很好的选择。Registry 不仅支持多种存储后端,还可以配置 HTTPS 证书,访问凭证。值得一题的是,Harbor 也是使用 Registry 存储镜像数据。如果团队需要进行角色管理,存储控制,对接 LDAP 认证等功能,可以使用 Harbor。只需要一台 4C8GB 的机器,外置高可用 P 云计算 2023-01-04 LOVEHL^ˇ^
如何劫持 docker.io 的镜像流量到私有仓库 1. 自签 *.docker.io 域名证书 1.1 创建 CA 证书 生成 CA 证书私钥 1 openssl genrsa -out ca.key 4096 生成 CA 证书 1 2 3 4 openssl req -x509 -new -nodes -sha512 -days 3650 -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Person 云计算 2023-01-04 法医
如何快速接入统一的认证鉴权体系 1. 异构系统带来的认证鉴权问题 企业系统,可以分为以下几种类型: 购买的商业软件,比如 JumpServer 开源的软件,比如 Kibana、Grafana 自主研发的软件,比如应用管理平台 这里需要说明的是,认证和鉴权是两个功能: 认证,证明你是你 鉴权,你是管理员,而不是普通用户 针对上面的系统,在接入认证鉴权时,主要面临如下问题: 自主定制成本高,而社区支持响应慢。定制开源组件需要投入大量 云计算 2023-01-04 Escape
Kubernetes Job 创建了近 3W Pod,差点导致严重事故 1. 相关背景 早上 10:00 因同事需求,我通过工具在集群上创建 Kubernetes Job 执行任务。工具创建 Job 时,会拿到集群上的全部节点,然后逐个绑定节点创建 Job。例如,如下集群: 1 2 3 4 5 6 7 8 9 10 kubectl get node NAME STATUS ROLES AGE VERSION node2 Ready control-plane,mast 云计算 2023-01-04 醒在深海的猫
使用 Linux TC 进行流量限制 1. Linux 下的流量控制原理 通过对包的排队,我们可以控制数据包的发送方式。这种控制,称之为数据整形,shape the data,包括对数据的以下操作: 增加延时 丢包 重新排列 重复、损坏 速率控制 在 qdisc-class-filter 结构下,对流量进行控制需要进行三个步骤: 创建 qdisc 队列 上面提到 Linux 是通过包的排队进行流量的控制,那么首先得有一个队列。 创建 云计算 2023-01-04 醒在深海的猫
如何设置端口仅对指定 IP 开放访问 1. 主机服务端口 1 2 iptables -I INPUT -p tcp --dport 80 -j DROP iptables -I INPUT -p tcp -s 1.2.3.4 --dport 80 -j ACCEPT 这里仅允许 1.2.3.4 访问本地主机的 80 端口。 2. Docker 服务端口 对于类似 docker run -d -p 80:80 shaowenchen/d 云计算 2023-01-04 共饮一杯
常用的各类资源 Prometheus 告警语句 主机 主机内存使用率超过阈值 1 - node_memory_MemAvailable_bytes{mode!="idle"} / node_memory_MemTotal_bytes阈值:0.9 主机 CPU 使用率超过阈值 1 - avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) by (host_name)阈值:0.85 主机硬盘使用率超 云计算 2023-01-04 三掌柜
如何预估 Kubernetes 集群中监控组件的资源消耗 本文描述的监控指标,仅包含 Kubernetes 基础的指标,不包含业务相关指标,相关组件为 prometheus-server、kube-state-metrics、node-exporter,数据的保存周期为 3 天。 1. 集群中监控相关组件 1 2 3 4 helm -n monitor list NAME NAMESPACE REVISION UPDATED STATUS CHART A 云计算 2023-01-04 泡泡
关于平台建设的一些思考 1. 平台化才能让你走得更远 只要你比竞争对手响应市场快一点,活得久一点,就能争取更多生存的空间。绝妙的商业模式、市场机遇更像是魔法,能迅速壮大公司,但并不是人力可控的范畴。我们能做的是打磨好工具、平台,以待风起时变,稍能驾驭便能青云直上。平台建设是长周期、高收益的投资。平台会伴随着公司一起成长,大的公司一定有好的支撑平台。大部分的小公司都活不过 3-5 年,小公司不会大力建设平台,但它们会非常乐 云计算 2023-01-04 大白菜程序猿
OpenEBS 证书过期导致服务不可用 1. 安装方式 1 2 kubectl apply -f https://openebs.github.io/charts/openebs-operator.yaml kubectl patch storageclass openebs-hostpath -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default- 云计算 2023-01-04 共饮一杯