
云计算
文章平均质量分 50
筑梦之路
知识就是力量!
展开
-
k8s helm部署kafka集群(KRaft模式)——筑梦之路
【代码】k8s helm部署kafka集群(KRaft模式)——筑梦之路。原创 2025-01-07 17:25:02 · 1295 阅读 · 0 评论 -
修改kubernets源码编译实现证书有效期100年 —— 筑梦之路
默认情况下,kubeadm会生成运行一个集群所需的全部证书。但要使用自定义的证书,需要生成各个组件的证书,所以直接修改kubeadm源码,将证书的时间延长为100年。原创 2024-11-19 17:20:32 · 493 阅读 · 0 评论 -
k8s 处理namespace删除一直处于Terminating —— 筑梦之路
k8s集群要清理某个名空间,把该名空间下的资源全部删除后,删除名空间,一直处于Terminating状态,无法完全清理掉。原创 2024-11-06 11:11:23 · 905 阅读 · 0 评论 -
K8S nginx pod结合cronJob实现日志按天切割 —— 筑梦之路
nginx的官方镜像都是把日志重定向到标准输出,如果没有特别需求,已经能满足大多数的使用。这里我主要对官方镜像进行改造,添加logrotate,结合cronJob来实现nginx日志的自动轮转,以方便排查故障问题。原创 2024-10-29 12:54:30 · 558 阅读 · 0 评论 -
K8S 容器钩子函数和优雅停机 —— 筑梦之路
1. 正在处理请求的pod被删除,在请求没有做幂等处理的情况下,就会出现数据重复、数据错误,亦或导致分布式系统数据不一致;2. Kubernetes 将流量路由到已被删除的 pod,导致处理请求失败造成用户体验不佳。所以,为了让代码发布的部署过程不影响业务的正常运行和用户无感知,我们需要实现容器的优雅停机。原创 2024-09-25 10:16:05 · 1734 阅读 · 0 评论 -
K8S故障排查可视化指南 —— 筑梦之路
中文版:http://114.132.181.71:8080/book/71。英文版:http://114.132.181.71:8080/book/70。原创 2024-08-23 22:22:53 · 283 阅读 · 0 评论 -
Kubernetes 运维思考 —— 筑梦之路
比如,对于一个内存密集型的应用,如果资源请求设置为 512MB 内存,但实际运行时需要 1GB 内存,就可能出现内存不足导致的崩溃。通过深入理解其核心技术,掌握最佳实践,我们能够构建出高效、稳定、安全的容器化应用平台,为企业的数字化转型提供坚实的支撑。选择合适的监控工具,如 Prometheus、Grafana 等,采集 Kubernetes 集群和应用的各种指标,如资源使用情况、Pod 状态、服务性能等。利用动态存储供应机制,可以根据应用的需求自动创建和分配存储资源,提高存储管理的灵活性和效率。原创 2024-07-17 22:50:14 · 954 阅读 · 0 评论 -
K8S私有云裸金属服务器负载均衡器OpenELB——筑梦之路
OpenELB 是一个专为裸机 Kubernetes 集群设计的开源负载均衡器实现。在云服务环境中的 Kubernetes 集群里,通常可以用云服务提供商提供的负载均衡服务来暴露 Service,但是在本地没办法这样操作。而 OpenELB 可以让用户在裸金属服务器、边缘以及虚拟化环境中创建 LoadBalancer 类型的 Service 来暴露服务,并提供与云上的负载均衡器相同的用户体验。原创 2024-07-16 23:45:50 · 654 阅读 · 0 评论 -
K8S pod资源清单 —— 筑梦之路
【代码】K8S pod资源清单 —— 筑梦之路。原创 2024-07-16 23:34:08 · 430 阅读 · 0 评论 -
【云原生】ptcpdump捕获任何进程、容器或 Pod 的网络流量的抓包神器——筑梦之路
ptcpdump 是一个使用 eBPF 技术开发的、类 tcpdump 的网络抓包工具。它除了兼容 tcpdump 的常用命令行参数以及包过滤语法外, 还额外提供了如下核心特性:在输出中记录和显示发送网络流量的进程、容器、Pod 信息。支持对指定进程、容器以及 Pod 进行抓包。支持将抓取的数据包保存为 pcapng 格式,可以使用 tcpdump 或者 Wireshark 做进一步分析。原创 2024-07-15 23:24:31 · 3828 阅读 · 0 评论 -
K8s驱逐场景以及规避方案参考 —— 筑梦之路
应用在申请或控制资源时,前置准入控制,查看当然 request 值水位,控制到安全水位,资源不足时,扩充 Node 后,才允许申请扩容。主动驱逐,受限于 PDB,如果配置了 PDB,会防止应用出现全部不可用的状况,但是直接 操作 DELETE Pod ,不受 PDB 限制,所以 drain 比 直接 DELETE 会安全一些,当做节点维护时。节点打污点(NoExecute),导致 Pod 被驱逐,或者移除亲和性标签,导致 Pod 被驱逐, Controller Manager 发起的驱逐。原创 2024-07-08 21:33:41 · 1336 阅读 · 0 评论 -
Calicoctl工具学习 —— 筑梦之路
官方文档:https://docs.projectcalico.org/getting-started/clis/calicoctl/configure/文件的,所以需要为其提供 kubeconfig 配置文件,当其作为 kubectl 的插件运行时,系统会默认读取 kubectl 的配置文件。calico 的配置文件默认在 /etc/calico目录下,需要手动创建。calicoctl 使用来专门操作。是用来管理 calico 自己引入的。中与自己状态相关的数据的命令行工具。calicoctl 与。原创 2024-07-07 23:02:29 · 472 阅读 · 0 评论 -
k8s上rabbitmq优化参考建议——筑梦之路
k8s上rabbitmq安装部署和优化参考建议原创 2024-05-31 14:39:43 · 1255 阅读 · 0 评论 -
k8s使用harbor私有仓库镜像 —— 筑梦之路
官方文档:ImagePullSecrets的设置是kubernetes机制的另一亮点,习惯于直接使用Docker Pull来拉取公共镜像,但非所有容器镜像都是公开的。此外,并不是所有的镜像仓库都允许匿名拉取,也就是说需要身份认证;kubernetes有一个secret记录类型,可用于配置镜像登陆凭证,secret的一个特定的类型:kubernetes.io/dockercfg 或者 kubernetes.io/dockerconfigjson。原创 2024-04-17 10:29:14 · 1582 阅读 · 0 评论 -
velero备份恢复k8s集群 —— 筑梦之路
Velero 是vmware开源的一个云原生的灾难恢复和迁移工具,它本身也是开源的,采用Go语言编写,可以安全的备份、恢复和迁移Kubernetes集群资源数据;官网。Velero 是西班牙语意思是帆船,非常符合Kubernetes社区的命名风格,Velero的开发公司Heptio,已被VMware收购。Velero 支持标准的K8S集群,既可以是私有云平台也可以是公有云,除了灾备之外它还能做资源移转,支持把容器应用从一个集群迁移到另一个集群。原创 2024-04-15 18:07:01 · 2973 阅读 · 0 评论 -
etcd相关知识整理归纳 —— 筑梦之路
Etcd 是 CoreOS 团队于2013年6月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)数据库。etcd内部采用raft协议作为一致性算法,Etcd基于 Go 语言实现。名字由来,它源于两个方面,unix的“/etc”文件夹和分布式系统(“D”istribute system)的D,组合在一起表示etcd是用于存储分布式配置的信息存储服务。原创 2024-04-12 16:25:25 · 1624 阅读 · 0 评论 -
Docker 容器和 Kubernetes 退出码 —— 筑梦之路
应用程序错误:这可能是容器运行的代码中的简单编程错误,例如“除以零”,也可能是与运行时环境相关的高级错误,例如 Java、Python 等;如果不能,重新安装容器引擎,或者解决容器引擎和主机设置之间的底层兼容性问题。检查中止进程是否是预期内的(例如,因为库处于调试模式),如果不是,则对库进行故障排除,并修改以避免中止容器。如果您的容器引擎提供了运行容器的 option,请尝试它们。例如,在 Docker 中,尝试。与退出码 126 相同,识别失败的命令,并确保容器镜像中引用的文件名或文件路径真实有效。原创 2024-03-15 15:45:12 · 2141 阅读 · 0 评论 -
k8s 检测node节点内存使用率平衡调度脚本 —— 筑梦之路
【代码】k8s 检测node节点内存使用率平衡调度脚本 —— 筑梦之路。原创 2024-01-11 21:48:08 · 956 阅读 · 0 评论 -
K8s部署cephfs-provisioner —— 筑梦之路
是cephfs-provisioner(cephfs的storageclass)的核心,主要是 watch kubernetes中 PVC 资源的CURD事件,然后以命令行方式调用 cephfs_provisor.py脚本创建PV。python 脚本实现的与cephfs交互的命令行工具。cephfs-provisioner 对cephfs端volume的创建都是通过该脚本实现。里面封装了volume的增删改查等功能。原创 2024-01-02 15:23:11 · 930 阅读 · 0 评论 -
k8s 中crontabJob备份恢复etcd数据案例—— 筑梦之路
k8s使用kubeadm方式搭建。原创 2023-12-29 18:10:04 · 553 阅读 · 0 评论 -
深入理解Dockerfile —— 筑梦之路
可以选择现有的镜像,比如centos、debian、apline等,特殊镜像scratch,它是一个空镜像。如果你以scratch为基础镜像的话,意味着你不以任何镜像为基础,接下来所写的指令将作为镜像第一层开始存在。不以任何系统为基础,直接将可执行文件复制进镜像的做法并不罕见,比如swarm。对于 Linux 下静态编译的程序来说,并不需要有操作系统提供运行时支持,所需的一切库都已经在可执行文件里了,因此直接会让镜像体积更加小巧。原创 2023-12-29 16:07:51 · 1293 阅读 · 1 评论 -
k8s 工具开源项目搜集 —— 筑梦之路
用来对 kubectl 的输出结果进行可视化展示,可以输出为 .dot 格式,也可以输出为 .png 或任何格式。linux上安装使用。原创 2023-12-28 14:48:45 · 1262 阅读 · 0 评论 -
K8S 全局架构图 —— 筑梦之路
在机器人和自动化的应用中,控制回路是一个永不休止的循环,用于调节系统状态。在 Kubernetes 中,每个控制器是一个控制回路,通过 API 服务器监视集群的共享状态, 并尝试进行更改以将当前状态转为期望状态。kube-proxy 是集群中每个节点(node)上所运行的网络代理, 实现 Kubernetes 服务(Service) 概念的一部分。调度器会将所发现的每一个未调度的 Pod 调度到一个合适的节点上来运行。等内置的节点资源之外), 并向请求资源的 Pod 提供了这些自定义的节点本地设施。原创 2023-12-27 19:49:47 · 828 阅读 · 0 评论 -
K8S 搜集java应用pod重启前现场 —— 筑梦之路
JAVA技术广泛用于各行各业,而云原生的流行,越来越多的企业将java应用搬进K8S中进行部署管理,OOM是java应用比较常出现的故障问题,对于容器环境的java应用搜集OOM等现场比较有难度,为了持续对应用的优化,搜集故障现场也是比较重要的。如果容器已经处于已终止或者已完成状态,则对 preStop 回调的调用将失败。在用来停止容器的 TERM 信号被发出之前,回调必须执行结束。回调被执行之前即开始计数, 所以无论回调函数的执行结果如何,容器最终都会在 Pod 的终止宽限期内被终止。原创 2023-12-26 11:17:32 · 718 阅读 · 0 评论 -
如何从k8s secret中查看域名信息 —— 筑梦之路
没有https ssl证书文件,k8s 已经部署了https ssl的证书,存储在secret中,需要从其中取出域名信息。原创 2023-12-15 14:04:26 · 833 阅读 · 0 评论 -
容器资源视图隔离 —— 筑梦之路
先做个记录,抽空再整理。原创 2023-12-08 22:22:37 · 509 阅读 · 0 评论 -
K8S常用操作命令(三)—— 筑梦之路
【代码】K8S常用操作命令(三)—— 筑梦之路。原创 2023-12-02 00:41:53 · 932 阅读 · 0 评论 -
docker 容器优雅关闭 —— 筑梦之路
在关闭前,执行正常的关闭过程,释放连接和资源,如我们操作系统执行shutdown目前业务系统组件众多,互相之间调用关系也比较复杂,一个组件的下线、关闭会涉及到多个组件。对于任何一个线上应用,如何,这是应用开发运维团队必须要解决的问题。,由人工操作实现客户端不对更新感知。这种方式简单而有效,但是限制较多:不仅需要使用借助网关的支持来摘流量,还需要在停应用前人工判断来保证在途请求已经处理完毕。原创 2023-11-18 20:59:15 · 868 阅读 · 0 评论 -
Docker build 技巧 —— 筑梦之路
更快的构建速度更小的Docker镜像大小更少的Docker镜像层充分利用镜像缓存增加Dockerfile可读性让Docker容器使用起来更简单。原创 2023-11-17 21:38:55 · 997 阅读 · 0 评论 -
k8s pod 处于Terminating的原因分析和解决处理——筑梦之路
之前整理了一下各种资源长时间无法回收,解决处理的命令行这里具体整理下pod长时间处于Terminating状态的相关知识,主要是对前面的补充和完善,作为笔记记录。原创 2023-11-15 11:30:54 · 4589 阅读 · 0 评论 -
K8S集群etcd 某个节点数据不一致如何修复 —— 筑梦之路
二进制方式安装的k8s集群,etcd集群有3个节点,某天有一台机器hang住了,无法远程ssh登陆,于是被管理员直接重启了,重启后发现k8s集群删除一个deployment应用,多次刷新一会有,一会没有,于是在3个节点上执行etcd命令去查询该数据,发现被重启的节点上仍存在删除的该应用的数据,于是判断etcd集群的该节点存在脏数据,和其他节点数据不同步。原创 2023-11-13 18:27:55 · 2655 阅读 · 0 评论 -
helm 常用命令搜集 —— 筑梦之路
报错处理:Error: Kubernetes cluster unreachable: Get "http://localhost:8080/version": dial tcp 127.0.0.1:8080。在 Helm 3 中,必须主动指定 release 名称,或者增加 --generate-name 的参数使 Helm 自动生成。这样不会安装应用(chart)到你的 kubenetes 集群中,只会渲染模板内容到控制台。如果想看渲染出错的内容,可以加上另外参数。原创 2023-11-12 14:03:55 · 557 阅读 · 0 评论 -
kubectl 常用命令搜集 —— 筑梦之路
这些命令应该可以帮助你诊断 Kubernetes 集群以及在其中运行的应用程序。原创 2023-11-12 13:36:41 · 690 阅读 · 0 评论 -
k8s 裸金属集群部署metalLB软负载均衡 —— 筑梦之路
MetalLB 的二层模式是非常简单的(另一种 BGP 模式需要路由器支持),只要保证 IP 地址池与集群是同一个网段即可。当然缺点也很明显:所有的流量都会在同一个节点上,该节点的容易成为流量的瓶颈,当 VIP 所在节点宕机之后,需要较长时间进行故障转移(一般在 10s),这主要是因为 MetalLB 使用了memberlist 来进行选主;当 VIP 所在节点宕机之后重新选主的时间要比传统的 keepalived 使用的 vrrp 协议要更长,难以定位 VIP 所在节点;原创 2023-11-11 15:53:00 · 1710 阅读 · 0 评论 -
k8s 部署mqtt —— 筑梦之路
mqtt是干嘛的,网上有很多资料,这里就不再赘述。登录账号:admin。原创 2023-11-10 14:11:35 · 900 阅读 · 0 评论 -
k8s docker cgroup驱动问题 —— 筑梦之路
在 Linux 操作系统上,控制组(CGroup)用于限制分配给进程的资源。kubelet 和底层容器运行时都需要对接控制组来强制执行 为 Pod 和容器管理资源 并为诸如 CPU、内存这类资源设置请求和限制。若要对接控制组,kubelet 和容器运行时需要使用一个 cgroup 驱动。关键的一点是 kubelet 和容器运行时需使用相同的 cgroup 驱动并且采用相同的配置。原创 2023-11-10 10:41:04 · 914 阅读 · 0 评论 -
云原生环境下JAVA应用容器JVM内存如何配置?—— 筑梦之路
之前简单地记录过一篇,这里在之前的基础上更加细化一下。原创 2023-11-01 11:21:00 · 1786 阅读 · 0 评论 -
给运行中的docker容器挂载目录——筑梦之路
对于一个已经运行的容器,如果后续需要新挂载一个目录怎么办?为什么不能重新创建一个容器?容器内可能安装过很多东西,很费时,如果重新创建一个容器再挂载,还得重新安装很多东西,非常费时费力。原创 2023-10-24 15:34:59 · 2345 阅读 · 1 评论 -
多架构环境下docker-compose部署rocketmq单机模式—— 筑梦之路
接上篇本文适用于x86、arm等多架构环境。话不多说,直接上代码。原创 2023-10-13 11:04:09 · 862 阅读 · 0 评论 -
OpenStack常用命令搜集 —— 筑梦之路
之前学习搭建过OpenStack,好久都没有使用了,这里主要搜集下OpenStack的常用命令,温故而知新。原创 2023-09-04 13:46:04 · 776 阅读 · 0 评论