新聞中心
一、準(zhǔn)備一臺(tái)Linux主機(jī)
我用了一臺(tái)VMware虛擬機(jī),配置如下:
IP:192.168.1.79
安裝時(shí)注意一定要將大的空間分給/data,因?yàn)镠arbor默認(rèn)會(huì)使用這個(gè)分區(qū)
官網(wǎng)硬件要求
1、開(kāi)SSH
systemctl enable sshd
2、關(guān)閉SELINUX
vi /etc/sysconfig/selinux
修改下邊紅字部分
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
3、安裝rz
yum -y install lrzsz
之后上傳文件一定要用-be參數(shù)(其中-b是--binary用二進(jìn)制的方式上傳,-e是--escape強(qiáng)制escape所有控制字符),否則上傳的文件不完整
rz –be
4、安裝wget
yum -y install wget
5、更換yum源,用于提速yum
(1)備份yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
(2)下載新的CentOS-Base.repo 到/etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
清理緩存
yum clean all
重新生成緩存
yum makecache
6、關(guān)閉防火墻
systemctl stop firewalld
systemctl disable firewalld
?
二、安裝Harbor
官網(wǎng)教程:https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md
1、安裝必須的組件
官網(wǎng)軟件要求見(jiàn)下,實(shí)際安裝最新版本即可
安裝python
CentOS7默認(rèn)自帶已安裝好
安裝docker
由于Docker已分為社區(qū)版和企業(yè)版,要裝最新版本只能選擇社區(qū)版,所以不要直接用yum install docker –y安裝,否則安裝的是舊版的Docker
(1)安裝所需的軟件包 yum-utils、device-mapper-persistent-data和 lvm2
yum remove docker-latest-logrotate docker-logrotate docker-selinux dockdocker-engine
yum install -y yum-utils device-mapper-persistent-data lvm2
(2)國(guó)內(nèi)部分用戶可能無(wú)法連接docker官網(wǎng)提供的源,這里提供阿里云的鏡像節(jié)點(diǎn)供測(cè)試使用
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
rpm --import http://mirrors.aliyun.com/docker-ce/linux/centos/gpg
yum makecache fast
yum -y install docker-ce
啟動(dòng)docker和檢查運(yùn)行狀態(tài)
systemctl start docker
systemctl status docker
將服務(wù)加入到啟動(dòng)項(xiàng)
systemctl enable docker
查看版本
安裝docker-compose
編譯安裝pip
https://pypi.org/project/setuptools/
yum install unzip -y
unzip setuptools-40.4.3.zip
cd setuptools-40.4.3
python setup.py install
https://pypi.org/project/pip/
tar -xf pip-18.1.tar.gz
cd pip-18.1
python setup.py install
加速pip
cd ~
mkdir .pip
ls ~/.pip
vi ~/.pip/pip.conf
寫(xiě)入
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
?
[install]
trusted-host=mirrors.aliyun.com
pip安裝docker-compose
pip install docker-compose
pip install --upgrade docker-compose
查看版本
docker-compose -v
2、安裝Harbor
(1)從這里下載:https://github.com/goharbor/harbor/releases。PS:不×××無(wú)法下載
一定要下載offline離線安裝包:https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v1.6.1.tgz
(2)解壓
tar xvf harbor-offline-installer-v1.6.1.tgz
移動(dòng)解壓后的harbor目錄到/data/app/,因?yàn)?data分區(qū)是劃分出來(lái)的
mv harbor /data/app/
(3)編輯vi harbor.cfg文件
cd /data/app/harbor
cp harbor.cfg harbor.cfg.bak
vi harbor.cfg
內(nèi)容:
hostname = 192.168.1.79
ui_url_protocol = http
max_job_workers = 10
customize_crt = off
ssl_cert = /data/cert/server.crt
ssl_cert_key = /data/cert/server.key
secretkey_path = /data
admiral_url = NA
log_rotate_count = 50
log_rotate_size = 200M
http_proxy =
https_proxy =
no_proxy = 127.0.0.1,localhost,ui,registry
email_identity =
email_server = smtp.mydomain.com
email_server_port = 25
email_username = [email protected]
email_password = abc
email_from = admin
email_ssl = false
email_insecure = false
harbor_admin_password = *******
auth_mode = ldap_auth
self_registration = off
token_expiration = 60
project_creation_restriction = everyone
db_host = postgresql
db_password = root123
db_port = 5432
db_user = postgres
redis_host = redis
redis_port = 6379
redis_password =
redis_db_index = 1,2,3
clair_db_host = postgresql
clair_db_password = root123
clair_db_port = 5432
clair_db_username = postgres
clair_db = postgres
clair_updaters_interval = 12
uaa_endpoint = uaa.mydomain.org
uaa_clientid = id
uaa_clientsecret = secret
uaa_verify_cert = true
uaa_ca_cert = /path/to/ca.pem
registry_storage_provider_name = filesystem
registry_storage_provider_config =
registry_custom_ca_bundle =
解釋?zhuān)?/p>
原來(lái)沒(méi)注釋的參數(shù)不要注釋掉,否則下邊一步不通過(guò)。留默認(rèn)即可
hostname:配置主機(jī)名稱(chēng),不可以設(shè)置127.0.0.1,localhost這樣的主機(jī)名,可以是IP或者域名
ui_url_protocol:指定使用HTTP協(xié)議還是HTTPS協(xié)議
Email settings:郵箱設(shè)置,option配置,只在首次啟動(dòng)生效,可以登陸UI后修改
harbor_admin_password:設(shè)置管理員的初始密碼,只在第一次登錄時(shí)使用
auth_mode:用戶認(rèn)證模式,默認(rèn)是db_auth,也可以使用ldap_auth驗(yàn)證。
db_password:使用db需要指定連接數(shù)據(jù)庫(kù)的密碼
self_registration:是否允許自行注冊(cè)用戶,默認(rèn)是on,新版本可以在圖形界面中修改。
max_job_workers:大工作數(shù),默認(rèn)是10個(gè)
customize_crt:是否為token生成證書(shū),默認(rèn)為on
ssl_cert:nginx cert與key文件的路徑, 只有采用https協(xié)議是才有意義
ssl_cert:nginx cert與key文件的路徑, 只有采用https協(xié)議是才有意義
secretkey_path:The path of secretkey storage
admiral_url:Admiral's url, comment this attribute, or set its value to NA when Harbor is standalone
clair_db_password:未啟用calir服務(wù),但解壓目錄下的"./prepare"文件中要檢查以下相關(guān)參數(shù)配置,不能注釋?zhuān)駝t環(huán)境準(zhǔn)備檢查不能通過(guò),報(bào)"ConfigParser.NoOptionError: No option u'clair_db_password' in section: u'configuration' "相關(guān)錯(cuò)誤;或者在"./prepare"中注釋相關(guān)檢查與定義,但需要注意,文件中的關(guān)聯(lián)太多,推薦修改"harbor.cfg"文件即可
ldap_url:ladp相關(guān)設(shè)置,如未采用ldap認(rèn)證,但解壓目錄下的"./prepare"文件中要檢查以下相關(guān)參數(shù)配置,不能注釋?zhuān)駝t環(huán)境準(zhǔn)備檢查不能通過(guò),報(bào)"ConfigParser.NoOptionError: No option u'ldap_timeout' in section: u'configuration' "相關(guān)錯(cuò)誤;或者在"./prepare"中注釋相關(guān)檢查與定義,但需要注意,文件中的關(guān)聯(lián)太多,推薦修改"harbor.cfg"文件即可
ldap_scope:
self_registration:默認(rèn)開(kāi)啟自注冊(cè),off為關(guān)閉
token_expiration:token有效時(shí)間,默認(rèn)30minutes
project_creation_restriction:創(chuàng)建項(xiàng)目權(quán)限控制,默認(rèn)是"everyone"(所有人),可設(shè)置為"adminonly"(管理員)
verify_remote_cert:與遠(yuǎn)程registry通信時(shí)是否采用驗(yàn)證ssl
其他使用默認(rèn)值
(4)確認(rèn)無(wú)誤后,使用./install.sh命令開(kāi)始安裝
4、啟動(dòng)和停止(必須在docker-compose.yml目錄下運(yùn)行命令,如/data/app/Harbor目錄)
停止Harbor
docker-compose stop
啟動(dòng)Harbor
docker-compose start
5、登錄測(cè)試
http://192.168.1.79
初始密碼:admin/Harbor12345
登錄后的頁(yè)面
使用普通用戶登錄后創(chuàng)建一個(gè)新項(xiàng)目
項(xiàng)目名稱(chēng):sonarqube-xywg
創(chuàng)建完畢
6、上傳鏡像
在需要上傳鏡像的服務(wù)器上修改docker倉(cāng)庫(kù)連接方式為http,否則默認(rèn)https無(wú)法連接。這里以192.168.1.155上我修改的sonarqube鏡像為例
vi /etc/docker/daemon.json
加入
{
"insecure-registries" : ["192.168.1.79"]
}
重啟Docker生效
systemctl restart docker
重啟Docker之前記得先停止所有容器,如果忘了停止容器,則在重啟完Docker后使用docker restart
再次登錄試試
docker login 192.168.1.79
開(kāi)始上傳操作
docker commit -m 'xywg' 4da3dcf3c046 sonarqube-xywg
docker tag sonarqube-xywg 192.168.1.79/operation/sonarqube-xywg
docker push 192.168.1.79/operation/sonarqube-xywg
特別舉例:將Python官方dokcer鏡像上傳到本地倉(cāng)庫(kù)
docker tag docker.io/python:3.7.2 192.168.1.79/public/python:3.7.2
docker push 192.168.1.79/public/python:3.7.2
解釋?zhuān)?/em>
docker commit -m 鏡像信息
#從現(xiàn)有容器中生成新鏡像
docker tag 源鏡像名[:版本號(hào)等tag標(biāo)簽] Docker倉(cāng)庫(kù)Host/項(xiàng)目名/目標(biāo)鏡像名[:版本號(hào)等tag標(biāo)簽]
#改變鏡像標(biāo)簽,標(biāo)記本地鏡像是已經(jīng)被歸入Docker倉(cāng)庫(kù)的鏡像??梢栽赿ocker commi的時(shí)候直接標(biāo)記為Docker倉(cāng)庫(kù)的鏡像
docker push 鏡像名[:版本號(hào)等tag標(biāo)簽] #將本地的鏡像上傳到鏡像倉(cāng)庫(kù),注意每次push前需docker login 192.168.1.79確認(rèn)是否已經(jīng)登錄了私有倉(cāng)庫(kù),push后需docker logout 192.168.1.79登出私有倉(cāng)庫(kù)。如果push到公共項(xiàng)目必須登錄admin賬號(hào)才可以,如果用了非admin賬戶push到公共項(xiàng)目會(huì)出如下錯(cuò)誤:denied: requested access to the resource is denied
不指定版本號(hào)等tag標(biāo)簽時(shí),Docker會(huì)自動(dòng)幫我們補(bǔ)上latest的tag。這個(gè)latest其實(shí)在使用中不是最新的意思,而是默認(rèn)值(defalut)的意思。
執(zhí)行結(jié)果:
進(jìn)入Harbor的項(xiàng)目中查看
查看已上傳的sonarqube鏡像
PS:Harbor有分級(jí)概念:
(1)最上邊是項(xiàng)目(項(xiàng)目名):實(shí)際操作中按照每個(gè)不同的項(xiàng)目名稱(chēng)來(lái)建項(xiàng)目,交由不同項(xiàng)目的負(fù)責(zé)人維護(hù)
(2)接下來(lái)是項(xiàng)目中的鏡像倉(cāng)庫(kù)(鏡像名):鏡像倉(cāng)庫(kù)中的鏡像名按照項(xiàng)目名或者jar包war名來(lái)命名,但要求命名一次不能隨意更改
(3)最后是倉(cāng)庫(kù)中不同版本的鏡像(tag版本標(biāo)簽):必須標(biāo)明版本號(hào),不能空或者用lastest(下圖lastest是演示)
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
本文標(biāo)題:Harbor安裝配置全過(guò)程-創(chuàng)新互聯(lián)
本文URL:http://fisionsoft.com.cn/article/ipiod.html