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

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM