部署Harbor
GitHub - goharbor/harbor-helm: The helm chart to deploy Harbor
helm方式安装
helm repo add harbor https://helm.goharbor.io
helm repo update
下载安装包并修改
helm fetch harbor/harbor
tar -zxf ~/harbor-*.tgz
vi harbor/values.yaml
配置信息替换,k8s暴露类型NodePort
expose.type:nodePort
expose.tls.enabled:false
externalURL: http://192.168.3.192:30002 #此端口和配置文件http harbor服务保持一致,否则docker login会报错
expose:
# Set how to expose the service. Set the type as "ingress", "clusterIP", "nodePort" or "loadBalancer"
# and fill the information in the corresponding section
type: nodePort
tls:
enabled: false
# Enable TLS or not.
# Delete the "ssl-redirect" annotations in "expose.ingress.annotations" when TLS is disabled and "expose.type" is "ingress"
# Note: if the "expose.type" is "ingress" and TLS is disabled,
# the port must be included in the command when pulling/pushing images.
# Refer to https://github.com/goharbor/harbor/issues/5291 for details.
#enabled: true
# The source of the tls certificate. Set as "auto", "secret"
# or "none" and fill the information in the corresponding section
# 1) auto: generate the tls certificate automatically
# 2) secret: read the tls certificate from the specified secret.
# The tls certificate can be generated manually or by cert manager
# 3) none: configure no tls certificate for the ingress. If the default
# tls certificate is configured in the ingress controller, choose this option
certSource: auto
auto:
externalURL: http://192.168.3.192:30002
开始安装
[root@192-168-3-192 harbor]# helm install harbor . -n harbor
NAME: harbor
LAST DEPLOYED: Mon Jul 3 10:49:19 2023
NAMESPACE: harbor
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Please wait for several minutes for Harbor deployment to complete.
Then you should be able to visit the Harbor portal at http://192.168.3.192:30002
For more details, please visit https://github.com/goharbor/harbor
获取默认密码并登录
kubectl get secret -n harbor harbor-core --template={{.data.HARBOR_ADMIN_PASSWORD}} | base64 -d
配置docker
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://c0estsgw.mirror.aliyuncs.com"], "insecure-registries": ["192.168.3.192:30002"]
}
#重启服务
systemctl daemon-reload && systemctl restart docker
仓库登录
[root@192-168-3-192 harbor2]# docker login -u admin http://192.168.3.192:30002 -p ******
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded