搭建harbor私有镜像仓库(一)
背景: 最近接收到新任务 需要在公司内部部署一个harbor仓库 我这里介绍的是在k8s里部署harbor 之所以没有选择使用docker-compose来部署是想统一管理 如果内部既有docker环境又有k8s环境 对于维护者来说很复杂 不利于维护 工作量也大大加重 所以选择了在k8s里部署harbor 这篇文章只适用学习范围 因为我这里使用的是内网穿透(因为没有云主机,只好模拟暴露在公网上即CNAME方式) 来完成的证书验证 在本篇文章中你将学到如何为你的应用服务自动创建可受信任的https证书以及如何搭建harbor
环境准备:我这里是在kubeadm搭建的v1.16.7版本下进行的
kubeadm安装略
步骤一
安装helm包管理工具,我这里使用v3.1.1
wget https://get.helm.sh/helm-v3.1.1-linux-amd64.tar.gz
tar xf helm-v3.1.1-linux-amd64.tar.gz
cp linux-amd64/helm /usr/local/bin/
helm version
步骤二
配置可信任的证书,我这里使用helm部署
# 部署前需要一些 crd
kubectl apply --validate=false -f https://raw.githubusercontent.com/jetstack/cert-manager/v0.13.1/deploy/manifests/00-crds.yaml
# 为cert-manager创建名称空间
kubectl create namespace cert-manager
# 添加Jetstack Helm存储库
helm repo add jetstack https://charts.jetstack.io
# 更新本地Helm存储库缓存
helm repo update
# 安装cert-manager
helm install \
cert-manager jetstack/cert-manager \
--namespace cert-manager \
--version v0.13.1
# 验证安装
你可以通过检查cert-manager运行Pod的名称空间来验证它是否已正确部署:
[root@master harbor]# kubectl get pods --namespace cert-manager
NAME READY STATUS RESTARTS AGE
cert-manager-7cb745cb4f-87hnv 1/1 Running 0 17h
cert-manager-cainjector-778cc6bd68-2bvvp 1/1 Running 0 17h
cert-manager-webhook-69894d5869-j88fg 1/1 Running 0 17h
[root@master harbor]#
网友评论