在 KubeSphere 中部署 Harbor
Harbor 是一個(gè)開(kāi)源倉(cāng)庫(kù),通過(guò)各種策略和基于角色的訪問(wèn)控制來(lái)保護(hù)制品,確保鏡像經(jīng)過(guò)掃描且沒(méi)有漏洞,并對(duì)鏡像簽名使其受信。
本教程演示如何從 KubeSphere 應(yīng)用商店部署 Harbor。
準(zhǔn)備工作
- 請(qǐng)確保已啟用 OpenPitrix 系統(tǒng)。
- 您需要?jiǎng)?chuàng)建一個(gè)企業(yè)空間、一個(gè)項(xiàng)目和一個(gè)用戶帳戶 (project-regular) 供本教程操作使用。該帳戶需要是平臺(tái)普通用戶,并邀請(qǐng)至項(xiàng)目中賦予 operator 角色作為項(xiàng)目操作員。本教程中,請(qǐng)以 project-regular 身份登錄控制臺(tái),在企業(yè)空間 demo-workspace 中的 demo-project 項(xiàng)目中進(jìn)行操作。有關(guān)更多信息,請(qǐng)參見(jiàn)創(chuàng)建企業(yè)空間、項(xiàng)目、帳戶和角色。
動(dòng)手實(shí)驗(yàn)
步驟 1:從應(yīng)用商店中部署 Harbor
在 demo-project 項(xiàng)目的概覽頁(yè)面,點(diǎn)擊左上角的應(yīng)用商店。
找到 Harbor,點(diǎn)擊應(yīng)用信息頁(yè)面上的部署。
設(shè)置名稱(chēng)并選擇應(yīng)用版本。請(qǐng)確保將 Harbor 部署在 demo-project 中,點(diǎn)擊下一步。
在應(yīng)用配置頁(yè)面,編輯 Harbor 的配置文件,請(qǐng)注意以下字段。
type:訪問(wèn) Harbor 服務(wù)的方式。本示例使用 nodePort。
tls:指定是否啟用 HTTPS。多數(shù)情況下設(shè)置為 false。
externalURL:暴露給租戶的 URL。
備注
- 請(qǐng)指定 externalURL,如果您訪問(wèn) Harbor 有問(wèn)題,該字段會(huì)對(duì)解決問(wèn)題非常有用。
- 請(qǐng)確保在本教程中使用 HTTP 協(xié)議和其對(duì)應(yīng)的 nodePort。有關(guān)更多信息,請(qǐng)參見(jiàn)常見(jiàn)問(wèn)題中的示例配置。
配置編輯完成后,點(diǎn)擊部署繼續(xù)。
稍等片刻待 Harbor 啟動(dòng)并運(yùn)行。
步驟 2:訪問(wèn) Harbor
基于配置文件中 expose.type 字段的設(shè)置,訪問(wèn)方式可能會(huì)不同。本示例使用 nodePort 訪問(wèn) Harbor,按照先前步驟中的設(shè)置,訪問(wèn) http://nodeIP:30002。
備注
取決于您的 Kubernetes 集群的部署位置,您可能需要在安全組中放行端口并配置相關(guān)的端口轉(zhuǎn)發(fā)規(guī)則。
使用默認(rèn)帳戶和密碼 (admin/Harbor12345) 登錄 Harbor。密碼由配置文件中的 harborAdminPassword 字段定義。
常見(jiàn)問(wèn)題
如何啟用 HTTP 登錄?
在步驟 1 中將 tls.enabled 設(shè)置為 false。externalURL 的協(xié)議必須和 expose.type.ports 相同。
如果您使用 Docker 登錄,請(qǐng)?jiān)?daemon.json 中將 externalURL 設(shè)置為 insecure-registries 其中之一,然后重新加載 Docker。
下面是示例配置文件,供您參考。請(qǐng)注意閱讀注解。
## 請(qǐng)注意,192.168.0.9 是示例 IP 地址,您必須使用自己的地址。 expose:type: nodePorttls:enabled: falsesecretName: ""notarySecretName: ""commonName: "192.168.0.9" # 將 commonName 更改成您自己的值。nodePort:# NodePort 服務(wù)的名稱(chēng)。name: harborports:http:# 使用 HTTP 服務(wù)時(shí),Harbor 監(jiān)聽(tīng)的服務(wù)端口。port: 80# 使用 HTTP 服務(wù)時(shí),Harbor 監(jiān)聽(tīng)的節(jié)點(diǎn)端口。nodePort: 30002https:# 使用 HTTPS 服務(wù)時(shí),Harbor 監(jiān)聽(tīng)的服務(wù)端口。port: 443# 使用 HTTPS 服務(wù)時(shí),Harbor 監(jiān)聽(tīng)的服務(wù)端口。nodePort: 30003# 僅在 notary.enabled 設(shè)置為 true 時(shí)需要此配置。notary:# Notary 監(jiān)聽(tīng)的服務(wù)端口。port: 4443# Notary 監(jiān)聽(tīng)的節(jié)點(diǎn)端口。nodePort: 30004externalURL: http://192.168.0.9:30002 # 使用您自己的 IP 地址。# Harbor admin 的初始密碼。啟動(dòng) Harbor 后可以通過(guò)主頁(yè)修改。 harborAdminPassword: "Harbor12345" # 用于加密的密鑰,必須是包含 16 個(gè)字符的字符串。 secretKey: "not-a-secure-key"如何啟用 HTTPS 登錄?
a. 使用自簽名證書(shū)。
- 在步驟 1 中將配置文件中的 tls.enabled 設(shè)置為 true,并對(duì)應(yīng)編輯 externalURL。
- 將 Pod harbor-core 的 /etc/core/ca 中存儲(chǔ)的自簽名證書(shū)復(fù)制到您的主機(jī)。
- 先在您的主機(jī)中信任該自簽名證書(shū),然后重啟 Docker。
b. 使用公共 SSL。
- 將證書(shū)添加為密鑰 (Secret)。
- 在步驟 1 中將配置文件中的 tls.enabled 設(shè)置為 true,并對(duì)應(yīng)編輯 externalURL。
- 編輯 tls.secretName。
有關(guān)更多信息,請(qǐng)參見(jiàn) Harbor 文檔。
原文鏈接:https://kubesphere.com.cn/docs/application-store/built-in-apps/harbor-app/
總結(jié)
以上是生活随笔為你收集整理的在 KubeSphere 中部署 Harbor的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 深入理解spark两种调度模式:FIFO
- 下一篇: Go gin框架:helloworld