1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
docker run -d \
--name registry \
--restart always \
-p 5000:5000 \
-v "${STORAGE_DATA_DIR}/registry":/var/lib/registry \
registry:2.8.2

docker run -d \
--name registry-ui \
--restart always \
-p 5001:80 \
-e SINGLE_REGISTRY=true \
-e SHOW_CONTENT_DIGEST=true \
-e NGINX_PROXY_PASS_URL="http://${REGISTER_IP_ADDR}:5000" \
joxit/docker-registry-ui:2.5.0

新增 /etc/rancher/k3s/registries.yaml 文件,并添加以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
mirrors:
"hub.docker.local:5000":
endpoint:
- "http://hub.docker.local:5000"
"docker.io":
endpoint:
- "http://hub.docker.local:5000"
"k8s.gcr.io":
endpoint:
- "http://hub.docker.local:5000"
"quay.io":
endpoint:
- "http://hub.docker.local:5000"

k3s 的配置支持镜像地址重写,如果拉去镜像 quay.io/prometheus/prometheus:v2.27.1 可以重写到 hub.docker.local:5000/prometheus/prometheus:v2.27.1

而本地只需要拉去相关镜像然后 docker tag xxx hub.docker.local:5000/xxx 即可。

k3s 默认的根证书签发 十年,客户端证书签发 一年。

经常需要重新签发客户端证书,可以通过修改 k3s 的环境变量来延长客户端证书的有效期。

新增 /etc/default/k3s 文件,并添加以下内容:

1
CATTLE_NEW_SIGNED_CERT_EXPIRATION_DAYS="3650"

该变量在 k3s server 重新签发证书时有效,或者在安装之前设置。

1
2
3
cd /usr/share/javascript/proxmox-widget-toolkit
cp proxmoxlib.js proxmoxlib.js.bak
vim proxmoxlib.js

No valid subscription 前面的 Ext.Msg.show 替换为 void

1
systemctl reload pveproxy.service

INTEL

  1. 修改 /etc/default/grub
  • 添加 intel_iommu=on

  • 修改 GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"

  1. 加载 vifo 系统模块
1
vim /etc/modules

添加以下内容

1
2
3
4
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
  1. 更新 grub 并重启
1
2
update-grub
reboot
  1. 重启后运行以下命令,如果有输出基本可确认成功
1
dmesg | grep -e DMAR -e IOMMU

AMD

步骤与 INTEL 类似,把 intel 相关修改为 amd