Myluzh Blog

K8S 删除命名空间一直卡在Terminating解决方案(移除finalizers,强制删除命名空间)

2025-3-5 myluzh Kubernetes

0x01 前言 Kubernetes 命名空间一直处于 Terminating 状态,无法删除。 通常是由于该命名空间中的资源对象被设置了终结器(finalizers)。终结器是一种机制,用于确保某些操作在对象被删除之前完成。例如,某些控制器可能会设置终结器以确保在删除命名空间之前清理相关资源或执行特定的清理逻辑。如果这些清理任务未完成或者出现了错误,命名空间将一直保持在“Terminating”状态。 0x02 解决方案 方案1:排查并解决阻塞资源问题 命名空间无法删除是因为其中包含了一些特殊的资源(如自定义资源定义CRD、持久卷声明PVC等),这些资源的存在阻止了命名空间的删除过程。检查命名空间下的所有资源:根据输出结果逐一排查是否有异常资源未被正确清理,并采取相应措施(如手动删除资源)。 # 列出指定命名空间中所有类型的资源 kubectl api-resources --verbs=list --namespaced -o name | xargs -n 1 kubectl get --show-kind --ignore-not-found -n <namespace> 方案2:移除命名...

阅读全文>>

标签: k8s kubernetes Namespace ns terminating finalizers

评论(0) (546)

RKE2部署高可用K8S集群

2025-3-4 myluzh Kubernetes

0x01 前言 rke2部署k8s集群,主机是2台master2台worker,系统用的是Ubuntu24.04 LTS,ansible清单如下: 必须以 root 用户或通过 sudo 执行 RKE2 安装。https://docs.rke2.io/zh/install/quickstart # inventory [all:vars] ansible_user=root ansible_password='Testtest01.' ansible_python_interpreter=/usr/bin/python3.12 [k8s_master] k8s-master01 ansible_host=172.17.100.181 k8s-master02 ansible_host=172.17.100.182 k8s-master03 ansible_host=172.17.100.183 [k8s_worker] k8s-worker01 ansible_host=172.17.100.186 k8s-worker02 ansible_host=172.17.100.187 [...

阅读全文>>

标签: kubernetes rancher rke2

评论(0) (653)

GitOps:ArgoCD 部署与使用

2025-3-3 myluzh CI/CD

0x01 前言 Argo CD仓库地址:https://github.com/argoproj/argo-cd/releases 什么是Argo CD?: Argo CD 是一个基于 GitOps 的 Kubernetes 持续交付工具,通过自动化同步 Git 仓库中的配置到 Kubernetes 集群,实现高效、可靠的应用部署和管理。 GitOps 的核心原则: 1、声明式配置:Kubernetes 的部署配置(如 deployment.yaml)以声明式的方式存储在 Git 仓库中。ArgoCD 通过读取这些配置文件来同步 Kubernetes 集群的状态。 2、Git 作为唯一事实来源(Single Source of Truth):所有的 Kubernetes 资源配置都存储在 Git 仓库中,Git 仓库是唯一的事实来源。Jenkins 在构建镜像后,会更新 Git 仓库中的镜像标签,确保 Git 仓库始终反映最新的期望状态。 3、自动化同步:ArgoCD 会持续监控 Git 仓库的变化,并在检测到更新时自动同步 Kubernetes 集群的状态。这种自动化确保了集群状态与 Git 仓库中的声明式...

阅读全文>>

标签: k8s argocd cd gitops

评论(0) (360)

在Nginx和Ingress-Nginx中配置WebSocket(WS/WSS)

2025-2-26 myluzh Kubernetes

0x01 Nginx server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/your/certificate.crt; ssl_certificate_key /path/to/your/private.key; location /ws/ { proxy_pass http://backend_server; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; ...

阅读全文>>

标签: k8s nginx ingress-nginx ws wss

评论(0) (272)

基于 Rocky Linux 9.5 安装 Zabbix 7.2 脚本

2025-2-12 myluzh Zabbix

脚本来自何老师虚拟化技术交流群-无锡-老杨,已在rocky9.0跟9.5版本进行测试 建议逐行贴命令,这样报不报错,遇到什么问题你也知道。 等有空再把这个脚本改成一键安装脚本...其实我现在部署zabbix都偏向于直接docker拉起一套来。 zabbix 7.2 官方教程:https://www.zabbix.com/download?zabbix=7.2&os_distribution=rocky_linux&os_version=9&components=server_frontend_agent&db=mysql&ws=nginx #基于RockyLinux最小安装环境,需要联网状态!!! #修改脚本里的数据库密码root密码Mydb@888,zabbix数据库密码Zbxlp@888 #建议逐行复制并执行命令,不要一次帖太多行,避免报错 #====RockyLinux 9.5最小安装下Zabbix 7.2+MySQL+Nginx一键安装脚本===== # 修改主机名 hostnamectl set-hostname Zbx-Srv && b...

阅读全文>>

标签: zabbix zabbix7.2 zabbix_lts rocky9 rocky9.5

评论(0) (632)

通过elasticdump迁移ElasticSearch数据

2025-2-10 myluzh NOTES

0x01 前言 有一台日志es,需要把旧的es数据迁移到新的es上。 在迁移Elasticsearch (ES) 数据时,使用 elasticdump 是一个常见的方法。elasticdump 是一个开源工具,用于将 Elasticsearch 集群中的数据导出和导入。 0x02 部署elasticdump 1、由于我这边是k8s集群,直接跑一个pod起来即可。镜像是node:14,自带npm。方便安装elasticdump。 apiVersion: apps/v1 kind: Deployment metadata: name: es-migration namespace: default spec: replicas: 1 selector: matchLabels: app: es-migration template: metadata: labels: app: es-migration spec: containers: - name: es-migration image: 1...

阅读全文>>

标签: elastic es elasticdump

评论(0) (439)