在完成 harbor 搭建前,需安裝好 docker 與 docker-compose暂题。docker 的安裝命令比較簡 單移剪,直接 yum install -y docker。隨后啟動(dòng) docker敢靡。然后執(zhí)行 systemctl start docker 與 systemct enable docker挂滓,而 docker-compose 的安裝則需要幾步苦银。 安裝 pip 工具 1.首先檢查 linux 有沒有安裝 python-pip 包啸胧,直接執(zhí)行 yum install python-pip 2.沒有 python-pip 包就執(zhí)行命令 yum -y install epel-release 3.執(zhí)行成功之后,再次執(zhí)行 yum install python-pip 4.對(duì)安裝好的 pip 進(jìn)行升級(jí) pip install --upgrade pip幔虏,如果沒必要也可以不升級(jí) 至此纺念,pip 工具就安裝好了。 接下來執(zhí)行 pip install -U docker-compose想括,等待安裝成功陷谱。查看是否安裝成功可輸入 docker-compose version 查看版本。
另一種方式更簡單
Github源
Sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-una</u><u>m</u>](https://github.com/docker/compose/releases/download/1.22.0/docker-compose-
unam)
e -s-
uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
這次使用的Harbor倉庫鏡像來自于Harbor官方瑟蜈,可以選擇離線下載或者是在線下載烟逊,當(dāng)下載到物理機(jī)后再拖入虛擬機(jī)中進(jìn)行安裝。
點(diǎn)擊Download Now铺根,可以發(fā)現(xiàn)有許多版本可以下載宪躯,我選擇的是v1.5.2版本的在線下載(版本1.5的網(wǎng)上教程多,比較新版的配置文件與之有些不同位迂,在對(duì)harbor配置文件不熟悉的情況下不建議自己花太多功夫去研究)访雪。
或者直接敲命令
離線下載的指令與之相似,但或許是離線下載的目標(biāo)更大掂林,我在嘗試的時(shí)候遲遲拉不下來臣缀,因此選擇了在線下載。
接下來泻帮,tar -****xvf harbor-o****n****line-installer-v1.5.****2****.tgz 解壓文件精置。解壓縮后,harbor目錄里會(huì)生成harbor.cfg配置文件锣杂,我們可以在里面更改相應(yīng)的配置脂倦,而相關(guān)配置的介紹可以瀏覽https://www.cnblogs.com/guyeshanrenshiwoshifu/p/9166195.html饲常。
輸入命令vi /root/harbor/harbor.cfg,在里面可以設(shè)置訪問地址狼讨,可以是主機(jī)名贝淤,ip,但不能是127.0.0.1和localhost政供。注意播聪,我在這里設(shè)置的是主機(jī)名
此外,還可以對(duì)訪問協(xié)議進(jìn)行設(shè)置布隔,默認(rèn)是http离陶,如果設(shè)為https,則nginx ssl設(shè)置on衅檀。登錄密碼等默認(rèn)參數(shù)也能此進(jìn)行修改招刨。當(dāng)改完參數(shù)后,在harbor.cfg的目錄下執(zhí)行./install.sh哀军,Harbor服務(wù)就會(huì)根據(jù)當(dāng)期目錄下的docker-compose.yml開始下載依賴的鏡像沉眶,檢測(cè)并按照順序依次啟動(dòng)各服務(wù)。
輸入等待下載成功后杉适,我們就訪問之前設(shè)置的ip谎倔,即登錄http://192.168.3.24。
登錄成功后我們便可以盡情發(fā)揮了猿推。
首先是創(chuàng)建項(xiàng)目片习,可以設(shè)置公有的或者是私有的用于存放上傳的鏡像。在每個(gè)項(xiàng)目中蹬叭,可以設(shè)置成員訪問權(quán)限藕咏,一般可以添加成員角色,設(shè)為管理員秽五,開發(fā)人員和訪客孽查。權(quán)限級(jí)別從高到低,訪客只能拉取鏡像而不能上傳筝蚕。
當(dāng)選擇用戶管理的時(shí)候卦碾,我們可以創(chuàng)建用戶。
若需要推送鏡像起宽,則可以根據(jù)每個(gè)項(xiàng)目里的提示進(jìn)行相應(yīng)操作洲胖。首先給本地的鏡像打上tag,如右下圖的格式坯沪。然后docker login 192.168.3.24绿映,即使用docker登錄harbor,輸入你的用戶名和密碼。在登錄成功后才能進(jìn)行push操作叉弦。
至于如何pull鏡像就更簡單了丐一,點(diǎn)擊library/test就可以查看鏡像的pull命令,即下圖紅框里的那個(gè)小方框淹冰,點(diǎn)擊即可復(fù)制pull命令库车。直接在要下載鏡像的機(jī)器上輸入就OK了,我想這一定難不倒聰明的你樱拴。
接下來柠衍,我們將嘗試在rancher上使用harbor倉庫進(jìn)行應(yīng)用的部署。部署方法和之前的發(fā)過的文檔一樣晶乔。如下圖珍坊,點(diǎn)擊啟動(dòng)即可,容器端口要視被部署的應(yīng)用而定正罢。
在從harbor倉庫中拉取鏡像部署遇到過的問題:
這是我在部署集群時(shí)曾出現(xiàn)的問題阵漏,以下是嘗試解決的方法之一,在跟rancher大牛的的溝通中逐漸排查問題翻具,最終成功地從harbor倉庫中拉取了鏡像履怯。
首先看pod 的event,表示節(jié)點(diǎn)的內(nèi)存不足呛占,調(diào)度不下去了虑乖。
但是,這樣也算內(nèi)存不足嗎晾虑?雖然內(nèi)存占用了許多,但還是有空間是可以部署負(fù)載的仅叫。
然后在集群的全局中帜篇,執(zhí)行kubectl命令行。
輸入kubectl top no诫咱,查看集群CPU和內(nèi)存的使用率笙隙,發(fā)現(xiàn)也不是內(nèi)存不足的問題。
這就讓人感到奇怪了坎缭,直接部署一個(gè)標(biāo)準(zhǔn)的nginx是完全沒問題的竟痰,但將標(biāo)準(zhǔn)nginx推送到私有倉庫再部署卻不行。
在跟rancher大牛確認(rèn)倉庫權(quán)限是公開的之后掏呼,接下來執(zhí)行命令
kubectl run nginx-test --image=xxxx/public/nginx-test:1
然后執(zhí)行這條kubectl get po | grep nginx-test坏快,如下圖,顯示拉取失敗憎夷。
再執(zhí)行kubectl describe po nginx-test-xxx-xxx莽鸿,查看event,發(fā)現(xiàn)不能拉取該指定鏡像。
直接去node節(jié)點(diǎn)中docker pull xxxx祥得,連接被拒絕兔沃。
嘗試修改docker daemon配置文件,我曾疑惑是否需要將 ["0.0.0.0/0"]改成本機(jī)ip级及,但對(duì)方說不需要乒疏,這是通配符,將下面這段命令在k8s里面的worker節(jié)點(diǎn)挨個(gè)走一遍饮焦。
cat << EOF > /etc/docker/daemon.json
{
"insecure-registries" : ["0.0.0.0/0"],
"registry-mirrors": ["https://4wmjwi37.mirror.aliyuncs.com"],
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
EOF
重啟服務(wù)
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl enable docker
輸入sudo docker info缰雇,被大牛告知下圖這個(gè)參數(shù)需要打開,但不是拉取不了鏡像的主要問題追驴,打開方式在官方文檔里有教程械哟。
最后輸入kubectl get po | grep nginx-test,發(fā)現(xiàn)鏡像已經(jīng)處于Running的狀態(tài)殿雪。
回到rancher ui暇咆,驚喜地發(fā)現(xiàn)負(fù)載已經(jīng)部署成功了。
總結(jié):這些奇怪的問題是集群創(chuàng)建及使用過程中的一些最佳實(shí)踐以及參數(shù)調(diào)優(yōu)等等做的不完備導(dǎo)致的丙曙。一般來說爸业,社區(qū)用戶難免會(huì)會(huì)遇到這樣或那樣的問題,所以文檔要多讀讀亏镰。
當(dāng)然扯旷,很多問題如果是訂閱用戶就可以避免掉,最開始集群創(chuàng)建的時(shí)候索抓,一些主機(jī)參數(shù)調(diào)優(yōu)集群配置等钧忽,都會(huì)結(jié)合我們諸多生產(chǎn)經(jīng)驗(yàn)去優(yōu)化,盡量從源頭避免問題的發(fā)生節(jié)約我們寶貴的時(shí)間和精力逼肯。
https://www.cnblogs.com/huangjc/p/6420355.html(harbor使用:修改80端口)