admin管理员组

文章数量:1549948

文章目录

    • 前言
    • 部署MySQL
      • 1.创建本地映射目录
      • 2.1创建配置文件
      • 2.2创建将生成用户并向其颁发权限的 SQL 脚本。
      • 3.编写mysql的yaml文件(拉取密钥,按自己配置的来)
      • 4.编写MySQL的service文件
      • 5.设置env数值
    • 部署文件服务器
      • 1.创建本地映射目录
      • 2.编写only office-document server的yaml文件(拉取密钥,按自己配置的来)
      • 3.编写only office-document server的service文件
      • 4.设置env数值
    • 部署邮件服务器
      • 1.创建本地映射目录
      • 2.编写only office-document server的yaml文件(拉取密钥,按自己配置的来)
          • `$${CI_PROJECT_NAME}主机名自行修改`
      • 3.编写only office-document server的service文件
      • 4.设置env数值
    • 部署控制面板
      • 1.创建本地映射目录
      • 2.编写only office-document server的yaml文件(拉取密钥,按自己配置的来)
      • 3.编写only office-document server的service文件
      • 4.设置env数值
    • 部署社区服务器
      • 1.创建本地映射目录
      • 2.编写only office-document server的yaml文件(拉取密钥,按自己配置的来)
      • 3.编写only office-document server的service文件(可以不使用ingress,如果使用记得把域名加上)
      • 4.设置env数值
    • 问题: 打开文件出现暂时无法访问
    • 问题:无法注册用户

前言

自备Dockerfile,docker-compose.yaml,gitlab-ci.yml文件
Dockerfile可以如下 (我已经把镜像那部分改过来了)

FROM onlyoffice/mailserver

部署MySQL

1.创建本地映射目录

sudo mkdir -p "/app/onlyoffice/mysql/conf.d";
sudo mkdir -p "/app/onlyoffice/mysql/data";
sudo mkdir -p "/app/onlyoffice/mysql/initdb";
sudo mkdir -p  /app/onlyoffice/mysql/log
sudo chmod -R 777 /app/onlyoffice/mysql/log

2.1创建配置文件

echo "[mysqld]
default_authentication_plugin=mysql_native_password
sql_mode = 'NO_ENGINE_SUBSTITUTION'
max_connections = 1000
max_allowed_packet = 1048576000
group_concat_max_len = 2048
log-error = /var/log/mysql/error.log" > /app/onlyoffice/mysql/conf.d/onlyofficef

2.2创建将生成用户并向其颁发权限的 SQL 脚本。

echo "create user 'onlyoffice'@'%' identified by '123456'; 
create user 'mail_admin'@'%' identified by '123456';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'%' IDENTIFIED BY '123456';
alter user 'root'@'%' identified with mysql_native_password by '123456';
grant all privileges on *.* to 'onlyoffice'@'%' with grant option;
grant all privileges on *.* to 'mail_admin'@'%' with grant option;
flush privileges;"> /app/onlyoffice/mysql/initdb/setup.sql

3.编写mysql的yaml文件(拉取密钥,按自己配置的来)

apiVersion: apps/v1
kind: Deployment
metadata:
  name: $${
   ONLY_NAME}-deployment
  namespace: $${
   ONLY_NAME}
  labels:
    app: $${
   ONLY_NAME}
    name: $${
   ONLY_NAME}
spec:
  replicas: 1
  selector:
    matchLabels:
      app: $${
   ONLY_NAME}
  template:
    metadata:
      labels:
        app: $${
   ONLY_NAME}
    spec:
      containers:
        - name: $${
   ONLY_NAME}
          image: mysql:8.0.29
          imagePullPolicy: IfNotPresent
          # 就绪状态检查
          readinessProbe:
            failureThreshold: 3
            initialDelaySeconds: 30
            periodSeconds: 15
            successThreshold: 2
            tcpSocket:
              port: 3306
            timeoutSeconds: 2
          # 存活状态检查
          livenessProbe:
            failureThreshold: 3
            initialDelaySeconds: 30
            periodSeconds: 15
            successThreshold: 1
            tcpSocket:
              port: 3306
            timeoutSeconds: 2
          env:
          - name: MYSQL_ROOT_PASSWORD
            value: "123456"
          - name: MYSQL_DATABASE
            value: "onlyoffice"
          ports:
            - name: mysql
              containerPort: 3306
          volumeMounts:
          - name: $${
   S3_BUCKET}-data
            mountPath: /var/lib/mysql
          - name: $${
   S3_BUCKET}-log
            mountPath: /var/log/mysql
          - name: $${
   S3_BUCKET}-conf
            mountPath: /etc/mysql/conf.d
          - name: $${
   S3_BUCKET}-initdb
            mountPath: /docker-entrypoint-initdb.d
      # 容器重启策略
      restartPolicy: Always
      # 镜像拉取秘钥,需要在rancher中提前配置
      imagePullSecrets:
        - name: $${
   IMAGE_PULL_SECRET}
      volumes:
      - name: $${
   S3_BUCKET}-conf
        hostPath:
          path: /app/onlyoffice/mysql/conf.d
      - name: $${
   S3_BUCKET}-initdb
        hostPath:
          path: /app/onlyoffice/mysql/initdb
      - name: $${
   S3_BUCKET}-data
        hostPath:
          path: /app/onlyoffice/mysql/data
      - name: $${
   S3_BUCKET}-log
        hostPath:
          path: /app/onlyoffice/mysql/log

4.编写MySQL的service文件

# service 为pod提供访问方式
apiVersion: v1
kind: Service
metadata:
  name:  $${
   ONLY_NAME}-service
  labels:
    app: $${
   ONLY_NAME}
spec:
  type: NodePort
  ports:
    - name: mysql
      port: 3306
      targetPort: 3306
      protocol: TCP
      nodePort: 32760
  selector:
    app: $${
   ONLY_NAME}

5.设置env数值

export ONLY_UI_PORT=32760
export ONLY_NAME=onlyofficemysql
export S3_BUCKET=onlyofficemysql

部署文件服务器

1.创建本地映射目录

sudo mkdir -p "/app/onlyoffice/DocumentServer/data";
sudo mkdir -p "/app/onlyoffice/DocumentServer/logs";

2.编写only office-document server的yaml文件(拉取密钥,按自己配置的来)

apiVersion: apps/v1
kind: Deployment
metadata:
  name: $${
   ONLY_NAME}-deployment
  namespace: $${
   ONLY_NAME}
  

本文标签: K8sGitLaboffice