通过jenkins交付微服务到kubernetes(4)

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.

通过jenkins交付微服务到kubernetes


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,首次登陆需要手动设置密码

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/205c9d93803e5eb47c9e3dd7d0adc197.html