1. 应用架构与业务发展、运维能力匹配在行业会议、文档博客中,我们时常能见到各种优秀的解决方案,但是如果直接照搬到自己的业务,却又频频碰壁。因为,这些技术方案是特定的业务场景孵化出来的,不同的业务形态、不同的业务规模、不同的业务发展阶段都会影响技术的落地。另一方面,应用需要人去维护,需要构建合适的平
如果你需要监控两个主机、主机与外部服务之间的网络状况,那么就可以试一试本文提到的 Blackbox Exporter。1. 安装 Blackbox1.1 在主机上部署下载二进制包1 2 3 4 5 wget https://github.com/prometheus/blackbox_exporte
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 1
如果采用 Logstash 集中接收 Filebeat 的日志输入,容易造成单点瓶颈;如果采用 Kafka 接收 Filebeat 的日志输入,日志的时效性又得不到保障。这里直接将 Filebeat 采集的日志直接输出到 Elasticsearch。1. 准备工作节点规划这里没有区分 master、
1. Harbor 跨区带来的挑战如果只是简单的存放镜像数据, Registry 作为镜像仓库会是一个很好的选择。Registry 不仅支持多种存储后端,还可以配置 HTTPS 证书,访问凭证。值得一题的是,Harbor 也是使用 Registry 存储镜像数据。如果团队需要进行角色管理,存储控制,
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 -s
1. 异构系统带来的认证鉴权问题企业系统,可以分为以下几种类型:购买的商业软件,比如 JumpServer开源的软件,比如 Kibana、Grafana自主研发的软件,比如应用管理平台这里需要说明的是,认证和鉴权是两个功能:认证,证明你是你鉴权,你是管理员,而不是普通用户针对上面的系统,在接入认证鉴
1. 相关背景早上 10:00 因同事需求,我通过工具在集群上创建 Kubernetes Job 执行任务。工具创建 Job 时,会拿到集群上的全部节点,然后逐个绑定节点创建 Job。例如,如下集群: 1 2 3 4 5 6 7 8 9 10 kubectl get node NA
1. Linux 下的流量控制原理通过对包的排队,我们可以控制数据包的发送方式。这种控制,称之为数据整形,shape the data,包括对数据的以下操作:增加延时丢包重新排列重复、损坏速率控制在 qdisc-class-filter 结构下,对流量进行控制需要进行三个步骤:创建 qdisc 队列
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. Docke
主机主机内存使用率超过阈值1 - node_memory_MemAvailable_bytes{mode!="idle"} / node_memory_MemTotal_bytes阈值:0.9主机 CPU 使用率超过阈值1 - avg(irate(node_cpu_seconds_total{mod
本文描述的监控指标,仅包含 Kubernetes 基础的指标,不包含业务相关指标,相关组件为 prometheus-server、kube-state-metrics、node-exporter,数据的保存周期为 3 天。1. 集群中监控相关组件1 2 3 4 helm -n monitor lis
1. 平台化才能让你走得更远只要你比竞争对手响应市场快一点,活得久一点,就能争取更多生存的空间。绝妙的商业模式、市场机遇更像是魔法,能迅速壮大公司,但并不是人力可控的范畴。我们能做的是打磨好工具、平台,以待风起时变,稍能驾驭便能青云直上。平台建设是长周期、高收益的投资。平台会伴随着公司一起成长,大的
1. 安装方式1 2 kubectl apply -f https://openebs.github.io/charts/openebs-operator.yaml kubectl patch storageclass openebs-hostpath -p '{"metadata": {"anno
最近有一个需求,收集 Kubernetes 的外网访问情况。因此对相关项目进行了调用和试用,本篇主要是介绍如何安装 Kindling,配置 Grafana 查看 Kubernetes 网络连接数据。1. 什么是 KindlingKindling 解决的是,在不入侵应用的前提下,如何观测网络的问题,其
1,接上一回,共享存储优化海外镜像的拉取在基于 Harbor 和 Registry 的镜像管理分发方案的基础上,最近又做了一个优化。之前的方案是,在每个区域,使用一台低配大磁盘的机器,部署一个 Mirror Cache 缓存镜像。这样带来一个问题,就是每个区域都需要拉取一个镜像,如果有 N 个区域,
1,脱离职责的流程是没有意义的软件架构与组织架构相匹配,不仅仅体现在功能边界,更体现在职责划分。清晰的职责边界,才能构筑良好的团队协作与发展。每个团队、每个人都应该明白自己的目标,什么事情应该承担,什么事情应该回避,将时间和精力投入到对主要目标有增益的事情,不能陷于琐屑。如此,团队中的成员才不会那么
本文翻译自 https://learnk8s.io/kubernetes-network-packets,并没有逐字翻译,带入了些自己的理解。阅读本文,你可以了解在 Kubernetes 内外,数据包是如何转发的,从原始的 Web 请求开始,到托管应用程序的容器。 Kubernetes 网络要求
记录一次因为 IP 变更导致集群故障的修复过程。有两个集群,一个是单节点(allinone),另一个是四节点(3 master 1 node)的集群。1. 更新 Etcd 证书【在每个 Etcd 节点】备份 Etcd 证书1 cp -R /etc/ssl/etcd/ssl /etc/ssl/etcd
FailedCreatePodSandBox错误Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linu