3.4 推送与安装Chart
helm安装好有默认的模版,那么我们先使用它的进行生成一个chart包,用于我们测试推送到我们的Harbor仓库中,这个Chart是当我们部署完之后,官方默认自带的模版,小的demo,install之后是一个Nginx的应用
[root@k8s-master ~]
# mkdir chart-test
[root@k8s-master ~]
# cd chart-test/
[root@k8s-master chart-test]
# helm create test
[root@k8s-master chart-test]
# helm install test01 test
NAME: test01
LAST DEPLOYED: Sat Mar
14 17:
10:
20 2020
NAMESPACE:
default
STATUS: deployed
REVISION:
1
NOTES:
1. Get the application URL
by running these commands:
export POD_NAME=$(kubectl get pods --namespace
default -l
"app.kubernetes.io/name=test,app.kubernetes.io/instance=test01" -o jsonpath=
"{.items[0].metadata.name}")
echo
"Visit :8080 to use your application"
kubectl --namespace
default port-forward $POD_NAME
8080:
80
这里是直接使用他们自己写的模版创建的pod
查看这个pod已经正常运行,而这个test01是我们自己起的名字,这个部署的时候一般是我们的微服务的名称
要是去加个--dry-run的话就是预先执行,一般看看这个模版有没有都执行成功,有没有问题
[root@k8s-master chart-test]
# helm install test02 --dry-run test/
[root@k8s-master chart-test]
# kubectl get pod
NAME
READY STATUS RESTARTS AGE
nfs-client-provisioner-564dddddd6-dgv26 1/1
Running 8
26h
test01
-f7f8c5759-zv8kf
1/1
Running 0
31s
没什么问题的话我们就需要将这个chart达成一个包,以便下次的时候再用
[root@k8s-master chart-test]
# helm package test/
Successfully packaged chart and saved it to: /root/chart-test/
test-0.1.0.tgz
[root@k8s-master chart-test]
# ls
test test-0.1.0.tgz
推送到我们的镜像harbor仓库中
[root@k8s-master chart-test]
# helm push test-0.1.0.tgz --username=admin --password=Harbor12345
Pushing
test-0.1.0.tgz to
Done.
tgz包安装helm ,一般用于之前制作的包,比如我们之前制作的模版,如果想使用了,那么直接就可以再使用
[root@k8s-master ~]#
helm install test02 test-0.1.0.tgz
NAME:
test02
LAST DEPLOYED:
Sat Mar 14 17
:49:00 2020
NAMESPACE:
default
STATUS:
deployed
REVISION: 1
4、部署gitlab,这里分别我整理了两个方法来部署gitlab,第一个是英文版页面,第二个是中文版页面
4.1#安装gitlab,建议2c2g+
yum -y install policycoreutils openssh-server openssh-clients postfix
#修改postfix
sed -i
's/inet_interfaces = localhost/inet_interfaces = all/g' /etc/postfix/main.cf
sed -i
's/inet_protocols = all/inet_protocols = ipv4/g' /etc/postfix/main.cf
sudo systemctl
enable postfix
sudo systemctl start postfix
curl
-sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo EXTERNAL_URL=
"https://gitlab.example.com" yum install -y gitlab-ce
gitlab配置文件路径
/etc/gitlab/gitlab.rb
external_url
'http://10.4.7.200:9999'
# 端口可以变动
gitlab-ctl reconfigure ,这个初始化配置比较久
# gitlab启动初始化操作
# gitlab-ctl restart
重启
4.2、使用docker-compose部署中文版Gitlab
1)首先在一台新的服务器上安装docker-ce,并使用docker加速器,使用中科大的加速器/阿里云加速器
2)部署安装docker-compose
3)安装gitlab,编辑docker-compose文件
[root@localhost ~]
# mkdir gitlab
[root@localhost ~]
# cd gitlab/
[root@localhost gitlab]
# vim docker-compose.yml
yml地址:git@gitee.com:zhaocheng172/gitlab-docker-compose.yml.git
4)创建相关目录,config存储gitlab配置信息,data 存储数据库,logs存储日志
[root@localhost gitlab]
# mkdir -p /opt/gitlab/{config,data,logs}
[root@localhost gitlab]
# ls -l /opt/gitlab/
total
0
drwxr-xr-x.
2 root root
6 Mar
14 19:
44 config
drwxr-xr-x.
2 root root
6 Mar
14 19:
44 data
drwxr-xr-x.
2 root root
6 Mar
14 19:
44 logs
5)拉取gitlan中文版镜像,这个提前可以拉取下来,不然执行docker-compose需要等待
[root@localhost gitlab]
# docker pull zhaocheng172/gitlab-ce-zh:latest
6)启动gitlab容器
在启动前,先要修改宿主机的
22端口,因为宿主机占用了
22端口,所以启动容器会失败,因为映射不过来,修改如下:
vim /etc/ssh/sshd_config
默认在第
17行修改:Port
2222
修改后,重启sshd:systemctl restart sshd
[root@localhost gitlab]
# netstat -anpt | grep 22
tcp
0 0 0.0.0.0:
2222 0.0.0.0: LISTEN
31889/sshd
tcp6
0 0 :::
2222 ::: LISTEN
31889/sshd
7)正式启动
[root@localhost gitlab]
# docker-compose up -d
Creating network
"gitlab_default" with the
default driver
Creating gitlab ... done
[root@localhost gitlab]
# docker-compose ps
Name
Command
State
Ports
---------------------------------------------------------------------------------------------------------------
gitlab /assets/wrapper Up (health: starting)
0.0.0.0:
22->
22/tcp,
0.0.0.0:
443->
443/tcp,
0.0.0.0:
80->
80/tcp
8)设置gitlab开机启动
[root@localhost gitlab]
# chmod +x /etc/rc.local
[root@localhost gitlab]
# ls -l /etc/rc.local
lrwxrwxrwx.
1 root root
13 Mar
14 12:
57 /etc/rc.local -> rc.d/rc.local
[root@localhost gitlab]
# echo "cd /root/gitlab && docker-compose up -d" >> /etc/rc.local
9)gitlab管理页面
输入配置的ip或者域名
这里我是使用的域名登陆
另外就是如果这台服务开启了selinux的话,要是重启机器的话会导致ssh连接不上,解决方法要不就是关闭selinux,要不就是开启支持的端口,默认docker-compose部署gitlab官方推荐的是修改
22端口,所以要修改一些配置
或者要不就是直接
#sed -i 's/enforcing/disabled/' /etc/selinux/config # 永久
# 安装修改工具
yum -y install policycoreutils-
Python
# 查看selinux中的ssh的端口,输出为 22
semanage port -l | grep ssh
# 新增端口
semanage port -a -t ssh_port_t -p tcp
2222
由于我是拿测试机做的所以我需要将这个写入我windows的C:\Windows\System32\drivers\etc\hosts
192.168.30.27 harbor.zhaocheng.com
192.168.30.28 gitlab.zhaocheng.com
docker-compose重启命令,这个是需要在docker-compose.yml下才能重启
docker-compose restart
用户:root,首次登陆需要手动设置密码