惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

腾讯CDC
博客园 - Franky
MyScale Blog
MyScale Blog
L
LangChain Blog
Martin Fowler
Martin Fowler
Recent Announcements
Recent Announcements
Stack Overflow Blog
Stack Overflow Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 司徒正美
量子位
A
About on SuperTechFans
C
Check Point Blog
大猫的无限游戏
大猫的无限游戏
Last Week in AI
Last Week in AI
小众软件
小众软件
Apple Machine Learning Research
Apple Machine Learning Research
I
InfoQ
V
Visual Studio Blog
Vercel News
Vercel News
B
Blog
爱范儿
爱范儿
aimingoo的专栏
aimingoo的专栏
U
Unit 42

博客园 - cn2025

K8s -sentinel-dashboard【nacos版本】集 20260815 kubeSphere【ks-controller-manager-webhook-cert】证书 20260814 K8s -nacos集 20260813 K8s - 安装部署redis集群-哨兵sentinels集(支持从K8s外部访问)20260812 k8s-deployment发布测试(pv-pvc-deployment-service) 20260810 K8s - 安装部署Kafka、Zookeeper集群教程(支持从K8s外部访问)20260808 k8s-关机及启动脚本工具 【kubeSphere发布ruoyi-pro前端】工具脚本20260731 【k8s】 etcd服务端及客户端版本及快照【定时】备份 20260730 kube-flannel.yml k8s集群-安装helm 【kubeShpere】 官网 20260710 kubesphere-KDP 工具脚本【kubeSphere发布ruoyi-pro前端】20260720 HbuilderX 内置终端转为 gitBash 20260720 kubeSphere发布ruoyi-pro后端-用到脚本 kubeSphere发布ruoyi-web前端 20260711 kubeSphere发布ruoyi-pro后端 k8s集群-kubeShpere 20260710 安装Helm 20260710 k8s-portainer docker 镜像查询 k8集群一键重置 docker run OceanBase spring ai alibaba doc AI2.0 【多模态】 20260615 世界只有一个墨脱 AI2.0 【Mcp-client】 20260611 AI2.0 【Mcp-server】 20260611 GoLand 配Go SDK AI2.0 【redis向量-Rag】 问答顾问器QuestionAnswerAdvisor 20260608
harbor【https启用】及k8节点部证书20260728
2026cn · 2026-07-28 · via 博客园 - cn2025
192.168.91.164私服harbor

1、Harbor 服务器生成自签 业务证书

mkdir -p /root/harbor/cert
cd /root/harbor/cert
openssl req -x509 -nodes -days 3650 -newkey rsa:4096 \
-keyout server.key -out server.crt \
-subj "/CN=192.168.91.164"

image

image

验证证书输出 CA:TRUE

openssl x509 -in server.crt -text -noout | grep -A2 "Basic Constraints"

image

显示

Basic Constraints:
CA:TRUE   

#显示TRUE 为根证书 ca.crt,拥有签发子证书权限,ca私钥 ca.key 如果对外开放环境,风险极高

显示

Basic Constraints:
CA:FALSE

#业务证书,不能签发其他证书,只能给服务(Harbor、nginx)使用,比如服务端(Harbor):部署 server.crt + server.key

2、harbor.yml,打开 https 配置

hostname: 192.168.91.164
http:
port: 80
https:
port: 443

#业务证书
certificate: /root/harbor/cert/server.crt   
private_key: /root/harbor/cert/server.key

image

image

image

3、重新生成配置并重启

cd /root/harbor
./prepare
docker compose down
docker compose up -d

image

4、重新生成带 SAN 的证书(标准根治方案,推荐)

登录 harbor 主机 192.168.91.164,执行整套命令

cd /root/harbor/cert
# 创建openssl配置文件,写入SAN
cat > openssl-san.cnf <<EOF
[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_ext
prompt = no

[req_distinguished_name]
CN = 192.168.91.164

[v3_ext]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names

[alt_names]
IP.1 = 192.168.91.164
EOF

# 生成证书
openssl req -x509 -nodes -days 3650 -newkey rsa:4096 \
-keyout server.key -out server.crt \
-config openssl-san.cnf

image

5、更新 harbor 证书并重启 harbor

cd /root/harbor
./prepare
docker compose down
docker compose up -d

image

6、所有 k8s 节点部署证书

# 在master-166/node2-167/node3-168节点主机分别执行
mkdir -p /etc/docker/certs.d/192.168.91.164
scp root@192.168.91.164:/root/harbor/cert/server.crt /etc/docker/certs.d/192.168.91.164/
systemctl daemon-reload
systemctl restart docker

image

7、所有 k8s 节点禁用私有仓库使用 HTTP 方式

#修改所有节点 docker daemo
vi /etc/docker/daemon.json
#{ "insecure-registries":["192.168.91.164"] } 配置删除掉

#重启 docker
systemctl daemon-reload
systemctl restart docker

image