在Kubernetes中优雅地导出和清理Ingress资源

1 月 8 日
阅读 3 分钟
226
Kubernetes的Ingress资源是定义外部访问集群服务的规则。随着微服务架构和容器化技术的普及,Ingress作为路由流量的关键组件变得愈发重要。当我们需要在环境之间迁移Ingress资源或者备份当前的配置时,就会用到导出功能。然而,直接使用kubectl导出可能会包括一些我们不需要的元数据。本篇博客将教您如何优雅地导出Kuber...

Kubernetes 配置Pod使用代理上网

1 月 4 日
阅读 3 分钟
227
在企业网络环境中进行Kubernetes集群的管理时,经常会遇到需要配置Pods通过HTTP代理服务器访问Internet的情况。这可能是由于各种原因,如安全策略限制、网络架构要求或者访问特定资源的需要。本文将介绍配置Kubernetes中Pod使用代理的两种常见方式:通过ConfigMap和直接在应用程序环境变量中设置。

使用Jenkins和单个模板部署多个Kubernetes组件

2023-12-29
阅读 10 分钟
263
在持续集成和部署中,我们通常需要部署多个实例或组件到Kubernetes集群中。通过Jenkins的管道脚本,我们可以自动化这个过程。在本文中,我将演示如何使用Jenkins Pipeline及单个YAML模板文件(.tpl)来部署多个类似的Kubernetes组件,而不需要为每个组件提供单独的模板文件。

Jenkins Pipeline脚本优化:为Kubernetes应用部署增加状态检测

2023-12-21
阅读 19 分钟
286
在软件部署的世界中,Jenkins已经成为自动化流程的代名词。不断变化的技术环境要求我们持续改进部署流程以满足现代应用部署的需要。在本篇博客中,作为一位资深运维工程师,我将分享如何将Jenkins Pipeline进化至不仅能支持部署应用直至Running状态检测,同时也能兼顾Deployment和StatefulSet资源的轮询更新,并详细介绍...

批量生成 Kubernetes 部署模板:从 1 到20顺序模板

2023-12-18
阅读 4 分钟
349
在微服务架构下,我们常常需要部署多个服务实例来确保应用的高可用性和负载均衡。在使用 Kubernetes 时,这通常意味着我们需要创建多个 YAML 文件来定义不同的资源配置。本文将指导您如何快速生成从 **pvp-game-1.yaml** 到 **pvp-game-20.yaml** 的 Kubernetes 部署与服务模板。

如何合并Kubernetes集群的Config文件:处理重名的集群和用户

2023-12-06
阅读 3 分钟
252
Kubernetes作为容器编排工具的翘楚,多集群管理已是许多DevOps工程师的日常。随着对环境的扩展,如何管理多个集群的config文件成为了一个需要解决的问题。在本篇博客中,我们讨论一个常见的场景:合并两个Kubernetes集群的config文件,同时处理存在的同名集群和用户问题。并展示如何使用 kubectl 命令切换不同的集群上下...

kubectl获取命名空间下所有configmap集合的方法

2023-12-05
阅读 4 分钟
218
获取单个configmap并忽略特定字段的操作可参照:kubectl获取ConfigMap导出YAML时如何忽略某些字段。要获取命名空间下所有ConfigMap并忽略特定字段,你可以使用kubectl命令与例如yq这样的工具结合使用来忽略或删除不需要的字段。以下是一个步骤和示例,展示了如何结合使用这些工具来实现你的目标。

kubectl获取ConfigMap导出YAML时如何忽略某些字段

2023-12-04
阅读 5 分钟
247
当我们在使用Kubernetes时,常常需要通过kubectl命令行工具来管理资源。有时我们也想将某个资源的配置导出为YAML文件,这样做有助于版本控制和资源的迁移。然而,默认情况下,使用kubectl get命令导出资源配置会包含一些元数据字段:如**annotations**, **creationTimestamp**, **resourceVersion**, **uid**等,这些字...

kubernetes1.22安装apisix

2023-07-27
阅读 13 分钟
815
kubernetes环境(tke)1.20.6刚完成了升级,体验了一把Tke1.20.6升级Tke1.22.5留下的坑。traefik自定义crd各种的问题!算是比较早用traefik的用户了。大佬们都说traefik早期算是第一梯队。现在算是淘汰的网关了。纯go写的,GC语言写的网关后面都会成为三流网关。就也想顺路体验一下其他的网关,比如apisix。这貌似是基于...

Tke1.20.6升级Tke1.22.5留下的坑

2023-07-21
阅读 102 分钟
639
线上kubernetes集群,tke 1.20.6版本,跑了两年多了。六月底升级了master节点到1.22.5版本升级须知里面风险点各种文档检查都正常.......work节点没有升级,只是升级了master节点,就这样跑了三周,期间缩容的时候出现了eck admissionregistration.k8s.io/v1beta1 api的问题。今天集群中一个节点上面的traefik pod 重启了...

K8S prometheus exporter应用

2023-07-14
阅读 28 分钟
886
前面对远程http服务的拨测体验简单拨测了一下http服务,最近偶遇了一下服务到期默认进入回收站,服务连不上redis数据库的问题(腾讯云报警通知服务现在不能保证优先队列,现在会滞后性)。由于日志业务上报问题,业务的错误日志没有上报给我,程序自己收集的,这就造成了滞后性。现在了想把云内资源都监控起来,当然了我...

AWS alb eks traefik realip后端真实IP

2023-06-29
阅读 5 分钟
792
亚马逊 eks 集群代理用了traefik alb绑定 traefik 在node 上面暴露的端口,对外提供服务。一直也没有在意是否能正常获取客户端IP(腾讯云 阿里云的traefik 后端应用都能正常获取客户端IP),后端php服务基础镜像基于[链接]构建,对日志进行了json格式化,安装了一些其他依赖。最近后端小伙伴有个需求要获取到客户端IP然...

tke 1.20.6升级到1.22.5的一点小插曲

2023-06-27
阅读 3 分钟
624
线上tke集群1.20.6,就相当于kubernetes1.20版本吧!前几天点了一下升级,升级了master节点。按照我的个人理解集群升级会对集群api兼容性检查的,通过了升级了没有问题。昨天对集群的节点进行了缩容。然后pod进行了重新的调度。问题就来了:早期有一个搭建的eck集群:TKE1.20.6搭建elasticsearch on kubernetes。elastic-...

jumpserver的简单安装使用

2023-03-22
阅读 16 分钟
1.1k
服务器的管理停留在xshell 登陆管理的时代,主机设备数量少,单人操作的时候还能满足使用。现在的主机数量不多不少也有大几十台。然后就面临的多人的登陆与管理。过去都是直接给账户密码。但这样就会面临操作审计的问题。虽然给的机器都是测试环境的,但是追溯操作人,审计也还是大问题。另外就是数据库的远程操作。小伙...

jenkins harbor webhook自动触发构建

2023-02-24
阅读 7 分钟
1.7k
cicd还是基于jenkins(spinnaker虽然也玩了,公司规模也小,简单jenkins可以走天下)其实很多场景还是手动构建的,基本没有做自动构建的jenkins流程。今天就突然有了那么一个需求。合作方大爷要频繁修改一个镜像。恩他们构建了镜像上传到仓库(仓库咱们的,对方木有),他们也不想第二次操作jenkins什么的...当然了他们...

AWS简单搭建使用EKS二

2023-02-15
阅读 5 分钟
646
背景:紧接AWS简单搭建使用EKS一,eks集群简单搭建完成。需要搭建有状态服务必然就用到了storageclass 存储类,这里用ebs记录以下AWS简单搭建使用EKS二存储类选型:参照官方文档:[链接]关于eks的存储类:参照:存储类个人这里习惯用EBS块存储!使用 AWS CLI 创建 Amazon EBS CSI 插件 IAM 角色参照:[链接]查看集群的 O...

AWS简单搭建使用EKS一

2023-02-14
阅读 8 分钟
1.7k
海外服务合作方服务器部署在新加坡AWS,然后就顺便使用了一下AWS上面的各项服务。最近要给合作方写交付文档,就顺便写一下相关服务的简单使用,并没有太深入,因为所有环境搭建基本都是速成流程,小公司说上就上,没有时间深入研究积累,且主要服务环境都运行在国外腾讯云and阿里云。下面是一些流程的演示!注意:演示流...

kubernetes关于eks一次异常问题的复盘

2023-02-02
阅读 5 分钟
627
事情经过是这样的12月28日更新镜像,172-31-17-92节点出现了一次镜像ImagePullBackOff,由于我镜像仓库位于国内我当时怀疑是网络问题,将镜像修改tag 上传到了dockerhub仓库,but 在宿主机操作docker pull 上传到dockerhub的镜像依然是pull不动,索性 restart了一下docker and kubelet 重新下载成功了......祸根就从这里...

Kubernetes搭建Yearning与简单使用

2023-02-01
阅读 11 分钟
1.1k
数据库基本为myql,数量不是很多,过去一直默认开启了防火墙模式通过公司固定IP,远程访问操作mysql。疫情原因,一些小伙伴不喜欢远程通过公司的网络去连接mysql,频繁添加防火墙操作。并且对数据库的操作及其不规范,没有访问操作的日志,也没有各种审核。虽然每次操作数据库前会对数据库进行备份。但是这样的安全操作隐...

记录一下阿里云ACK的nodeport Local Cluster

2022-10-27
阅读 2 分钟
712
很久很近以前(恩200多天前了),创建了一个服务应用,使用了nodeport的方式对外暴露服务,划重点--控制台创建的网络服务:过程就是这样的......一直相安无事。但是不明所以今天业务突然无法访问了(访问地址用了其中某一太的公网地址)......试着访问了一下有点怀疑防火墙,安全组?看了一眼都没有问题。kubeclt get po...

Kubernetes小技巧关于节点pod ip node数量规划

2022-09-27
阅读 4 分钟
561
最近就想体验各种多集群互联(基于wireguard),然后就深感网络划分的重要性,开始网络设计的杂七乱八的。想互联了都各种问题了,网络重叠了怎么办?集群扩容IP资源不够了杂整?还有就是默认的每个node节点的subset都默认是24?我一台机器上面也跑不了那么多Pod阿......恩 默认的 SUBNET都是24,举个例子:我的kubernete...

如何搭建代理镜像仓库

2022-09-15
阅读 11 分钟
1.9k
不知道各位有没有我这种尴尬:kubernetes搭建过程中需要拉取到一些镜像,比如: dockerhub的镜像,这个还好。毕竟有加速器。but k8s.gcr.io,quay.io.这些怎么搞?正巧搭建kubeadm 1.25,helm安装cilium的时候悲摧了。下载不动怎么搞?docker时代的时候我还可以直接导入,但是containerd时代了 导入了还是要麻烦一些阿?搜...

深度吐槽阿里云ack服务

2022-08-18
阅读 4 分钟
901
算是一个腾讯云深度用户,用了78年左右,由于业务需求,今年五月份开始逐步在阿里云跑了一些服务。不吹不黑。发自内心的吐槽一下阿里云的ack服务。其他服务没有多大发言权。都差不多。但是作为一个算是比较早期的kubernetes用户有必要吐槽一下阿里云的ack服务,没有办法。圈子里面没有阿里云容器组的人,像是腾讯云的tke...

Operator3-设计一个operator二-owns的使用

2022-08-09
阅读 18 分钟
836
上一节(Operator3-设计一个operator)做完发现一个问题 我创建了jan 应用jan-sample,子资源包括deployment,service.ingress,pod(其中pod是deployment管理的) 手动删除Pod.由于Deployment rc控制器。Pod资源可以自动重建。但是我删除deployment能不能自动重建呢?正常的deployment service ingress子资源的生命周期,...

client-go gin的简单整合十一-Delete

2022-06-22
阅读 4 分钟
860
完成了client-go gin的简单整合十-Update,下面演示一下namespace deployment pod的删除,删除完成了也可以总结一下进行更深入的操作了!删除就从pod deployment namespace的顺序开始了!

client-go gin的简单整合十-Update

2022-06-22
阅读 14 分钟
914
如果去update修改namespace我们常用的应该是修改namespace的labels,以zhangpeng namespace为例,我想增加一个name=abcd的标签/src/service/Namespace.go

client-go gin的简单整合九-Create

2022-06-21
阅读 18 分钟
738
完成了前面一些简单list-watch的demo,这里开始进一步完成crud的基本操作,就从create开始了。这里从create namespace deployment pod service作一个简单的应用列举

client-go gin的简单整合六-list-watch二(关于Rs与Pod以及Deployment的完善)

2022-06-10
阅读 17 分钟
678
背景:前面完成了client-go gin的简单整合五-list-watch deployment应用,进一步把 Rs Pod也实现list-watch!前面少写的:/src/core/deployment_init.go {代码...} 忘记了Store数据....depmap.data.Store(dep.Namespace, list)!client-go gin的简单整合六-list-watch二(关于Rs与Pod)关于Rs list-watch/src/core/rs_init...

client-go gin的简单整合三(list列表相关再进阶关于Pods)

2022-05-12
阅读 7 分钟
1.3k
紧接client-go gin的简单整合二(list列表相关进一步操作),namespace deployment service 都list列表展现了,总觉得还少点什么?比如显示集群中所有运行的pod列表?根据namespace显示pod列表?按照deployment名称查询所包含的pod?总而言之这一部分就围绕着pod列表的展现展开了!

client-go gin的简单整合二(list列表相关进一步操作)

2022-05-06
阅读 8 分钟
910
上一步完成了client-go gin的简单整合一(list列表相关操作),实现了简单的namespace deployment service的name的输出!现在我想输出更多的内容,也当时深入一下kubernetes这些基础!