Location via proxy:   
[Report a bug]   [Manage cookies]                
通过 cert-manager 为 K3s 集群集成阿里云 DNS 并自动签发 Let's Encrypt 证书
2025-04-14 08:57

Note

这篇文章多年前是与 自己搭建一个k8s环境从部署 httpd 入手,理清 k8s 配置中的 containerPort、port、nodePort、targetPort 一起规划的 #Kubernetes 系列文章之一,但因为太懒没有写完。(当时规划了大长篇,结果只发了两篇 😅)
时隔三年,我已经把博客迁移到 #K3s 后,发现仍然是这套东西,所以还是有记录一下的必要的。

对于现代站点,通常会选择使用 HTTPS 来保护数据的传输,我的博客就使用 Let's Encrypt 颁发的免费证书。在还没有用 Kubernetes/K3s 之前,我使用 acme.sh 来完成 Let's Encrypt 颁发证书所需的一系列验证、获取证书并安装到 Nginx 中,以及证书即将到期时的续订。

而在 Kubernetes 集群中,我们可以通过 cert-manager 来做到同样的事情。

本文结合安装在 #Debian 里的 K3s,实践:

  • 安装 cert-manager
  • cert-manager 使用 #阿里云 域名获取证书
  • 配置域名流量经过 #traefik 并使用证书
阅读全文
K3s 中 Traefik 获取真实 IP 避坑指南
2025-04-01 15:54

大家知道,我有一个用于查看 IPv4 和 IPv6 地址的站点 https://ip.bun.plus

最近切换成 #K3s 后,发现获取到的 X-Forwarded-ForX-Real-Ip 都是集群内网的地址。在网上搜索后发现有很多人在问。

首先按 #traefik 文档 Forwarded Headers,配置 trafik 始终转发 Forwarded 头。编辑或新建 /var/lib/rancher/k3s/server/manifests/traefik-config.yaml 文件:

apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
  name: traefik
  namespace: kube-system
spec:
  valuesContent: |-
    additionalArguments:
      - "--entryPoints.web.forwardedHeaders.insecure"

加入 --entryPoints.web.forwardedHeaders.insecure 后,等待 traefik 应用配置,也试了重启 k3s、重启宿主机,都没有效果。

然后经过了各种尝试(详见后文“大无语事件”部分)。

最后在 @Kevin 的帮助下,才发现应该为 traefik 设置 externalTrafficPolicy: Local。仍然编辑 /var/lib/rancher/k3s/server/manifests/traefik-config.yaml 文件:

apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
  name: traefik
  namespace: kube-system
spec:
  valuesContent: |-
    additionalArguments:
      - "--entryPoints.web.forwardedHeaders.insecure"
    # 追加下面的内容
    service:
      spec:
        externalTrafficPolicy: Local

k8s文档介绍了 externalTrafficPolicy: Local 的用途和弊端。

阅读全文
全新安装 K3s 并配置 IPv4 IPv6 双栈
2025-03-28 10:53

前些时候,腾讯云终于放开了 IPv6 给轻量应用服务器,这就马上部署上!不过 #K3s 想要支持 #IPv6 ,必须在首次安装时就指定:

Dual-stack networking must be configured when the cluster is first created. It cannot be enabled on an existing cluster once it has been started as IPv4-only.

果断把系统重置了,从头来安装一次 k3s 吧,然后让 k3s 同时支持 IPv4 和 IPv6(双栈)。

阅读全文
从部署 httpd 入手,理清 k8s 配置中的 containerPort、port、nodePort、targetPort
2022-04-04 16:16

注:文中各种内网、公网 IP 仅为示例,不保证所有 IP 都可以访问,且你的环境中 IP 可能不同。

背景

在上一篇文章 自己搭建一个k8s环境 中,我们一顿操作猛如虎,搭建出了由 1 个 master 和 1 个 worker 节点组成的 k8s 集群,大概是这样的效果:

阅读全文
自己搭建一个k8s环境
2022-03-27 17:06

背景

Kubernetes 是时下流行的容器编排引擎,因为字母太多,且掐头去尾后剩下 8 个字母,于是被大家亲切的缩写为 k8s。

另外所谓“云原生”概念火爆,各大云厂商也纷纷推出了自己的容器服务,例如阿里云的ACK、腾讯云的TKE、微软云的AKS等,无不是基于 Kubernetes 。

由于我个人博客搭建在腾讯云上,大概是去年(2021年)11、12 月的时候萌生的“要不把博客搬到 k8s 上?”的想法。云厂商提供的容器服务一般都支持从原有云服务器转换为 Kubernetes 的 worker 节点;不过当然也有一些限制,例如腾讯云价格相对低廉的轻量应用服务器则不支持转换。不过正巧我的博客使用的是云服务器,那就试试腾讯云的 TKE 吧。

阅读全文
Load more
April 2025
Su
Mo
Tu
We
Th
Fr
Sa
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
快速入门ASP.NET.NET CoreIPv6K3sKubernetesNuxt.jsRazor PagesVue前端开发服务器端开发树莓派软件推荐配置DebianDockerJavaScriptLinuxNginxPrometheus 查看全部
An unhandled error has occurred. Reload 🗙