- 博客(425)
- 资源 (11)
- 收藏
- 关注
原创 个人收录传送门-Technology blog
程序员导航栏搜索快人一步720云-全景平台阿里巴巴云原生阿里云开发阿里巴巴开源镜像站RancherLabsElastic 中国社区官方博客Elastic咨询师美团技术团队Go语言学习之路架构师波波阳明k8s技术博客k8s官方中文社区
2019-10-31 10:00:18 1066
原创 【GitOps系列】如何解决 GitOps 的秘钥存储问题?
在实际的业务场景下,出于安全需要,Git 仓库往往会包含下面这些机密信息。镜像拉取凭据的 Secret 对象,它可以为集群提供拉取镜像的权限。外部数据库连接信息。外部中间件如 MQ 连接信息。第三方服务的 API KEY,例如云厂商和短信服务商。在 GitOps 工作流中,这些机密信息都会通过 Kubernetes 对象存放在 Git 仓库,在大部分情况下它们是 Configmap 或 Secret 对象。
2023-08-14 17:22:18 506 2
原创 【GitOps系列】使用 ArgoCD ApplicationSet 来实现多环境管理
开发环境测试环境预发布环境生产环境为了让不同职责的人员在不同的环境下独立工作,我们一般会将不同环境隔离。通常,开发环境主要用于开发人员的日常开发,测试环境则是为测试团队而准备的,预发布是正式发布到生产环境之前的最后一道防线,除了数据以外,应该尽量和生产环境保持一致。当然,对有些团队来说,他们可能还希望开发人员之间相互隔离,也就是为每一个开发者分配一个独立的开发环境,使他们互不干扰。在非云原生技术架构体系下,环境一般是由特定的团队人工维护的。
2023-08-05 11:20:20 925
原创 【GitOps系列】如何实施自动化渐进式交付?
在实施金丝雀发布的过程中,我们通过 Argo Rollout 的金丝雀策略将发布过程分成了 3 个阶段,每个阶段金丝雀的流量比例都不同,经过一段时间之后,金丝雀环境变成了新的生产环境。实际上,这也是一种渐进式的交付方式,它通过延长发布时间来保护生产环境,降低了发生生产事故的概率。不过,这种渐进式的交付方式存在一个明显的缺点:无法自动判断金丝雀环境是否出错?这可能会导致一种情况,当金丝雀环境在接收生产流量之后,它产生了大量的请求错误,在缺少人工介入的情况下,发布仍然按照计划进行,最终导致生产环境故障。
2023-08-03 22:49:27 885
原创 【GitOps系列】如何实施金丝雀发布?
蓝绿发布是一种通过资源冗余来换取回滚效率的发布方式,结合 Argo Rollout ,能够很方便地实现自动化的流量切换。但是它的缺点也是比较明显的:当新环境准备好之后,流量将进行全量切换, 无法对新环境进行小规模的流量验证。为了更好地了解新环境的性能和潜在的问题,最好的办法是让新的环境接收一小部分生产流量。通常,我们会把一定比例的生产流量转发到新的环境,以此来验证新环境的表现。这种发布方式就叫做金丝雀发布,又叫做灰度发布。
2023-07-31 23:05:31 821 1
原创 【GitOps系列】在 GitOps 工作流中实现蓝绿发布
借助于Argo Rollout 工具实现自动化蓝绿发布。和手动修改 Ingress 策略来实现的蓝绿发布不同的是:它主要是通过自动修改 Service 的选择器来对流量进行切换的。这种方式将蓝绿发布的过程变成了更新镜像的操作,极大降低了蓝绿发布的门槛。
2023-07-30 15:20:28 523
原创 【GitOps系列】监听镜像版本变化触发 GitOps工作流
通过引入 ArgoCD Image Updater,我们可以让 ArgoCD 具备自动监控镜像仓库的更新情况能力,一旦工作负载的镜像版本有更新,ArgoCD 就会自动化将工作负载升级为新的镜像版本,并且还可以自动将镜像的版本号回写到 Helm Chart 仓库中,保持应用定义和集群状态的一致性。
2023-07-29 00:05:49 960 1
原创 【GitOps系列】使用 ArgoCD 快速打造GitOps工作流
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes.
2023-07-27 15:50:48 1340
原创 harobr 登录异常‘lookup core.harbor.domain: no such host‘
Harbor is an open source registry that secures artifacts with policies and role-based access control, ensures images are scanned and free from vulnerabilities, and signs images as trusted. Harbor, a CNCF Graduated project, delivers compliance, performance,
2023-07-15 14:12:36 757
原创 【GitOps系列】自动化构建Image
自动构建镜像的自托管方案:使用 Tekton 来自动构建镜像。Tekton 是一款基于 Kubernetes 的 CI/CD 开源产品,如果已经有一个 Kubernetes 集群,那么利用 Tekton 直接在 Kubernetes 上构建镜像是一个不错的选择。
2023-07-14 16:53:43 424
原创 【GitOps系列】从零上手GitOps
通过构建 GitOps 工作流,打造高可用、高并发、自动自愈、可观测的弹性应用架构体系,同时实现环境即代码(Environment as Code)的秒级发布和回滚。让我们开始从零上手 GitOps,感受云原生工程实践之美吧!
2023-07-13 20:05:47 675 1
原创 nginx `error:2006D080:BIO routines:BIO_new_file:no such file error`
nginx: [emerg] SSL_CTX_load_verify_locations("/opt/nginx/conf/none") failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/opt/nginx/conf/none','r') error:2006D080:BIO routines:BIO_new_file:no such file error:0B084002:x509 cert
2023-07-12 19:05:24 2184
原创 Mongo复制集节点状态都处于SECONDARY,如何手动切换选主?
Mongo复制集节点状态都处于SECONDARY,如何手动切换选主? 恢复rs复制集架构,正常提供业务读写。
2023-06-05 22:20:34 519
原创 Kube-OVN组件
Kube-OVN, a CNCF Sandbox Project, bridges the SDN into Cloud Native. It offers an advanced Container Network Fabric for Enterprises with the most functions, extreme performance and the easiest operation.
2023-05-01 12:03:31 1296 1
原创 Vector 高性能日志收集工具
Vector 是一种高性能的可观察性数据管道,可让组织控制其可观察性数据。收集、转换并将所有日志、指标和跟踪路由到SRE团队想展示或者存储的任何地方。由于 Vector 用 Rust 编写,提供了内存安全和效率保证,使其在其他现有工具中独树一帜。Vector 引入了单元测试框架,可以更轻松地维护复杂的日志收集工具拓扑。属于一款新型开源产品,比所有替代方案快 10 倍(引用官方话语)。
2023-04-13 19:55:49 3248
原创 Kubernetes 部署 StarRocks 集群
StarRocks 是新一代极速全场景 MPP (Massively Parallel Processing) 数据库。StarRocks 的愿景是能够让用户的数据分析变得更加简单和敏捷。用户无需经过复杂的预处理,就可以用 StarRocks 来支持多种数据分析场景的极速分析。
2023-04-11 19:58:03 1698 4
原创 Golang开发批量目录压缩工具-dirTools
Linux系统某个服务的日志生成很有规则性,期望将服务程序生成的目录文件按照日期进行压缩,例如 “0309目录压缩为0309.tar.gz 0310目录压缩为0310.tar.gz”3、实际需处理的日期目录可根据实际环境进行正则匹配[0-9]组合而成的4位数字。按天进行压缩可以在程序中加入时间判断的逻辑,只压缩当天日期的目录即可。2、处理的对象上一级目录不能被固化,可根据用户实际需求选择。5、用户可根据实际情况选择性删除源目录或者不删除等等。4、压缩过程及处理的目录个数、大小统计输出。
2023-03-28 17:33:25 291
原创 k8s迁移节点kubelet数据存储目录
默认k8s节点kubelet数据目录在,如果在部署前没有做好规划,其实默认就存储在系统盘/分区下了,这样会导致一个问题,如果数据量过大会导致kubelet服务异常,其次,系统盘下有一些系统服务引用,没有形成解耦,包括后期的容量扩容也会带来影响。所以一般数据存储目录在k8s层面,一定要提前做相关规划,至少要具备可灵活扩展性等。本文主要记录在前期没有做好规划之后,目前容量存储即将到一定的瓶颈期,需要快速进行迁移扩容工作。
2023-03-24 15:10:00 1209 1
原创 Traefik v2.9-IngressRoute
The Kubernetes Ingress Controller, The Custom Resource Way.In early versions, Traefik supported Kubernetes only through the Kubernetes Ingress provider, which is a Kubernetes Ingress controller in the strict sense of the term.However, as the community expr
2023-03-07 21:26:06 775
原创 Kafka 概述
目前企业中比较常见的消息队列产品主要有 Kafka、ActiveMQ 、RabbitMQ 、RocketMQ 等。在大数据场景主要采用 Kafka 作为消息队列。
2023-02-27 17:50:11 745
原创 Mongodb ‘Unauthorized not authorized on admin to execute command‘
AuthenticationFailed It is not possible to authenticate as the __system user on servers started without a --keyFile parameter
2023-02-27 15:21:48 1093
原创 Mongodb WT_PANIC: WiredTiger library panic
WT_SESSION.open_cursor: the process must exit and restart: WT_PANIC: WiredTiger library panic
2023-02-18 14:17:38 1156 1
原创 k8s默认StorageClass,解决pvc一直处于“Pending”
K8S 中动态(StorageClass)创建 PVC 时 SelfLink 问题解决
2023-02-12 22:44:21 3221
原创 自定义开发node_exporter脚本实现监控
早年在使用Zabbix监控时,可以自己写自定义脚本来监控指标。随着时代的变革,在使用Promethues的时候,有很多的exporter,但是有一些特殊的情况是没法实现的,比如,我需要监控统计每个idc的nginx error日志,计算最近1分钟的错误率,这时只能通过自定义开发脚本来实现一些特殊的需求。3)添加启动参数,node_exporter采集数据(采集频率为定时任务的频率)(3)监控Linux系统是否开启bbr,若没开启则触发告警。(1)监控统计指定目录下的文件数,若超过50触发告警。
2023-01-05 17:04:04 1906 1
原创 kafka日志清理策略
删除逻辑是:首先计算日志段总大小与retention.bytes之间的差值(diff),得到需要删除的日志总大小,然后从第一个日志段开始查找,若diff与该日志段字节之差不小于0,则将该日志段加入到待删除集合中,以此类推,直到diff与查找的日志段大小之差小于0,查找结束,迭代待删除的日志段文件,进行物理删除。每个分区的日志文件存储的时候又会分成一个个的segment,默认日志段(segment)的大小是1GB,segment是日志清理的基本单元,当前正在使用的segment是不会被清理的。
2022-12-30 11:41:04 2182
原创 Hadoop datanode启动异常 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode
发现这两个id不一致,经查阅相关资料,id不一致会导致Initialization failed for Block pool。线上收到hadoop集群datanode掉线告警。然后再次尝试启动datanode进程。发现未存在datanode进程。
2022-11-25 17:10:57 2581
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人