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. [WPF]颜色主题功能

    效果 点击选择皮肤颜色 代码 public enum Themes { Blue, Gray, Orange } /// <summary> /// 主题颜色管理类 /// </su ...

  2. vulnhub靶场之RIPPER: 1

    准备: 攻击机:虚拟机kali.本机win10. 靶机:Ripper: 1,下载地址:https://download.vulnhub.com/ripper/Ripper.ova,下载后直接vbox打 ...

  3. elasticsearch中使用runtime fields

    1.背景 在我们使用es的开发过程中可能会遇到这么一种情况,比如我们的线路名称字段lineName字段在设置mapping的时候使用的是text类型,但是后期发现需要使用这个字段来进行聚合操作,那么我 ...

  4. 找了几个 Solon 的商业落地项目案例!

    Solon 是啥?是一个高效的 Java 应用开发框架:更快.更小.更简单.(代码仓库:https://gitee.com/noear/solon) 提倡: 克制.简洁.开放.生态 启动快 5 - 1 ...

  5. 【MRTK】HoloLens开发基础项目设置

    前言 好记性不如烂笔头,之前做项目的时候很熟练很顺手就没有写笔记.因为排期问题项目中断几个月之后需要重新拾起来,结果发现自己现在忘记得差不多了,于是还是决定写点东西记录一下.即便是简单的项目设置,忘记 ...

  6. Python第三方库arrow

    Python第三方库arrow https://pypi.org/project/arrow/ 简介 处理时间日期的一个第三方库 Arrow is a Python library that offe ...

  7. 基于 Ubuntu 服务器配置原生的 Socks5 网关代理服务器

    常见的代理协议有 http.https.socks4/5 这三种,http协议的代理搭建方案最简单,但是http代理无法访问https网站,https代理无法实现调用远端dns,所以我个人推荐使用Sc ...

  8. org.springframework.web.filter.CharacterEncodingFilter cannot be cast to javax.servlet.Filter异常

    转:https://blog.csdn.net/u010670689/article/details/40301043 使用maven开发web应用程序, 启动的时候报错: jar not loade ...

  9. spring cloud alibaba - Nacos 下载安装

    1.关于名字 前四个字母分别为Naming和Configuration的前两个字母,最后的s为Service 2.是什么 一个更易于构建云原生应用的动态服务发现,配置管理和服务管理中心.是注册中心和配 ...

  10. StatisticalOutlierRemoval:离群点移除

    1.简介 StatisticalOutlierRemoval滤波器主要用于剔除离群点,或则测量误差导致的粗差点. 滤波思想为:对每一个点的邻域进行一个统计分析,计算它到所有临*点的*均距离.假设得到的 ...