centos7搭建gitlab+jenkins+k8s的服務(wù)環(huán)境,含gitlab-runner配置

1.安裝虛擬機軟件并創(chuàng)建CentOS 7的虛擬機點擊查看安裝說明(在install centos7的過程中父款,network設(shè)置中需要開啟網(wǎng)絡(luò)連接存谎,才能聯(lián)網(wǎng)挺尾,不讓后期設(shè)置nat或者橋接等等都很麻煩返顺,還沒法聯(lián)網(wǎng)禀苦,導致yum的各種failed)

2.測試centos7能連通外網(wǎng)

連接外網(wǎng).jpg

虛擬機上的centOS安裝個VMware Tools便于電腦和虛擬機間的文件傳輸和粘貼復(fù)制等等。
無桌面版的centOs 7 參考這個安裝VMware Tools

CentOS 7 安裝JAVA環(huán)境說明(JDK1.8)

或者將主機某個文件夾作為共享文件夾遂鹊,將下載好的jdk文件放入主機共享文件夾中振乏,在虛擬機的 /mnt/hgfs 下可以查看共享文件夾,從這里導入主機文件到虛擬機上進行解壓安裝秉扑。解壓安裝方式可參考安裝說明慧邮。

CentOS 7 安裝Docker說明

或者如下方式:

1、更新一下系統(tǒng)
    yum update -y
2舟陆、安裝docker
   yum install docker -y
3误澳、加入docker鏡像源(如果不更新源,docker將會去docker官網(wǎng)獲取鏡像源秦躯,不科學上網(wǎng)忆谓,可能導致docker拉取不到鏡像源)
   vi /etc/docker/daemon.json
   #加入如下配置
    {
    "registry-mirrors": [ "https://registry.docker-cn.com"]
   }
   # 保存退出
CentOS 7 安裝Jenkins說明

若提示-bash: wget: command not found
使用下面命令安裝wget

yum -y install wget

也可以參照下面的方法:
1、去jenkins官網(wǎng)獲取下載地址:https://jenkins.io/

jenkins官網(wǎng).jpg

進入文檔說明.jpg

環(huán)境說明與獲取下載鏈接.jpg
下載jenkins.jpg

jenkins下載完成.jpg

下載完成后踱承,可使用命令啟動jenkins倡缠,這里以7368端口為例,首次啟動會生成訪問密碼茎活,記得復(fù)制好密碼昙沦,先設(shè)置主機可訪問虛擬機服務(wù)后,再執(zhí)行下面的啟動命令载荔。

java -jar jenkins.war --httpPort=7368

啟動jenkins.jpg

虛擬機查看當前已開啟的端口列表

netstat -ntlp

設(shè)置主機可訪問虛擬機上的jenkins盾饮,先使用命令查看虛擬機的IP

ifconfig

查看ip地址.jpg

打開編輯-虛擬網(wǎng)絡(luò)編輯器,設(shè)置NAT網(wǎng)絡(luò)


設(shè)置NAT.jpg
添加端口轉(zhuǎn)發(fā).jpg
添加虛擬機IP和端口.jpg

執(zhí)行啟動命令身辨,可在主機瀏覽器訪問192.168.164.129:7368丐谋。


主機瀏覽器訪問.jpg
CentOS 7 安裝kubernetes:https://github.com/liuyi01/kubernetes-starter

1、預(yù)先環(huán)境準備
2煌珊、基礎(chǔ)集群部署-kubernetes-simple
3号俐、完整集群部署-kubernetes-with-ca
4、在kubernetes上部署微服務(wù)

CentOS 7 安裝harbor
CentOS 7 安裝git定庵、gitlab Docker搭建自己的GitLab或者嘗試來自github的安裝gitlab教程或者嘗試
1吏饿、安裝git
  yum install git -y
2踪危、查看是否安裝成功
  git --version
3、配置基本信息
  git config --global user.name="testname"
  git config --global user.email hs1150@qq.com
4猪落、查看配置信息
  git config --list

使用docker安裝gitlab服務(wù)

1.拉取官方gitlab鏡像
  docker pull gitlab/gitlab-ce:latest
2.新建一個文件夾贞远,利用docker開啟gitlab容器
  mkdir gitlab
  cd gitlab
  vi Dockerfile
在Dockerfile中加入內(nèi)容
  FROM gitlab/gitlab-ce     #鏡像名稱
  RUN echo "This is a test about docker-gitlab"
3.保存Dockerfile后,構(gòu)建容器并啟動容器(這里的容器沒有定義hostname笨忌,會讓倉庫地址的域名變成一個隨機字符串蓝仲,為了便于后期更改配置,用第4步的方式啟動容器)
  docker build -t gitlab .
  docker run -d -p 8086:80 gitlab
4.將服務(wù)器的444/8087/23端口分別映射容器內(nèi)部的443/80/22端口官疲,容器名稱為gitlab
  docker run --detach --hostname gitlab.ynpay.cc --publish 444:443 --publish 8087:80 --publish 23:22 --name gitlab --restart always --volume /srv/gitlab/config:/etc/gitlab --volume /srv/gitlab/logs:/var/log/gitlab --volume /srv/gitlab/data:/var/opt/gitlab gitlab
最后這里的gitlab是鏡像的名字袱结,也可以用鏡像id代替。

按照上面的方式途凫,讓gitlab容器運行起來是沒有問題的垢夹,但是當在gitlab上創(chuàng)建項目的時候,生成項目的URL訪問地址是按容器的hostname來生成的维费,域名默認訪問80端口果元,可能出現(xiàn)新建一個倉庫,但地址中不帶端口號犀盟,會讓gitlab-ci.yml的腳本無法clone這個項目而晒,所以需要在gitlab.rb中配置指定的倉庫地址url。

#宿主機上的路徑是 srv/gitlab/config/gitlab.rb
1. 配置http協(xié)議所使用的訪問地址
  external_url 'http://gitlab.ynpay.cc:8087'
2.配置ssh協(xié)議所使用的訪問地址和端口
  gitlab_rails['gitlab_ssh_host'] = 'gitlab.ynpay.cc'
  gitlab_rails['gitlab_shell_ssh_port'] = 23
#上述位置的域名也可以使用ip代替
3.添加nginx設(shè)置阅畴,避免設(shè)置external_url后無法訪問
  nginx['listen_port'] = 80
#默認情況下欣硼,nginx監(jiān)聽的端口為external_url中定義的,或者默認的80/443恶阴。所以剛nginx是監(jiān)聽的8087端口诈胜。而docker run的時候是暴露的80端口,所以根本就訪問不了冯事。 

安裝gitlab Runner可以參考安裝Runner文檔

1.安裝gitlab-ci-multi-runner
  curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash
2.安裝
  yum install gitlab-ci-multi-runner
3.注冊并啟動runner
  gitlab-ci-multi-runner register
或者使用
  gitlab-runner register
  #根據(jù)提示輸入url和token焦匈,還有tag和executor,完成注冊后昵仅,可以在gitlab服務(wù)管理端看到一個共享的runner
  #注冊后記得啟動runner
  gitlab-ci-multi-runner start
4.查看runner的配置信息
  gitlab-runner list
  #也可以直接打開配置文件進行查看 
  vim /etc/gitlab-runner/config.toml
5.刪除注冊信息
  gitlab-runner unregister --url http://192.168.1.2/ci --token 387ed6c05fef248d2183f9f45b9cda 
#這個操作是不可逆的缓熟,為了防止出錯可以先備份一下/etc/gitlab-runner/config.toml配置文件
#gitlab-runner默認將項目clone到/home/gitlab-runner/builds中

修改runner配置時,進入修改/etc/gitlab-runner/config.toml文件

使用CICD(持續(xù)構(gòu)建與持續(xù)部署)

配置好了runner摔笤,想要開始自動構(gòu)建還需要在項目根目錄添加一個.gitlab-ci.yaml文件够滑。 關(guān)于.gitlab-ci.yaml文件的配置說明可參考官方文檔

1.使用shell讓程序自動部署吕世,可新建一個文件夾專門存放可執(zhí)行的腳本
  mkdir shell
  cd shell
  vi test.sh
#進入test.sh中編輯內(nèi)容
2.讓腳本具有可執(zhí)行權(quán)限
  chmod -x test.sh
3.執(zhí)行命令
  sh test.sh

注意:

1.如果是存在共享Runner 則默認使用共享Runner去編譯構(gòu)建等等傅瞻,但如果有指定的Runner斋荞,那么在gitlab-ci的文件中的job中加入tags的標簽押桃。可參考學習Gitlab-CI持續(xù)集成之Runner配置和CI腳本
2.不建議什么服務(wù)都依賴于docker來操作分蓖,當docker容器太多時,如果網(wǎng)絡(luò)出現(xiàn)問題尔许,導致服務(wù)器無法訪問時么鹤,不易排查原因,部分重要或基礎(chǔ)的服務(wù)可使用注冊為本地服務(wù)的方式來開啟味廊,當服務(wù)器恢復(fù)正常時蒸甜,這些基礎(chǔ)服務(wù)即可使用。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末余佛,一起剝皮案震驚了整個濱河市迅皇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌衙熔,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件搅荞,死亡現(xiàn)場離奇詭異红氯,居然都是意外死亡,警方通過查閱死者的電腦和手機咕痛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門痢甘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人茉贡,你說我怎么就攤上這事塞栅。” “怎么了腔丧?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵放椰,是天一觀的道長。 經(jīng)常有香客問我愉粤,道長砾医,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任衣厘,我火速辦了婚禮如蚜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘影暴。我一直安慰自己错邦,他們只是感情好,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布型宙。 她就那樣靜靜地躺著撬呢,像睡著了一般。 火紅的嫁衣襯著肌膚如雪妆兑。 梳的紋絲不亂的頭發(fā)上倾芝,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天讨勤,我揣著相機與錄音,去河邊找鬼晨另。 笑死潭千,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的借尿。 我是一名探鬼主播刨晴,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼路翻!你這毒婦竟也來了狈癞?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤茂契,失蹤者是張志新(化名)和其女友劉穎蝶桶,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體掉冶,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡真竖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了厌小。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恢共。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖璧亚,靈堂內(nèi)的尸體忽然破棺而出讨韭,到底是詐尸還是另有隱情,我是刑警寧澤癣蟋,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布透硝,位于F島的核電站,受9級特大地震影響疯搅,放射性物質(zhì)發(fā)生泄漏蹬铺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一秉撇、第九天 我趴在偏房一處隱蔽的房頂上張望甜攀。 院中可真熱鬧,春花似錦琐馆、人聲如沸规阀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谁撼。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間厉碟,已是汗流浹背喊巍。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留箍鼓,地道東北人崭参。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像款咖,于是被迫代替她去往敵國和親何暮。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容