K8S--搭建私有镜像仓库

安装docker:yum -y install yum-utils device-mapper-persistent-data lvm2

配置一个稳定的仓库,仓库配置会保存到/etc/yum.repos.d/docker-ce.repo文件中

更新yum安装的相关Docker软件包&安装docker:yum update -y && yum install docker-ce

查看docker版本:docker -v

安装docker-compose到 /usr/local/bin目录(在该目录下不需要配置环境变量):curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

赋权:chmod 755 /usr/local/bin/docker-compose

查看docker-compose版本:docker-compose -v

启动docker并设置开机启动:systemctl enable docker && systemctl start docker 

追加私有仓库域名到各个服务器:echo "192.168.124.22 hub.menglong.com" >> /etc/hosts

验证追加成功:cat /etc/host

将集群的各个node节点的映射也配置到各个服务器(K8S集群+镜像仓库)的hosts中,加载hostname:hostnamectl set-hostname hub.menglong.com,验证:hostname

在windows上也做个设置

下载harbor:wget https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v1.2.0.tgz

移动到/usr/local/src/下

解压:tar -zxvf harbor-offline-installer-v1.2.0.tgz

修改配置文件: vi harbor/harbor.cfg

修改以下内容

# 可以是IP或着域名,但是不能使用127.0.0.1和localhost
hostname = hub.menglong.com
# 协议用https
ui_url_protocol = https

根据harbor.cfg中配置的证书存放目录(ssl_cert配置的目录):mkdir -p /data/cert/

进入存放证书目录,开始创建证书(伪证书):

#首先生成证书私钥(这里会让输入key,直接输入即可,我输入的是menglong)
openssl genrsa -des3 -out server.key 2048
#证书的服务
openssl req -new -key server.key -out server.csr
#备份私钥
cp server.key server.key.org
#转换为证书
openssl rsa -in server.key.org -out server.key
#给证书签名
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

给所有的证书授权:chmod 755 *

给K8S集群的每个节点配置镜像仓库地址(vi /etc/docker/daemon.json):"insecure-registries": ["https://hub.menglong.com"]

重启docker:systemctl daemon-reload && systemctl restart docker

在K8S中登录镜像仓库:docker login https://hub.menglong.com

打镜像:docker tag lcl-galaxy-k8s:v2.0 hub.menglong.com/lcl-galaxy/lcl-galaxy-k8s:1.0

推送镜像:docker push hub.menglong.com/lcl-galaxy/lcl-galaxy-k8s:1.0

删除本地镜像(强制删除):docker rmi -f c2d136b74fdd

验证拉取是否成功:docker pull hub.menglong.com/lcl-galaxy

从私服中拉取镜像运行一个pod:kubectl run lcl-galaxy-k8s --image=hub.menglong.com/lcl-galaxy/lcl-galaxy-k8s:1.0 --port=8080

获取pod详细信息:kubectl get pod -o wide

访问pod:curl 10.244.2.26:8080/k8s/test1

 

------------------------------------------------------------------
-----------------------------------------------------------
---------------------------------------------
朦胧的夜 留笔~~
原文地址:https://www.cnblogs.com/liconglong/p/15092402.html