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 ============================================================================================================================================================&