前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >安装CoreDNS、GitLab、Jenkins

安装CoreDNS、GitLab、Jenkins

作者头像
dhyuan
发布2022-05-30 14:22:58
5960
发布2022-05-30 14:22:58
举报
文章被收录于专栏:响应式编程响应式编程

在之前创建的 repository server 上安装下面的服务。

1)搭建 CoreDNS 服务

CoreDNS服务用于开发环境中服务器主机名的解析。开发环境中的服务器通过网关提供的DHCP服务进行MAC-IP的绑定,再利用CoreDNS服务,进行IP和主机名的映射。
先从 Docer Hub 上拉取 CoreDNS 镜像。
代码语言:javascript
复制
docker pull coredns/coredns:1.8.3
停止上默认启动的 DNS 服务。

在下载 coredns 镜像之前先不要停止 DNS 服务,否则解析不到 docker 镜像仓库服务器。

代码语言:javascript
复制
sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved
在目录 /home/devops/dockerSrvStorage/coredns 下创建 2 个文件 Corefile hostsfile,内容如下:

192.168.0.1 是家里无线路由器的 IP 地址。我这里用的是 TL-WDR7650 千兆易展无线路由。

代码语言:javascript
复制
# ls
Corefile  hostsfile
# cat Corefile
.:53 {
    hosts /etc/coredns/hostsfile {
        fallthrough
    }
    forward . 192.168.0.1:53
    log
}

把之前创建的 Guest 虚拟机 IP 都加进来。

代码语言:javascript
复制
# cat hostsfile
devops@repositoryServer:~/dockerSrvStorage/coredns$ cat hostsfile
192.168.0.114 repositoryServer dnsServer gitlab jenkins gitlab.telbox.cn jenkins.telbox.cn
192.168.0.112 devopServer0
192.168.0.113 devopServer1
192.168.0.115 devopServer2

192.168.0.106 k8s-master-0
192.168.0.107 k8s-node-0
192.168.0.109 k8s-node-1
192.168.0.108 k8s-node-2

192.168.0.114 basehost0
192.168.0.111 ubuntu20Server
运行 CoreDNS 镜像
代码语言:javascript
复制
docker run -it -d --net=host \
--name=coredns --restart=always \
-v /home/devops/dockerSrvStorage/coredns:/etc/coredns/ \
coredns/coredns:1.8.3 \
-conf /etc/coredns/Corefile

备注: –net=host 要指定,如果不指定,在同宿主机的容器中无法查询 DNS。如果指定了该项,则无须指定-p 选项。默认使用宿主机的端口。

Reference:

BIND, Dnsmasq 等常见 DNS Server(却不包含 CoreDNS): https://computingforgeeks.com/bind-vs-dnsmasq-vs-powerdns-vs-unbound/ 安装 Core DNS Docker: https://blog.csdn.net/weixin_36938307/article/details/105390004

2)GitLab

各种 docker 服务一般都需要持久化映射,以方便配置、数据的保存。本地使用 /home/devops/dockerSrvStorage 作为各种应用存储的根目录。 其中参数 –hostname gitlab.telbox.cn 定义了用户访问 gitlab 服务的主机域名

代码语言:javascript
复制
mkdir -p /home/devops/dockerSrvStorage/gitlab
sudo docker pull gitlab/gitlab-ce:13.9.2-ce.0

sudo docker run --detach \
--hostname gitlab.telbox.cn \
--publish 9181:443 --publish 9180:80 --publish 9182:22 \
--name gitlab \
--restart always \
--volume /home/devops/dockerSrvStorage/gitlab/config:/etc/gitlab \
--volume /home/devops/dockerSrvStorage/gitlab/logs:/var/log/gitlab \
--volume /home/devops/dockerSrvStorage/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:13.9.2-ce.0

如有需要,可进入 GitLab 容器进行配置。

代码语言:javascript
复制
sudo docker exec gitlab gitlab-ctl reconfigure

第一次访问安装好的 GitLab 服务http://gitlab.telbox.cn:9180/需要设置root用户的口令。

Reference: https://www.jianshu.com/p/080a962c35b6 https://zhuanlan.zhihu.com/p/63786567

3)Jenkins

代码语言:javascript
复制
mkdir -p /home/devops/dockerSrvStorage/jenkins

sudo docker run -p 9183:8080 -p 9184:50000 \
--name jenkins -d \
-v /home/devops/dockerSrvStorage/jenkins:/var/jenkins_home \
jenkins/jenkins:lts

启动后,进入 docker 查看初始密码。首次访问 jenkins.telbox.cn:9183 时会用到这个密码。

代码语言:javascript
复制
sudo docker exec -it jenkins bash
jenkins@e061aa64ed7b:/$ cat /var/jenkins_home/secrets/initialAdminPassword

访问 jenkins.telbox.cn:9183 输入初始密码,选择安装建议的插件。 插件安装完毕后,要求输入 Jenkins URL,这里输入 jenkins.telbox.cn:9183

The Jenkins URL is used to provide the root URL for absolute links to various Jenkins resources. That means this value is required for proper operation of many Jenkins features including email notifications, PR status updates, and the BUILD_URL environment variable provided to build steps. The proposed default value shown is not saved yet and is generated from the current request, if possible. The best practice is to set this value to the URL that users are expected to use. This will avoid confusion when sharing or viewing links.

如果需要,可以给 Jenkins 配置日志

代码语言:javascript
复制
mkdir -p /home/devops/dockerSrvStorage/jenkins/data
cat > /home/devops/dockerSrvStorage/jenkins/data/log.properties <<EOF
handlers=java.util.logging.ConsoleHandler
jenkins.level=FINEST
java.util.logging.ConsoleHandler.level=FINEST
EOF
docker run --name myjenkins -p 8080:8080 -p 50000:50000 --env JAVA_OPTS="-Djava.util.logging.config.file=/var/jenkins_home/log.properties" -v `pwd`/data:/var/jenkins_home jenkins

如果 Jenkins 插件安装比较慢,可以使用国内插件镜像源,参考https://blog.csdn.net/oYinHeZhiGuang/article/details/104867525。

Reference: https://github.com/jenkinsci/docker/blob/master/README.md https://www.cnblogs.com/xiaoqi/p/docker-jenkins-cicd.html

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-03-06,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 响应式编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 在之前创建的 repository server 上安装下面的服务。
    • 1)搭建 CoreDNS 服务
      • 2)GitLab
        • 3)Jenkins
        相关产品与服务
        容器镜像服务
        容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
        http://www.vxiaotou.com