Kubernetes kubectl --raw 使用指南

什么是 kubectl –raw? kubectl --raw 是一个强大的底层工具,允许你直接访问 Kubernetes API Server 的 REST API,绕过 kubectl 的客户端逻辑、准入控制器(Admission Controllers)和 Webhook。 ...

November 10, 2025 | 4 分钟 | 1982 字 | Tianlun Song

k3s k8s 快速部署轻量节点监控方案 beszel

在逛 Reddit 时看到 这篇帖子 发现 beszel 这个熟悉又陌生的名字。看了一下官网发现还支持 kubernetes 的部署,直接使用 daemonset 就可以在所有节点自动部署 agent ,虽然还需要手动在 hub 添加,但已经很方便,用了一下不错。 ...

May 8, 2025 | 1 分钟 | 488 字 | Tianlun Song

k3s-k8s 实现 DevOps 方案横向对比

目前在用 Keel,感觉良好。 主流方案对比 以下是几种可以在 K3s 中实现轻量级 DevOps 解决方案对比: 方案 资源占用 易用性 Web UI 集成能力 配置复杂度 特点 ArgoCD 中等 ★★★★☆ 优秀 原生支持 Git/镜像更新 中等 GitOps 专注,声明式部署 FluxCD 低 ★★★☆☆ 基础(最新版改进) 原生支持 Git/镜像更新 中等 GitOps 专注,自动化程度高 Drone 低 ★★★★☆ 优秀 需配置触发器 低 轻量级,无需 CRD Jenkins X 高 ★★☆☆☆ 良好 丰富 高 功能全面但较重 Tekton 中等 ★★★☆☆ 需安装Dashboard 高度可定制 中高 云原生管道 Keel 极低 ★★★★★ 简单 专注镜像更新 极低 超轻量,专注自动部署 方案详细分析 1. ArgoCD 优势: ...

May 7, 2025 | 2 分钟 | 977 字 | Tianlun Song

k8s 配置访问私有镜像仓库

harbor 私有仓库、aliyun acr 等同理。 创建凭据 以创建 docker-registry-creds 为例,按需调整名称 kubectl create secret docker-registry docker-registry-creds --docker-server="<私有仓库域名>" --docker-email=test@test.com --docker-username='******' --docker-password='******' # 参数解释 # --docker-server 是私有docker仓库全限定域名(FQDN) # --docker-username 是机器人账户的username,需要用单引号引起来。 # --docker-password 是机器人账户生成的token,需要用单引号引起来。 # --docker-email 是docker邮箱(非必须)。 # 这样就成功地将集群中的docker凭据设置为名为docker-registry-creds的secret。 使用凭据 apiVersion: v1 kind: Pod metadata: name: nginx labels: app: nginx spec: containers: - name: nginx image: <私有仓库域名>/kubernetes/nginx:latest ports: - containerPort: 80 imagePullSecrets: - name: docker-registry-creds References Kubernetes配置Secret访问Harbor私有镜像仓库

May 7, 2025 | 1 分钟 | 336 字 | Tianlun Song

k8s csi-driver-nfs的一个坑

TL;DR 发现 k8s csi 组的社区项目 csi-driver-nfs v4.10 到 v4.11 至少这两个版本存在删除 pv 时会连带将整个根删除的问题。 声明 StorageClass 时虽然支持 subDir ,类似这样: apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: nfs-aliyun-gz provisioner: nfs.csi.k8s.io parameters: share: "/csi" server: "28364f4a1fa-eok75.cn-guangzhou.nas.aliyuncs.com" #server: "172.26.12.20" #subDir: "${pvc.metadata.namespace}/${pvc.metadata.name}" reclaimPolicy: Delete #volumeBindingMode: WaitForFirstConsumer volumeBindingMode: Immediate allowVolumeExpansion: true mountOptions: # - nolock,tcp,noresvport - vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport 但如果类似这样使用 subDir 声明路径,同命名空间下的其他 pvc 删除,会导致整个 subDir 根目录都被删除。目前官方 pr 已经修复,但实测还是有问题,有空再研究一下代码,不知道是不是刻意为之。 ...

March 31, 2025 | 1 分钟 | 334 字 | Tianlun Song

k3s 容器 mirror 配置方法

TL; DR root@tencent-sh1:~# cat /etc/rancher/k3s/registries.yaml mirrors: "docker.io": endpoint: - "https://harbor.xxx.me" rewrite: "^(.*)": "mirror-dockerhub/$1" "registry.k8s.io": endpoint: - "https://harbor.xxx.me" rewrite: "^(.*)": "mirror-registry-k8s-io/$1" "ghcr.io": endpoint: - "https://harbor.xxx.me" rewrite: "^(.*)": "mirror-registry-ghcr-io/$1" "quay.io": endpoint: - "https://harbor.xxx.me" rewrite: "^(.*)": "mirror-registry-quay-io/$1" 以上是我的配置,在 harbor 中镜像以上镜像源,之后这样 配置即可。 如果没有路径,比如使用 registry 镜像,忽略 rewrite 部分即可。 ...

March 31, 2025 | 1 分钟 | 98 字 | Tianlun Song

wordpress 使用 k8s 部署并使用 nginx ingress 代理无限 302 到 ssl 问题解决

发现容器化之后,wp 网站打开一直尝试 302 到 https 的页面,即使我当前已经是 https 了,经过排查是由于代理提供了 ssl 但 wordpress 不知道,默认会再重定向一次,出现无限 302 。 ...

March 31, 2025 | 1 分钟 | 148 字 | Tianlun Song