申请免费证书时需要验证域名,一般有两种验证方式:
- DNS 验证
- 文件验证
一般使用 DNS 验证的方式,配置起来比较方便而且时效快。不过由于新网修改 DNS 解析时需要手机验证码,而手机号又不在我这,每次要验证码都比较麻烦,所以今天尝试了下使用文件的方式验证。
由于域名所在的服务是部署在 K8s 上的,所以需要部署一个专门用于访问校验文件的 Nginx 服务。
申请免费证书时需要验证域名,一般有两种验证方式:
一般使用 DNS 验证的方式,配置起来比较方便而且时效快。不过由于新网修改 DNS 解析时需要手机验证码,而手机号又不在我这,每次要验证码都比较麻烦,所以今天尝试了下使用文件的方式验证。
由于域名所在的服务是部署在 K8s 上的,所以需要部署一个专门用于访问校验文件的 Nginx 服务。
今天在调整一个挂载了字体文件存储卷(对象存储)的 Deployment 的 Pod 数量时报了如下错误导致服务无法启动。
MountVolume.SetUp failed for volume "pv-jiajia-font" : rpc
error : code = Internal desc = mount
failed : failed to send mount command to launcher : the response of launcher(action: cosfs) is :
{
"errmsg":"exec command(
cosfs bucket-jiajia-1234567890:/fonts
/var/lib/kubelet/pods/4142efc8-8923-47d1-aba1-5b3d26b1ff10/volumes/kubernetes.io~csi/pv-jiajia-font/mount
-ourl=http://cos.ap-guangzhou.myqcloud.com
-odbglevel=err
-opasswd_file=/tmp/bucket-jiajia-1234567890_121a6f50fe6f8d3434002a73407ae729f53682fdec4fb0aa442af31a3ee17abe
-oensure_diskfree=20480
-oallow_other
) failed.
command cosfs bucket-jiajia-1234567890:/fonts
/var/lib/kubelet/pods/4142efc8-8923-47d1-aba1-5b3d26b1ff10/volumes/kubernetes.io~csi/pv-jiajia-font/mount
-ourl=http://cos.ap-guangzhou.myqcloud.com
-odbglevel=err
-opasswd_file=/tmp/bucket-jiajia-1234567890_121a6f50fe6f8d3434002a73407ae729f53682fdec4fb0aa442af31a3ee17abe
-oensure_diskfree=20480
-oallow_other
failed: output
cosfs: There is no enough disk space for used as cache(or temporary) directory by s3fs.\n,
error: exit status 1",
"result":"failure"
}
k8s 滚动升级时报了 exited with 137 错误:
Exec lifecycle hook ([sleep 40s]) for Container "xxx" in Pod "xxx_xxx(xxx)" failed - error: command 'sleep 40s' exited with 137: , message: ""
本来挂载的卷是配置到 data 目录的:
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: data
这两天连续发生了几次磁盘占用空间过多的预警,今天调查了一天,发现有两个原因导致了这个问题。
其中一个节点上 /var/lib/docker/overlay2 目录占用了绝大多数的磁盘空间。 overlay2 是 docker 的存储系统。
参考 这篇文章 上的命令,清理了磁盘。