harbor映象倉庫證書過期問題
一、 問題描述
今天介紹一下中經專案DCOS雲平臺一次故障,新炬DCOS雲平臺使用的映象倉庫是將VMWARE公司 開源Harbor專案整合進來的,期間專案映象倉庫正常使用了一年左右,最近一次使用命令PUSH映象到映象倉庫或使用DCOS雲平臺自動化構建 映象上傳映象倉庫提示拋錯映象倉庫的https證書過期,因此這個問題影響了DCOS部分功能無法正常使用。它會影響到專案映象構建與服務版本更新問題,但對於業務無影響。
二、 問題影響
1. 人工上傳映象至映象倉庫
2. DCOS 平臺映象自動構建
3. DCOS 平臺更新服務版本
三、 問題原因分析
人工打包好的docker映象,然後透過命令將docker映象上傳到映象倉庫,提示報證書已過期。
報錯資訊:
Error response from daemon: Get x509: certificate has expired or is not yet valid
說明由於 映象倉庫使用的registry v2,採用https安全協議訪問方式,前端透過nginx做代理實現的 ,在設計過程中把證書的設定為較短的時間,導致nginx證書過期不能使用, 故需要人工生成一份新的證書來更換nginx上的證書 。
四、 問題解決方案
注意:以下1,2步操作是在映象倉庫伺服器,3步在所有mesos計算節點,4步在DCOS雲平臺伺服器。
1. 重新生成一份有效期為10年的證書
使用openssl命令建立新的證書,會在目錄/data/cert目錄下生成canew.crt 和canew.key兩個檔案,注意這裡的CN=XXXX和IP=XXXX 使用映象倉庫伺服器地址。 cd /etc/pki/tls/ openssl req -x509 -days 3650 -newkey rsa:4096 -nodes -sha256 -keyout /data/cert/canew.key -subj '/C=xj/O=shsnc onDocker/CN=XXXX/emailAddress=harbor@shsnc.comsubjectAltName=IP=XXXX' -out /data/cert/canew.crt |
2. 映象倉庫使用的registry v2,採用https安全協議訪問方式,前端透過nginx做代理實現的,故需要更換nginx上的證書。
1 )、替換 nginx 證書 cp /data/cert/canew.crt /root/harbor/common/config/nginx/cert/canew.crt cp /data/cert/canew.key /root/harbor/common/config/nginx/cert/canew.key 刪除舊的證書檔案 rm -f /root/harbor/common/config/nginx/cert/ca.* 2 )、 修改 nginx 配置 nginx.conf配置中的第30、31行,替換成新證書(只需更換證書名稱,目錄不需要更改)。 cd /root/harbor/common/config/nginx vi nginx.conf ...... ssl_certificate /etc/nginx/cert/catest.crt; ssl_certificate_key /etc/nginx/cert/catest.key; 3) 、重啟映象倉庫 nginx 容器 docker restart nginx |
3. mesos docker 計算節點證書更換
將映象倉庫伺服器上面的新證書 canew.crt 檔案 COPY 到其它 41 個 mesos docker 計算節點的 /etc/docker/certs.d/{domain}/ 目錄下,然後在其中一臺計算節點使用 docker login 測試是否能正常登入。 1 )、刪除舊證書檔案 export Harbor_ip=xx.xx.xx.xx cd /etc/docker/certs.d/${Harbor_ip} rm –rf ca.* 2 )、更新新證書檔案 scp root@dcos_hub:/data/cert/canew.crt . 3 )、測試訪問映象倉庫 docker login $ Harbor_ip |
4. DCOS 平臺更新映象倉庫證書
由於 DCOS 平臺整合 Harbor 映象倉庫,為了實現自動化構建映象,因此我們 DCOS 上面的證書也是過期的,所以我們需要對 DCOS 伺服器上面的映象倉庫證書進行更新替換。 scp root@dcos_hub:/data/cert/canew.crt /dcos/file/ harbor_ca.cert |
五、 問題總結
因問題是映象倉庫https證書有效期設計較短導致,像這類問題出現是比較低階的,有點經驗的人都會將證書有效期設定5年或是更長。雖然更新映象倉庫證書對業務無影響,但對雲平臺功體驗效果比較差,更新證書涉及到所有節點證書的同步,是一件比較麻煩的事情。因此前期相關配置設計應該嚴格做好長遠規劃,減少後期運維工作量。
有需要的朋友可以關注我的公眾號,文章每日一更
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28833846/viewspace-2723469/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 搭建Harbor 映象倉庫
- CentOS部署Harbor映象倉庫CentOS
- Harbor倉庫映象掃描原理
- containerd 配置使用私有映象倉庫 harborAI
- Docker企業級映象倉庫HarborDocker
- 容器技術之Docker私有映象倉庫harborDocker
- Harbor-私有映象倉庫的安裝部署
- Docker倉庫之Harbor企業級映象倉庫的搭建與使用Docker
- 容器映象倉庫-Harbor的安裝及踩坑
- 企業級映象倉庫 Harbor 的安裝與配置
- Harbor實現容器映象倉庫的管理和運維運維
- Docker刪除倉庫中的映象問題Docker
- Docker 企業級映象倉庫 Harbor 的搭建與維護Docker
- 根證書過期問題大嗎?有什麼影響
- rancher證書過期
- 配置pod拉取harbor容器映象倉庫私有映象:secret儲存賬號密碼密碼
- 關於docker無法訪問倉庫的映象代理問題Docker
- npm ERR! code CERT_HAS_EXPIRED:解決證書過期問題NPM
- Docker搭建Harbor私有倉庫Docker
- Harbor倉庫搭建及使用
- kubernetes實踐之二十八:使用Harbor作為私有映象倉庫
- Kubeadm證書過期問題修復方法之一:通過修改kubeadm原始碼原始碼
- 【VMware vCenter】VMware vCenter Server(VCSA) 5.5 版本證書過期問題處理過程。Server
- 配置docker和containerd,使用ca證書訪問harborDockerAI
- 使用Harbor作為Rainbond預設容器映象倉庫,擴充套件Rainbond映象管理能力AI套件
- Docker私有倉庫之Harbor神器Docker
- 微服務探索之路03篇-docker私有倉庫Harbor搭建+Kubernetes(k8s)部署私有倉庫的映象微服務DockerK8S
- SSL證書會不會過期?域名SSL證書過期了怎麼辦?
- SSL證書為什麼會過期?證書過期會有哪些影響?
- kubernetes證書過期處理
- Docker搭建私有倉庫Registry&HarborDocker
- docker的企業級倉庫-harborDocker
- Docker-------私有倉庫 Harbor 的搭建Docker
- Harbor對接Ceph S3推映象retry的問題S3
- 私有化輕量級持續整合部署方案--06-私有映象倉庫-Harbor
- Kubernetes叢集證書過期解決方案:使用kubeadm為證書續期
- Mac安裝homebrew證書過期Mac
- fiddler 證書問題