发布于 2024-07-26 / 46 阅读
0
1

k8s部署ERP详解

【题目 1】2.2.1 容器化部署 MariaDB [0.5 分]

编写 Dockerfile 文件构建 mysql 镜像,要求基于 centos 完成 MariaDB 数据库的安装和配置,并设置服务开机自启。

编写 Dockerfile 构建镜像 erp-mysql:v1.0,要求使用 centos7.9.2009 镜像作为基础镜像,完成 MariaDB 数据库的安装,设置 root 用户的密码为 tshoperp,新建数据库 jsh_erp 并导入数据库文件 jsh_erp.sql,并设置 MariaDB 数据库开机自启。

完成后提交 Master 节点的 IP 地址、用户名和密码到答题框。(需要用到的软件包:

ERP.tar.gz

curl -O {地址}
tar -xvf    ERP.tar.gz     
cd ERP
docker load -i CentOS_7.9.2009.tar

[root@k8s-master-node1 ERP]# cat local.repo
[erp]
name=erp
baseurl=file:///root/yum
gpgcheck=0

[root@k8s-master-node1 ERP]# cat mysql_init.sh
#!/bin/bash
mysql_install_db --user=root
mysqld_safe --user=root &
sleep 8
mysqladmin -u root password 'tshoperp'

mysql -uroot -ptshoperp -e "grant all on . to 'root'@'%' identified by 'tshoperp'; flush privileges;"
mysql -uroot -ptshoperp -e "create database jsh_erp; use jsh_erp; source /opt/jsh_erp.sql;"

[root@k8s-master-node1 ERP]# cat Dockerfile-mariadb
FROM centos:centos7.9.2009

RUN rm -rf /etc/yum.repos.d/*
COPY local.repo /etc/yum.repos.d/
COPY yum /root/yum
ENV LC_ALL en_US.UTF-8
RUN yum install -y mariadb-server
COPY jsh_erp.sql /opt
COPY mysql_init.sh /opt
RUN bash /opt/mysql_init.sh
EXPOSE 3306
CMD ["mysqld_safe","--user=root"]

[root@k8s-master-node1 ERP]# docker build -t erp-mysql:v1.0 -f Dockerfile-mariadb .

 

【题目 2】2.2.2 容器化部署 Redis [0.5 分]

编写 Dockerfile 文件构建 redis 镜像,要求基于 centos 完成 Redis 服务的安装和配置,并设置服务开机自启。

编写 Dockerfile 构建镜像 erp-redis:v1.0,要求使用 centos7.9.2009 镜像作为基础镜像,完成 Redis 服务的安装,修改其配置文件关闭保护模式,并设置 Redis 服务开机自启。

完成后提交 Master 节点的 IP 地址、用户名和密码到答题框。(需要用到的软件包:

ERP.tar.gz)

[root@k8s-worker-node1 ERP]# cat Dockerfile-redis

FROM centos:centos7.9.2009

 

RUN rm -rf /etc/yum.repos.d/*

COPY local.repo /etc/yum.repos.d/

 

COPY yum /root/yum

RUN yum install -y redis

 

RUN sed -i "s/bind 127.0.0.0/bind 0.0.0.0/g" /etc/redis.conf

RUN sed -i "s/protected-mode yes/protected-mode no/g" /etc/redis.conf

 

EXPOSE 6379

CMD redis-server /etc/redis.conf

 

docker build -t erp-redis:v1.0 -f Dockerfile-redis .

【题目 3】2.2.3 容器化部署Nginx [0.5 分]

编写 Dockerfile 文件构建 nginx 镜像,要求基于 centos 完成 Nginx 服务的安装和配置,并设置服务开机自启。

编写 Dockerfile 构建镜像 erp-nginx:v1.0,要求使用 centos7.9.2009 镜像作为基础镜像,完成 Nginx 服务的安装,使用提供的 app.tar.gz 和 nginx.conf 启动 Nginx 服务,并设置开机自启。

完成后提交 Master 节点的 IP 地址、用户名和密码到答题框。(需要用到的软件包:

ERP.tar.gz)

[root@k8s-worker-node1 ERP]# cat Dockerfile-nginx

FROM centos:centos7.9.2009

 

RUN rm -rf /etc/yum.repos.d/*

COPY local.repo /etc/yum.repos.d/

 

COPY yum /root/yum

RUN yum install -y nginx

 

ADD nginx/app.tar.gz /

 

COPY nginx/nginx.conf /etc/nginx/

 

EXPOSE 80

  

CMD ["nginx","-g","daemon off;"]

 

docker build -t erp-nginx:v1.0 -f Dockerfile-nginx .

【题目 4】2.2.4 容器化部署 ERP[0.5 分]

编写 Dockerfile 文件构建 erp 镜像,要求基于 centos 完成 JDK 环境和 ERP 服务的安装与配置,并设置服务开机自启。

编写 Dockerfile 构建镜像 erp-server:v1.0,要求使用 centos7.9.2009 镜像作为基础镜像,完成 JDK 环境的安装,启动提供的 jar 包,并设置服务开机自启。

完成后提交 Master 节点的 IP 地址、用户名和密码到答题框。(需要用到的软件包:

ERP.tar.gz)

  [root@k8s-worker-node1 ERP]# cat Dockerfile-server

FROM centos:centos7.9.2009

 

RUN rm -rf /etc/yum.repos.d/*

COPY local.repo /etc/yum.repos.d/

 

COPY yum /root/yum

RUN yum install -y java*

 

COPY app.jar /opt

 

CMD java -jar /opt/app.jar

 

 

docker build -t erp-server:v1.0 -f Dockerfile-server .  

【题目 5】2.2.5 编排部署 ERP 管理系统[1 分]

编写 docker-compose.yaml 文件,要求使用镜像 mysql、redis、nginx 和 erp 完成 ERP

管理系统的编排部署。

编写 docker-compose.yaml 完成 ERP 管理系统的部署,要求定义mysql、redis、nginx和erp 共四个Service,分别使用镜像erp-redis:v1.0、erp-mysql:v1.0、erp-nginx:v1.0和 erp-server:v1.0,并将 nginx 服务的 80 端口映射到宿主机的 8888 端口。

完成后提交 Master 节点的 IP 地址、用户名和密码到答题框。(需要用到的软件包:

ERP.tar.gz)

[root@k8s-master-node1 ERP]# cat docker-compose.yaml

version: '3'

services:

 erp-mysql:

  restart: always

  container_name: erp-mysql

  image: erp-mysql:v1.0

  ports:

  - 3306:3306

 

 erp-redis:

  restart: always

  container_name: erp-redis

  image: erp-redis:v1.0

  command: redis-server --requirepass tshoperp --bind 0.0.0.0 --port 6379

  ports:

  - 6379:6379

 

 erp-server:

  restart: always

  container_name: erp-server

  image: erp-server:v1.0

  ports:

  - 9999:9999

 

 erp-nginx:

  restart: always

  container_name: erp-nginx

  image: erp-nginx:v1.0

  ports:

- 8888:80


评论