vmware的harbor映象庫整合了docker的registry功能外,提供了豐富的介面和同步映象庫的功能,為專案中儲存和管理映象提供了良好的基礎環境。
registry的映象資料使用檔案系統儲存,即使伺服器磁碟已做raid,也需在架構上保證在物理機和虛擬機器出問題時能快速恢復。因此利用k8s掛載儲存是較好的方法。這裡我們選擇glusterfs做共享儲存。
mkdir -p /sharedata/glusterdata/harbordata
gluster volume create harbordata replica 2 \
172.18.63.22
:/sharedata/glusterdata/harbordata/ \
172.18.63.24
:/sharedata/glusterdata/harbordata/ force
gluster volume info
mkdir -p /mnt/harbordata這裡使用rancher2.0的rke安裝乙個k8s集群並配置好kubectl。mount -t glusterfs 172.18.63.22:harbordata /mnt/harbordata
gluster volume start harbordata
gluster volume status
apiversion: v1
kind: endpoints
metadata:
name: ep-glusterfs-harbor-r2
namespace: ci-cd
subsets:
-addresses:
-ip:
172.18.63.24
ports:
-port:
49152
protocol: tcp
---apiversion: v1
kind: service
metadata:
name: ep-glusterfs-harbor-r2
namespace: ci-cd
spec:
ports:
-port:
49152
protocol: tcp
targetport: 49152
sessionaffinity: none
type: clusterip
spec:
capacity:
storage: 10gi
accessmodes:
- readwritemany
persistentvolumereclaimpolicy: retain
glusterfs:
endpoints: "ep-glusterfs-harbor-r2"
path: "harbordata"
readonly: false
volumemounts:
- name: mysql-storage
mountpath: /var/lib/mysql
subpath: "storage"
volumes:
- name: mysql-storage
persistentvolumeclaim:
claimname: storage-pvc
volumemounts:
-name: storage
mountpath: /etc/registry
subpath: "config"
-name: storage
mountpath: /storage
subpath: "registry"
volumes:
-name: storage
persistentvolumeclaim:
claimname: registry-pvc
python make/kubernetes/k8s-prepare
metadata:
annotations:
nginx.ingress
.kubernetes
.io/proxy-body-size: 1024m
nginx.ingress
.kubernetes
.io/upstream-hash-by: "$remote_addr"
ingress.kubernetes
.io/ssl-redirect: "false"
name: harbor
namespace: ci-cd
如果要讓命令列docker命令能訪問,還需要暴露registry的5000埠
spec:
backend:
servicename: registry
serviceport: 5000
# create pv & pvc
.yaml
.yaml
.yaml
.yaml
.yaml
.yaml
> # create config map
.yaml
.yaml
.yaml
.yaml
.yaml
# create service
.yaml
.yaml
.yaml
.yaml
.yaml
# create k8s deployment
.yaml
.yaml
.yaml
.yaml
.yaml
# create k8s ingress
用配置好的網域名稱訪問harbor。這裡沒有配置ssl,所以需要為機器新增insecure-registry(在/etc/docker/daemon.json
中新增,然後重啟daemon和docker)
用docker login
、docker push ***
、docker pull ***
等命令測試是否工作正常。
嘗試使用1.5.1的映象替換1.2的映象,發現需要調整配置,後續再慢慢調。
按照官方文件已不建議使用yaml,而是用helm進行安裝。後續嘗試用helm安裝。
[1]
[2]
[3]
[4]
[5]
[6]
K8s部署prometheus監控K8s細節
prometheus 一些配置檔案可以再github上找到。部署 root kube prometheus manifests 目錄下所有檔案 部署 root kube prometheus manifests setup 目錄下所有檔案 要注意的是自己要建立乙個工作空間 如果報錯執行下面語句 部署...
k8s集群部署 docker部署k8s安裝篇
1 安裝docker 緊接著配置乙個穩定 stable 的倉庫 倉庫配置會儲存到 etc yum.repos.d docker ce.repo檔案中 yum config manager add repo 更新yum安裝的相關docke軟體包 安裝docker ce yum update y yum...
三 K8s安裝 Harbor搭建
硬體資源 最低配置 推薦配置 處理器2 4cpu48 硬體40 160軟體 版本描述 docker engine v17.06.1 ce 或更高版本 有關安裝說明,請參閱 docker engine文件。docker compose v1.18.0 或更高版本 有關安裝說明,請參閱 docker c...