Kubernetes(k8s)之jeckins自动化构建docker镜像并部署到k8s集群

1、集群规划,如下所示:

主机名 ip地址 角色 端口号
k8s-master 192.168.110.133 k8s-master api-server:8080
k8s-node2 192.168.110.134 k8s-node1,jenkins tomcat:8080(跑jenkins)
k8s-node3 192.168.110.135 k8s-node1,gitlab gitlab:80,8080

 

2、为了减轻机器压力,将之前部署地Pod节点都删除掉,如下所示:

 1 [root@k8s-master ~]# kubectl get all -o wide
 2 NAME       DESIRED   CURRENT   READY     AGE       CONTAINER(S)   IMAGE(S)                               SELECTOR
 3 rc/mysql   1         1         1         1d        mysql          192.168.110.133:5000/mysql:5.7.30      app=mysql
 4 rc/myweb   1         1         1         1d        myweb          192.168.110.133:5000/tomcat-book:5.0   app=myweb
 5 
 6 NAME             CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE       SELECTOR
 7 svc/glusterfs    10.254.182.41    <none>        49152/TCP        1d        <none>
 8 svc/kubernetes   10.254.0.1       <none>        443/TCP          27d       <none>
 9 svc/mysql        10.254.126.11    <none>        3306/TCP         1d        app=mysql
10 svc/myweb        10.254.188.155   <nodes>       8080:30008/TCP   1d        app=myweb
11 
12 NAME             READY     STATUS    RESTARTS   AGE       IP            NODE
13 po/mysql-wldks   1/1       Running   0          1d        172.16.66.6   k8s-node3
14 po/myweb-c8sf6   1/1       Running   1          1d        172.16.66.5   k8s-node3
15 po/nginx         1/1       Running   0          1d        172.16.66.3   k8s-node3
16 po/nginx2        1/1       Running   0          1d        172.16.74.5   k8s-node2
17 [root@k8s-master ~]# kubectl delete rc --all
18 replicationcontroller "mysql" deleted
19 replicationcontroller "myweb" deleted
20 [root@k8s-master ~]# kubectl delete svc --all
21 service "glusterfs" deleted
22 service "kubernetes" deleted
23 service "mysql" deleted
24 service "myweb" deleted
25 [root@k8s-master ~]# kubectl get all -o wide
26 NAME      READY     STATUS    RESTARTS   AGE       IP            NODE
27 nginx     1/1       Running   0          1d        172.16.66.3   k8s-node3
28 nginx2    1/1       Running   0          1d        172.16.74.5   k8s-node2
29 [root@k8s-master ~]# kubectl delete pod nginx pod nginx2 
30 pod "nginx" deleted
31 pod "nginx2" deleted
32 Error from server (NotFound): pods "pod" not found
33 [root@k8s-master ~]# kubectl get all -o wide
34 NAME             CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE       SELECTOR
35 svc/kubernetes   10.254.0.1   <none>        443/TCP   9s        <none>
36 [root@k8s-master ~]# 

 

3、k8s-node3节点安装gitlab,如下所示:

首先需要下载gitlab,如下所示:

 1 [root@k8s-node3 ~]# wget https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.9.11-ce.0.el7.x86_64.rpm
 2 --2020-07-02 10:22:32--  https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.9.11-ce.0.el7.x86_64.rpm
 3 Resolving mirror.tuna.tsinghua.edu.cn (mirror.tuna.tsinghua.edu.cn)... 101.6.8.193, 2402:f000:1:408:8100::1
 4 Connecting to mirror.tuna.tsinghua.edu.cn (mirror.tuna.tsinghua.edu.cn)|101.6.8.193|:443... connected.
 5 HTTP request sent, awaiting response... 200 OK
 6 Length: 569408968 (543M) [application/x-redhat-package-manager]
 7 Saving to: ‘gitlab-ce-11.9.11-ce.0.el7.x86_64.rpm’
 8 
 9 100%[=======================================================================================================================================================================>] 569,408,968 1.79MB/s   in 7m 19s 
10 
11 2020-07-02 10:29:54 (1.24 MB/s) - ‘gitlab-ce-11.9.11-ce.0.el7.x86_64.rpm’ saved [569408968/569408968]
12 
13 [root@k8s-node3 ~]# 

下载完毕,进行安装,安装包比较大,安装速度也取决于硬盘的类型,如下所示:

 1 [root@k8s-node3 ~]# yum localinstall gitlab-ce-11.9.11-ce.0.el7.x86_64.rpm -y
 2 Loaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos, subscription-manager
 3 
 4 This system is not registered with an entitlement server. You can use subscription-manager to register.
 5 
 6 Examining gitlab-ce-11.9.11-ce.0.el7.x86_64.rpm: gitlab-ce-11.9.11-ce.0.el7.x86_64
 7 Marking gitlab-ce-11.9.11-ce.0.el7.x86_64.rpm to be installed
 8 Resolving Dependencies
 9 --> Running transaction check
10 ---> Package gitlab-ce.x86_64 0:11.9.11-ce.0.el7 will be installed
11 --> Finished Dependency Resolution
12 base/7/x86_64                                                                                                                                                                             | 3.6 kB  00:00:00     
13 centos-gluster7/7/x86_64                                                                                                                                                                  | 3.0 kB  00:00:00     
14 extras/7/x86_64                                                                                                                                                                           | 2.9 kB  00:00:00     
15 updates/7/x86_64                                                                                                                                                                          | 2.9 kB  00:00:00     
16 updates/7/x86_64/primary_db                                                                                                                                                               | 3.0 MB  00:00:07     
17 
18 Dependencies Resolved
19 
20 =================================================================================================================================================================================================================
21  Package                                    Arch                                    Version                                            Repository                                                           Size
22 =================================================================================================================================================================================================================
23 Installing:
24  gitlab-ce                                  x86_64                                  11.9.11-ce.0.el7                                   /gitlab-ce-11.9.11-ce.0.el7.x86_64                                  1.5 G
25 
26 Transaction Summary
27 =================================================================================================================================================================================================================
28 Install  1 Package
29 
30 Total size: 1.5 G
31 Installed size: 1.5 G
32 Downloading packages:
33 Running transaction check
34 Running transaction test
35 Transaction test succeeded
36 Running transaction
37   Installing : gitlab-ce-11.9.11-ce.0.el7.x86_64                                                                                                                                                             1/1 
38 It looks like GitLab has not been configured yet; skipping the upgrade script.
39 
40        *.                  *.
41       ***                 ***
42      *****               *****
43     .******             *******
44     ********            ********
45    ,,,,,,,,,***********,,,,,,,,,
46   ,,,,,,,,,,,*********,,,,,,,,,,,
47   .,,,,,,,,,,,*******,,,,,,,,,,,,
48       ,,,,,,,,,*****,,,,,,,,,.
49          ,,,,,,,****,,,,,,
50             .,,,***,,,,
51                 ,*,.
52   
53 
54 
55      _______ __  __          __
56     / ____(_) /_/ /   ____ _/ /_
57    / / __/ / __/ /   / __ `/ __ \
58   / /_/ / / /_/ /___/ /_/ / /_/ /
59   \____/_/\__/_____/\__,_/_.___/
60   
61 
62 Thank you for installing GitLab!
63 GitLab was unable to detect a valid hostname for your instance.
64 Please configure a URL for your GitLab instance by setting `external_url`
65 configuration in /etc/gitlab/gitlab.rb file.
66 Then, you can start your GitLab instance by running the following command:
67   sudo gitlab-ctl reconfigure
68 
69 For a comprehensive list of configuration options please see the Omnibus GitLab readme
70 https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
71 
72   Verifying  : gitlab-ce-11.9.11-ce.0.el7.x86_64                                                                                                                                                             1/1 
73 
74 Installed:
75   gitlab-ce.x86_64 0:11.9.11-ce.0.el7                                                                                                                                                                            
76 
77 Complete!
78 [root@k8s-node3 ~]# 

安装完毕,配置gitlab(gitlab是使用ruby编写的一个工具,所以配置文件是rb的后缀),第一点是修改gitlab的访问地址,第二点是修改普罗米修斯的监控关闭掉,节省资源,如下所示:

1 [root@k8s-node3 ~]# vim /etc/gitlab/gitlab.rb

修改内容,修改的时候建议使用域名,方便后期迁移,这里直接使用ip地址了,如下所示:

1 # external_url 'http://gitlab.example.com'
2 external_url 'http://192.168.110.135'

1 # prometheus_monitoring['enable'] = true
2 prometheus_monitoring['enable'] = false

修改完配置之后,需要执行命令让其生效,由于命令太长太长,这里就不贴了,如下所示:

 1 [root@k8s-node3 ~]# gitlab-ctl reconfigure
 2 
 3 .
 4 .
 5 .
 6 .
 7 .
 8 .
 9 
10 Running handlers:
11 Running handlers complete
12 Chef Client finished, 338/858 resources updated in 02 minutes 26 seconds
13 gitlab Reconfigured!

部署成功之后,就会把应用跑起来,此时可以看下内存,避免内存不够,如下所示:

1 [root@k8s-node3 ~]# free -h
2               total        used        free      shared  buff/cache   available
3 Mem:           2.2G        1.4G        186M         69M        621M        411M
4 Swap:          2.0G         90M        1.9G
5 [root@k8s-node3 ~]# 

此时就可以访问一下gitlab了,第一次访问gitlab需要设置一个密码,密码长度必须是8位,如下所示:

设置完毕密码,就可以进行登录了,如下所示:

gitlab登录成功,如下所示:

gitlab创建仓库并上传代码,如下所示:

创建一个仓库,指定仓库的名称,可以对此进行描述,如下所示:

私有仓库创建成功是这个样子的,如下所示:

向下滑动,可以看到命令提示,如下所示:

此时,向仓库上传代码,上传代码,需要首先执行下面的命令,配置全局的用户,如下所示:

 1 [root@k8s-node3 ~]# cd /opt/
 2 [root@k8s-node3 opt]# ls
 3 gitlab  myregistry  rh
 4 [root@k8s-node3 opt]# mkdir feiji
 5 [root@k8s-node3 opt]# ls
 6 feiji  gitlab  myregistry  rh
 7 [root@k8s-node3 opt]# cd feiji/
 8 [root@k8s-node3 feiji]# ls
 9 css  img  index.html  js
10 [root@k8s-node3 feiji]# git config --global user.name "Administrator"
11 bash: git: command not found...
12 [root@k8s-node3 feiji]# git config --global user.email "admin@example.com"
13 bash: git: command not found...
14 [root@k8s-node3 feiji]# gitlab-
15 gitlab-ctl    gitlab-psql   gitlab-rails  gitlab-rake   
16 [root@k8s-node3 feiji]# 

我这里还没有git的命令,首先安装一下,如下所示:

 1 [root@k8s-node3 feiji]# yum install git -y
 2 Loaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos, subscription-manager
 3 
 4 This system is not registered with an entitlement server. You can use subscription-manager to register.
 5 
 6 Loading mirror speeds from cached hostfile
 7  * base: mirrors.tuna.tsinghua.edu.cn
 8  * centos-gluster7: mirrors.huaweicloud.com
 9  * extras: mirror.bit.edu.cn
10  * updates: mirror.bit.edu.cn
11 Resolving Dependencies
12 --> Running transaction check
13 ---> Package git.x86_64 0:1.8.3.1-23.el7_8 will be installed
14 --> Processing Dependency: perl-Git = 1.8.3.1-23.el7_8 for package: git-1.8.3.1-23.el7_8.x86_64
15 --> Processing Dependency: perl(Term::ReadKey) for package: git-1.8.3.1-23.el7_8.x86_64
16 --> Processing Dependency: perl(Git) for package: git-1.8.3.1-23.el7_8.x86_64
17 --> Processing Dependency: perl(Error) for package: git-1.8.3.1-23.el7_8.x86_64
18 --> Running transaction check
19 ---> Package perl-Error.noarch 1:0.17020-2.el7 will be installed
20 ---> Package perl-Git.noarch 0:1.8.3.1-23.el7_8 will be installed
21 ---> Package perl-TermReadKey.x86_64 0:2.30-20.el7 will be installed
22 --> Finished Dependency Resolution
23 
24 Dependencies Resolved
25 
26 =================================================================================================================================================================================================================
27  Package                                                Arch                                         Version                                                 Repository                                     Size
28 =================================================================================================================================================================================================================
29 Installing:
30  git                                                    x86_64                                       1.8.3.1-23.el7_8                                        updates                                       4.4 M
31 Installing for dependencies:
32  perl-Error                                             noarch                                       1:0.17020-2.el7                                         base                                           32 k
33  perl-Git                                               noarch                                       1.8.3.1-23.el7_8                                        updates                                        56 k
34  perl-TermReadKey                                       x86_64                                       2.30-20.el7                                             base                                           31 k
35 
36 Transaction Summary
37 ============================================================================================================================================================&
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值