docker镜像打包

根据官方说明:gitlaby docker镜像中已经不包含邮件代理传输,需要重新打包镜像

FROM gitlab/gitlab-ce
RUN apt-get update && apt-get install postf

官方说明:https://docs.gitlab.cn/jh/install/docker.html 官方说明

创建pvc 采用的是阿里云的nas 可以更换其他的

---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
annotations:
k8s.kuboard.cn/pvcType: Dynamic
pv.kubernetes.io/bind-completed: 'yes'
pv.kubernetes.io/bound-by-controller: 'yes'
volume.beta.kubernetes.io/storage-provisioner: nasplugin.csi.alibabacloud.com
finalizers:
- kubernetes.io/pvc-protection
name: gitlab-ce
namespace: gitlab
resourceVersion: '1233054'
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 100Gi
storageClassName: alibabacloud-cnfs-nas
volumeMode: Filesystem
volumeName: nas-xxxxxxxxx
status:
accessModes:
- ReadWriteMany
capacity:
storage: 100Gi
phase: Bound

部署pgsql

---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: postgresql
name: postgresql
namespace: gitlab
spec:
replicas: 1
selector:
matchLabels:
app: postgresql
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
template:
metadata:
labels:
app: postgresql
spec:
containers:
- env:
- name: POSTGRES_DB
value: gitlab
- name: POSTGRES_USER
value: gitlabuser
- name: POSTGRES_PASSWORD
value: '123456'
- name: POSTGRES_HOST_AUTH_METHOD
value: trust
image: 'postgres:10'
imagePullPolicy: IfNotPresent
name: postgresql
ports:
- containerPort: 5432
protocol: TCP
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: pgdata
subPath: postgresql
volumes:
- name: pgdata
persistentVolumeClaim:
claimName: gitlab-ce
---
apiVersion: v1
kind: Service
metadata:
annotations: {}
labels:
app: postgresql
name: postgresql
namespace: gitlab
spec: ports:
- name: pg
port: 5432
protocol: TCP
targetPort: 5432
selector:
app: postgresql
type: ClusterIP

部署redis

apiVersion: apps/v1
kind: StatefulSet
metadata:
annotations: {}
labels:
app: redis
k8s.kuboard.cn/name: redis
name: redis
namespace: gitlab
spec:
replicas: 1
selector:
matchLabels:
app: redis
serviceName: redis
template:
metadata:
labels:
app: redis
spec:
containers:
- env:
- name: REDIS_PASSWORD
value: '123456'
image: 'bitnami/redis:5.0'
imagePullPolicy: IfNotPresent
name: redis
ports:
- containerPort: 6379
protocol: TCP
volumeMounts:
- mountPath: /bitnami/redis/data
name: redis-data
subPath: redis
volumes:
- name: redis-data
persistentVolumeClaim:
claimName: gitlab-ce
---
apiVersion: v1
kind: Service
metadata:
annotations: {}
labels:
app: redis
name: redis
namespace: gitlab
spec:
- port: 6379
protocol: TCP
targetPort: 6379
selector:
app: redis
type: ClusterIP

部署gitlab

---
apiVersion: v1
data:
gitlab.rb: |+
external_url 'https://gitsm.com'
gitlab_rails['gitlab_email_from'] = 'xxxxx@xxxxx-inc.com'
gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
label: 'LDAP'
host: 'ldap://xxxxx:389'
port: 399
uid: 'uid'
bind_dn: 'cn=root,dc=xxxxxx,dc=com'
verify_certificates: true
active_directory: true
allow_username_or_email_login: false
block_auto_created_users: false
base: 'dc=xxxxx,dc=com'
user_filter: ''
group_base: ''
admin_group: ''
sync_ssh_keys: false
EOS
gitlab_rails['db_adapter'] = "postgresql"
gitlab_rails['db_encoding'] = "utf8"
gitlab_rails['db_username'] = "gitlabuser"
gitlab_rails['db_password'] = "123456"
gitlab_rails['db_host'] = "postgresql"
gitlab_rails['db_port'] = "5432"
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "xxxxx.xxxxx-inc.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxxxx@xxxxx-inc.com"
gitlab_rails['smtp_password'] = "xxxxx"
gitlab_rails['smtp_domain'] = "xxxxx-inc.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
user['git_user_email'] = "xxxxx@xxxxx-inc.com"
postgresql['enable'] = false
redis['enable'] = true
gitlab_rails['redis_host'] = 'redis'
gitlab_rails['redis_port'] = 6379
gitlab_rails['redis_password'] = '123456' kind: ConfigMap
metadata:
name: gitlab-config
namespace: gitlab
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
annotations: {}
labels:
app: gitlab-ce
name: gitlab-ce
namespace: gitlab
spec:
replicas: 1
selector:
matchLabels:
app: gitlab-ce
serviceName: gitlab-ce
template:
metadata:
labels:
app: gitlab-ce
spec:
containers:
- env:
- name: GITLAB_ROOT_PASSWORD
value: gitlab123456
- name: GITLAB_ROOT_EMAIL
value: gitlab@xianlai-inc.com
envFrom:
- configMapRef:
name: gitlab-config
prefix: GITLAB_OMNIBUS_CONFIG
image: 'xxxxxxxxx/gitlab-ce:latest'
imagePullPolicy: IfNotPresent
name: gitlab-ce
ports:
- containerPort: 80
name: http
protocol: TCP
- containerPort: 443
name: https
protocol: TCP
- containerPort: 22
name: ssh
protocol: TCP
volumeMounts:
- mountPath: /etc/gitlab
name: data
subPath: gitlab/conf
- mountPath: /var/opt/gitlab
name: data
subPath: gitlab/data
restartPolicy: Always
volumes:
- name: data
persistentVolumeClaim:
claimName: gitlab-ce ---
apiVersion: v1
kind: Service
metadata:
annotations: {}
labels:
app: gitlab-ce
name: gitlab-ce
namespace: gitlab
spec:
ports:
- name: http
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: gitlab-ce
type: ClusterIP

邮箱验证

QQ邮箱

需要先登录qq邮箱开启smtp,会生成一个 smtp_password

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxx@qq.com"
gitlab_rails['smtp_password'] = "xxxxxx"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = "xxx@qq.com"
user["git_user_email"] = "xxx@qq.com"

阿里云企业邮箱

可以先在阿里云域名解析中查看smtp配置,一般情况和下面一样的。

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.mxhichina.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "gitlab@xxx.com"
gitlab_rails['smtp_password'] = "xxx"
gitlab_rails['smtp_domain'] = "smtp.mxhichina.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = "gitlab@xxx.com"
user["git_user_email"] = "gitlab@xxx.com"

邮箱测试

# 重启配置
gitlab-ctl reconfigure
gitlab-ctl restart
# 进入控制台(等待进入控制台)
gitlab-rails console
# 执行测试
Notify.test_email("接收邮箱","标题","内容").deliver_now

k8s安装gitlab-ce的更多相关文章

  1. 安装gitlab ce

    切换到root用户,安装相关依赖 yum install curl policycoreutils openssh-server openssh-clients service sshd restar ...

  2. Mac安装GitLab CE记录

    0 REF REF1 原始的GitLab Documentation REF2 Installation-guide-for-GitLab-on-OS-X REF3 如何在Mac 终端升级ruby版本 ...

  3. ubunut18.04 下安装 gitlab ce版,使用清华源

    gitlab官方的ubuntu安装说明 https://about.gitlab.com/install/#ubuntu 该安装说明介绍的是gitlab-ee版本 按照该说明也能安装gitlab-ce ...

  4. Centos6安装Gitlab

    安装参考 https://about.gitlab.com/downloads/ 可以从清华的镜像下载安装包, 注意区分自己用的是哪个发行版 https://mirror.tuna.tsinghua. ...

  5. gitlab ce 中删除空项目之后,没有删除掉,访问500

    在VirtualBox中的gitlab ce,在管理页面的操作如下: 新建一个仓库名为test的仓库,并从gitlab中导入 导入失败,使用root用户登录,在 Admin Area -> Pr ...

  6. Ubuntu Docker 简单安装 GitLab

    相关博文: Ubuntu 简单安装 Docker Ubuntu 简单安装和配置 GitLab 服务器版本 Ubuntu 16.04 LTS. 1. 安装和配置 安装命令: sudo docker ru ...

  7. Centos7安装GitLab

    GitLab CE Download Archives gitlab安装调试小记 Gitlab Free Trial GitLab搭建手记 Gitlab社区版的使用 GUI PNG Gitlab升级到 ...

  8. Centos 6 搭建安装 Gitlab

    官方安装教程 gitlab / gitlab-ce 官网下载:https://www.gitlab.cc/downloads 官网安装说明:https://doc.gitlab.cc/ce/insta ...

  9. git----------如何安装gitlab,使用步骤。

    1.配置yum源        vim /etc/yum.repos.d/gitlab-ce.repo 2.复制以下内容到打开的文件中: [gitlab-ce]     name=Gitlab CE ...

  10. Linux安装Gitlab,附iSCSI分区挂载说明

    因为Gitlab数据要存放在共享存储,所以本次配置的重头戏倒变成了挂载ISCSI了. OS:CentOS 7.2IP:172.16.1.191/192.168.2.191 iSCSI分Target(服 ...

随机推荐

  1. test20230109考试总结-2023寒搜索专题

    前言 2023 年的第一篇考试总结-- 赛时得分情况: A B C D E F G \(\texttt{Total}\) \(\texttt{Rank}\) \(40\) \(80\) \(0\) \ ...

  2. CF896E Welcome home, Chtholly

    题面 维护一个\(n(n\leqslant 100000)\)个元素序列\(a_1,a_2,\dots,a_n\),有\(m(m\leqslant 100000)\)次操作,分为如下两种. 给定\(l ...

  3. Pytorch:单卡多进程并行训练

    1 导引 我们在博客<Python:多进程并行编程与进程池>中介绍了如何使用Python的multiprocessing模块进行并行编程.不过在深度学习的项目中,我们进行单机多进程编程时一 ...

  4. PWA-H5 Web App优化探索之路(Service Worker,Lighthouse)

    PWA是什么? Progressive Web App 渐进式web应用程序,简单来说,就是可以让你的WEB App,带来与原生App相媲美的用户体验.. 为什么要用PWA? 简单来说,是为了web应 ...

  5. Redis缓存的主要异常及解决方案

    作者:京东物流 陈昌浩 1 导读 Redis 是当前最流行的 NoSQL数据库.Redis主要用来做缓存使用,在提高数据查询效率.保护数据库等方面起到了关键性的作用,很大程度上提高系统的性能.当然在使 ...

  6. 记OPNsense防火墙的安装过程 - 安全

    前些天在网上看到防火墙软件OPNsense,对其有了兴趣,以前写过一个其前面的一个软件M0n0wall( 关于m0n0wall的安装及配置 ),当时也是非常有名的防火墙,现在有了OPNsense,这个 ...

  7. JDK的下载与安装-环境变量的配置

    JDK的下载与安装 环境变量的配置 配置环境变量作用 开发Java程序,需要使用JDK中提供的工具,工具在JDK9安装目录的 bin 目录下. 在DOS命令行下使用这些工具,就要先进入到JDK的bin ...

  8. C#代码整洁之道读后总结与感想

    1. 基本信息 C#代码整洁之道:代码重构与性能提升 ,英文名为Clean Code in C#. 作者:[英] 詹森·奥尔斯(Jason Alls) 著,刘夏 译 机械工业出版社,2022年4月出版 ...

  9. BIGO 如何做到夜间同时运行 2.4K 个工作流实例?

    点亮 ️ Star · 照亮开源之路 GitHub:https://github.com/apache/dolphinscheduler   ​ 精彩回顾 近期,BIGO 的大数据研发工程师许名勇在社 ...

  10. 火山引擎 DataLeap:3 个关键步骤,复制字节跳动一站式数据治理经验

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维.治理. ...