cert-manager本身支持的dns解析商数量有限
由于cert-manager官方支持的dns解析商数量有限,其余的dns解析商,就需要使用acme-dns的方式来实现证书签发了(例如腾讯云、dnspod、alidns等)
接下来我记录下该方式的折腾记录。
前提依赖
- cert-manager已安装,这里就不说cert-manager的安装方式了,安装方式挺多的。
- 具有一个或者多个域名权限。要求一级域名的权限。
由于cert-manager官方支持的dns解析商数量有限,其余的dns解析商,就需要使用acme-dns的方式来实现证书签发了(例如腾讯云、dnspod、alidns等)
接下来我记录下该方式的折腾记录。
由于 k8s 1.24之后的版本不再支持docker,因此需要对其进行迁移。这里记录下迁移的一些步骤:
kubectl edit no <node-name>
这一命令会打开一个文本编辑器,供你在其中编辑 Node 对象。 要选择不同的文本编辑器,你可以设置 KUBE_EDITOR 环境变量。
注意新的 CRI 套接字路径必须带有 unix:// 前缀。
保存文本编辑器中所作的修改,这会更新 Node 对象。
systemctl stop kubelet
systemctl disable docker.service --now
systemctl disable docker.socket --now
# k8s 版本 1.15-1.18
sudo kubeadm alpha certs check-expiration
# k8s >=1.23
sudo kubeadm certs check-expiration
可以看到,证书已经过期了。会造成集群挂掉。
会有相关报错:
– failed to verify client's certificate: x509: certificate has expired or is not yet valid
– Unable to connect to the server: x509: certificate has expired or is not yet valid
– 6443 端口没有监听 等情况
# k8s 版本 1.15-1.18
sudo kubeadm alpha certs renew all
# k8s >=1.23
sudo kubeadm certs renew all
更新后,再查看证书的日期。就会发现已经刷新了一年。
cp /etc/kubernetes/admin.conf ~/.kube/config
sudo systemctl restart kubelet
这样的话, kubectl 命令就又恢复了。
journalctl -xefu kubelet
环境说明:
+ ubuntu 22.04
+ k8s 1.23.9
wget https://repo.radeon.com/amdgpu-install/22.20.3/ubuntu/jammy/amdgpu-install_22.20.50203-1_all.deb
sudo apt install ./amdgpu-install_22.20.50203-1_all.deb
sudo apt-get update
sudo amdgpu-install --usecase=dkms
# 安装完成后,必须重启一下
sudo reboot
ps: 需要开启 vt-d 功能,否则启动不了。
git clone https://github.com/intel/intel-device-plugins-for-kubernetes -b release-0.23