温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何将私有仓库安装到 K8S集群中

发布时间:2021-12-16 09:16:08 来源:亿速云 阅读:108 作者:柒染 栏目:云计算

这期内容当中小编将会给大家带来有关如何将私有仓库安装到 K8S集群中,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

前言

私有仓库用于企业内部私有 Docker 镜像的存储。

可以将私有仓库安装到 K8S 集群中。

Harbor 镜像仓库是由 VMware 开源的一款企业级镜像仓库系统。

自定义证书

openssl genrsa -out ca.key 4096
openssl req -x509 -new -nodes -sha512 -days 3650 -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=zuolinux.com" -key ca.key -out ca.crt

openssl genrsa -out harbor.zuolinux.com.key 4096
openssl req -sha512 -new -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=zuolinux.com"  -key harbor.zuolinux.com.key -out harbor.zuolinux.com.csr
cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names]
DNS.1=harbor.zuolinux.com
DNS.2=*.harbor.zuolinux.com
DNS.3=hostname
EOF
openssl x509 -req -sha512 -days 3650 \
    -extfile v3.ext \
    -CA ca.crt -CAkey ca.key -CAcreateserial \
    -in harbor.zuolinux.com.csr \
    -out harbor.zuolinux.com.crt
openssl x509 -inform PEM -in harbor.zuolinux.com.crt -out harbor.zuolinux.com.cert

安装 harbor

helm install nginx-ingress --set "rbac.create=true,controller.service.externalIPs[0]=192.168.10.15" apphub/nginx-ingress
kubectl create ns harbor

kubectl create secret tls harbor.zuolinux.com --key harbor.zuolinux.com.key --cert harbor.zuolinux.com.crt -n harbor

helm repo add harbor https://helm.goharbor.io
helm repo update

helm install harbor --namespace harbor harbor/harbor \
  --set expose.ingress.hosts.core=core.harbor.zuolinux.com \
  --set expose.ingress.hosts.notary=notary.harbor.zuolinux.com \
  --set expose.tls.secretName=harbor.zuolinux.com \
  --set persistence.enabled=false \
  --set externalURL=https://core.harbor.zuolinux.com \
  --set harborAdminPassword=密码

查看安装情况和服务地址

# helm status harbor
# kubectl get pod
# kubectl get pv
# kubectl get pvc
# kubectl get service

访问 harbor

本地配置 HOSTS

192.168.10.15   core.harbor.zuolinux.com

浏览器访问 https://core.harbor.zuolinux.com

Docker 镜像仓库管理

拷贝证书至 Docker 的证书配置目录

mkdir -p /etc/docker/certs.d/core.harbor.zuolinux.com/
cp harbor.zuolinux.com.cert /etc/docker/certs.d/core.harbor.zuolinux.com/
cp harbor.zuolinux.com.key /etc/docker/certs.d/core.harbor.zuolinux.com/
cp ca.crt /etc/docker/certs.d/core.harbor.zuolinux.com/

推送镜像

docker tag nginx core.harbor.zuolinux.com/library/nginx:latest
docker push core.harbor.zuolinux.com/library/nginx:latest

浏览器登录 harbor 可以看到已经有镜像了

下载镜像

docker rmi core.harbor.zuolinux.com/library/nginx:latest
docker pull core.harbor.zuolinux.com/library/nginx:latest

Helm Chart 仓库管理

Helm Push 插件

helm plugin install https://github.com/chartmuseum/helm-push

创建 Repo

WEB 页面中创建项目 myrepo

添加仓库到本地,注意 chartrepo 是关键字,要保留不能修改

helm repo add myrepo https://core.harbor.zuolinux.com/chartrepo/myrepo --ca-file /root/harbor/ca.crt --username=admin --password=密码

本地创建一个测试 Chart

helm create testapp

推送到仓库

helm push --ca-file /root/harbor/ca.crt --username=admin --password=密码 testapp myrepo

在 WEB 页面上 chartrepo 项目下的 Helm Chats 中可以看到推送上来的 Chart 包

Harbor 使个人和企业拥有了自主创建和管理私有仓库的能力。

上述就是小编为大家分享的如何将私有仓库安装到 K8S集群中了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

k8s
AI