【Kubernetes】k8s的devops功能说明和devops搭建配置详细说明

本文详细介绍了如何在Kubernetes环境中搭建DevOps工具链,包括设置gitlab的root密码、创建项目、配置SSH密钥、全局变量、克隆与推送代码,以及部署和配置Jenkins。通过离线安装和导入插件解决无外网情况下的问题,确保Jenkins能够与Docker集成,实现自动化构建和部署。
摘要由CSDN通过智能技术生成

45f229198c7d: Pull complete

Digest: sha256:e5d73a0ebc3d80fec2130993c550b9b178ae7c7971c255509e8c9feee4c0bd6b

Status: Downloaded newer image for beginor/gitlab-ce:latest

docker.io/beginor/gitlab-ce:latest

[root@ccx ~]#

  • 导入镜像到客户机

[root@ciserver ~]# docker load -i gitlab-ce.tar

c8aa3ff3c3d3: Loading layer 117MB/117MB

82718dbf791d: Loading layer 15.87kB/15.87kB

3a0404adc8bd: Loading layer 14.85kB/14.85kB

cd7b4cc1c2dd: Loading layer 5.632kB/5.632kB

bf3d982208f5: Loading layer 3.072kB/3.072kB

3cb57942e900: Loading layer 75.85MB/75.85MB

fec139a70fd9: Loading layer 2.048kB/2.048kB

fcfdc7d11c7b: Loading layer 2.048kB/2.048kB

634a9b449438: Loading layer 2.048kB/2.048kB

aa3fb55f308c: Loading layer 15.87kB/15.87kB

bd9f0bd5757b: Loading layer 1.375GB/1.375GB

5cef898093ce: Loading layer 2.473MB/2.473MB

Loaded image: beginor/gitlab-ce:latest

[root@ciserver ~]# docker images | grep gitlab

beginor/gitlab-ce latest 5595d4ff803e 3 years ago 1.5GB

[root@ciserver ~]#

  • 部署bit容器

代码都是基本知识的代码,就不做解释了。

[root@ciserver ~]# mkdir -p /data/gitlab/etc /data/gitlab/log /data/gitlab/data

[root@ciserver ~]# chmod 777 /data/gitlab/etc /data/gitlab/log /data/gitlab/data

[root@ciserver ~]#

[root@ciserver ~]# docker run -dit --name=gitlab --restart=always -p 8443:443 -p 80:80 -p 222:22 -v /data/gitlab/etc:/etc/gitlab -v /data/gitlab/log:/var/log/gitlab -v /data/gitlab/data:/var/opt/gitlab --privileged=true beginor/gitlab-ce

9c498bea946e8ef18c7ac96692cf9f0403afe4714c2cf3f47109868d8cf14c8c

[root@ciserver ~]#

可以看到gitlab和registry的状态都是up的

[root@ciserver ~]# docker ps | head -n3

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

9c498bea946e beginor/gitlab-ce “/assets/wrapper” About a minute ago Up About a minute (health: starting) 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:222->22/tcp, :::222->22/tcp, 0.0.0.0:8443->443/tcp, :::8443->443/tcp gitlab

98fbe2c0b3a2 hub.c.163.com/library/registry “/entrypoint.sh /etc…” 17 hours ago Up 17 hours 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp registry

[root@ciserver ~]#

  • 在创建此容器时,因为使用了数据卷,所以gitlab容器的配置也都保存在服务器的相关目录上了。

因为我们需要修改gitlab的配置并让其生效,所以大概等上面的gitlab运行2分钟之后,先关闭此容器,做相关操作再开启

[root@ciserver ~]# ls /data/gitlab/

data/ etc/ log/

[root@ciserver ~]# ls /data/gitlab/data/

backups gitlab-monitor nginx public_attributes.json

bootstrapped gitlab-rails node-exporter redis

gitaly gitlab-shell postgres-exporter trusted-certs-directory-hash

git-data gitlab-workhorse postgresql

gitlab-ci logrotate prometheus

[root@ciserver ~]# ls /data/gitlab/etc/

gitlab.rb ssh_host_ecdsa_key.pub ssh_host_rsa_key

gitlab-secrets.json ssh_host_ed25519_key ssh_host_rsa_key.pub

ssh_host_ecdsa_key ssh_host_ed25519_key.pub trusted-certs

[root@ciserver ~]# ls /data/gitlab/log/

gitaly gitlab-shell nginx postgresql redis sshd

gitlab-monitor gitlab-workhorse node-exporter prometheus redis-exporter unicorn

gitlab-rails logrotate postgres-exporter reconfigure sidekiq

[root@ciserver ~]#

先停止服务

[root@ciserver ~]# docker stop gitlab

gitlab

[root@ciserver ~]#

  • 修改vim /data/gitlab/etc/gitlab.rb如下内容

[root@ciserver ~]# vim /data/gitlab/etc/gitlab.rb

#下面是修改后的最终效果

13 external_url ‘http://192.168.59.151’ #改成自己的ip

48 gitlab_rails[‘gitlab_ssh_host’] = ‘192.168.59.151’#改成自己的ip

343 gitlab_rails[‘gitlab_shell_ssh_port’] = 222 #这是物理机端口,上面我们定义的是222

#上面3样修改完以后保存退出

  • 修改vim /data/gitlab/data/gitlab-rails/etc/gitlab.yml如下内容

[root@ciserver ~]# vim /data/gitlab/data/gitlab-rails/etc/gitlab.yml

#下面是修改后的最终效果

13 host: 192.168.59.151 #改成自己ip

#然后保存退出

  • 启动gitlab服务

状态为up才正常

[root@ciserver ~]# docker start gitlab

gitlab

[root@ciserver ~]#

[root@ciserver ~]# docker ps | head -n3

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

9c498bea946e beginor/gitlab-ce “/assets/wrapper” 17 minutes ago Up 20 seconds (health: starting) 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:222->22/tcp, :::222->22/tcp, 0.0.0.0:8443->443/tcp, :::8443->443/tcp gitlab

98fbe2c0b3a2 hub.c.163.com/library/registry “/entrypoint.sh /etc…” 17 hours ago Up 17 hours 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp registry

[root@ciserver ~]#

设置gitlab的root密码并登陆

  • 打开gitlab设置root密码

在浏览器直接输入该虚机的ip即可进入gitlab

在这里插入图片描述

我设置的root密码是ccxhero!【注意,密码简单的话会报界面500错误】

密码设置好以后呢,就成登陆界面了

在这里插入图片描述

  • 登陆

用上面设置的密码,用户名是root,登陆

在这里插入图片描述

创建一个项目并设置ssh秘钥

  • 点击创建一个新项目

随便输入一个名称,选择公开,然后创建

在这里插入图片描述

在这里插入图片描述

  • 上面呢一个基本项目就算创建完成了,可以通过ssh的方式拉取镜像,所以我们现在给这个镜像仓库设置秘钥

先到虚拟机上生成秘钥【就是免密登陆的那种秘钥】

#中途直接回车一次即可

[root@ciserver ~]# ssh-keygen -N “”

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):

Your identification has been saved in /root/.ssh/id_rsa.

Your public key has been saved in /root/.ssh/id_rsa.pub.

The key fingerprint is:

SHA256:LAwIpATm3/uyXaarAp6DCwRWF4hTo1PeWmO678lAEzs root@ciserver

The key’s randomart image is:

±–[RSA 2048]----+

|=+o=.o. |

|=+=o+ |

|o=oo.= |

|o o Oo… |

| . E .o S |

|… + … |

|+ oo . o |

|o+ .+.+ + |

|… oB+=. |

±—[SHA256]-----+

[root@ciserver ~]# ls .ssh/

id_rsa id_rsa.pub known_hosts

我们要的是这个文件下的公钥信息,复制,后面要用

[root@ciserver ~]# cat .ssh/id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQz8lAkNH/VfnbgUGG1mDQ61pjuitvZ1QGzk75uHN1ib0bNrHyqjZDlRfQa+ssfr3DrUyoX3JmyH36hw56c5ulrZmlIplvqXWz5ZYHw+gYy0btBTLqfTytCJPh6AC8KDL0OIMqubf1H1GTSuhCIn86/91u2FSjdFq6mrryfEIV6IAf5FwTzDJhhvcpeLpPM4QzDf/yarnk2fs79eKSP9QIC4UnyLTW9FxKMKCrruNczLn22od0oKQzZMzeitKunRKaYtv8w8kafKE+LeXvGun/l0aVyb2EawaYQNmw3VkYlToy9NwUCySYS25NCxTonZR84ChyBfX2Jh8u/R+LyBE9 root@ciserver

[root@ciserver ~]#

  • 现在回到网页上,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值