计算机节点、服务节点环境架设

by on
3 minute read

说明

所有的服务器分为2类:

  • 安装数据库、云实验室应用等软件的服务节点
  • 只安装docker的,用来跑学生实验环境的计算节点 这两类节点都需要安装docker服务,建议计算节点的docker安装放在所有部署流程的最后进行。

一、centos7.5 安装docker

1、检查路径

df -h

检查各路径挂载点大小,确定docker的root dir 放在哪里。

2、 卸载旧版本docker

yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

3、安装相关工具

yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4、 安装docker

`yum -y install docker-ce docker-ce-cli containerd.io`

5、配置docker服务,开机自动启动

`systemctl enable docker`

6、配置dockerd 相关配置

`systemctl edit docker.service`

然后增加以下内容:

```xml
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 --registry-mirror=https://registry.docker-cn.com --insecure-registry=172.17.3.111:5000
```

注意: –insecure-registry=172.17.3.111:5000只有计算节点需要配置,具体IP以实际安装的私有镜像仓库地址为准。 如果需要修改root dir(参考第一步的情况),增加:–data-root=/xxxx

`systemctl daemon-reload`
`systemctl start docker.service`

7、 检查端口监听情况

`netstat -lntp | grep dockerd`

查看2375端口是否被监听上

8、关闭firewalld

`systemctl stop firewalld`

9、禁止firewalld开机自动启动

`systemctl disable firewalld`

10、配置docker network(各参数按实际来,服务节点不需要配置)

`docker network create -d macvlan --subnet=172.17.32.0/23 --gateway=172.17.32.1 -o parent=enp61s0f1.1031 vlan1031

这一步不明白,到时候联系jzh

二、计算节点安装lxcfs(此步骤放在计算节点安装完了docker之后也可以)

1.

cd /opt/ #### 2. 
yum install -y fuse fuse-lib fuse-devel git libtool #### 3. 
git clone git://github.com/lxc/lxcfs #### 4. 
cd lxcfs #### 5. 
./bootstrap.sh #### 6. 
./configure #### 7. 
make #### 8. 
make install #### 9. 
sudo mkdir -p /var/lib/lxcfs #### 10. 制作为service:

vim /lib/systemd/system/lxcfs.service

然后输入以下内容:

[Unit]
Description=FUSE filesystem for Docker
Before=docker.service
Documentation=man:lxcfs(1)

[Service]
ExecStart=/usr/local/bin/lxcfs /var/lib/lxcfs/
KillMode=process
Restart=on-failure
ExecStopPost=-/bin/fusermount -u /var/lib/lxcfs
Delegate=yes

[Install]
WantedBy=multi-user.target

11. 设置开机启动:

systemctl enable lxcfs

12. 启动:

systemctl start lxcfs

13、测试:

```shell
docker run --rm -it -m 256m --memory-swap 256m \
  -v /var/lib/lxcfs/proc/cpuinfo:/proc/cpuinfo:rw \
  -v /var/lib/lxcfs/proc/diskstats:/proc/diskstats:rw \
  -v /var/lib/lxcfs/proc/meminfo:/proc/meminfo:rw \
  -v /var/lib/lxcfs/proc/stat:/proc/stat:rw \
  -v /var/lib/lxcfs/proc/swaps:/proc/swaps:rw \
  -v /var/lib/lxcfs/proc/uptime:/proc/uptime:rw \
  ubuntu:16.04 free -h
```

参考:https://github.com/lxc/lxcfs

三、服务节点安装软件

redis 安装

`docker run --restart always --name redis -d -p 6379:6379 redis:5.0.9`

rabbitmq 安装

`docker run -d --restart always --hostname my-rabbit --name rabbit -p 8088:15672 -p 5672:5672 rabbitmq:3-management`

registry安装

docker run -d -v /home/registry:/var/lib/registry -p 5000:5000 --restart=always --privileged=true --name registry -e REGISTRY_STORAGE_DELETE_ENABLED=true registry:2

mysql安装

docker run --restart always -p 3306:3306 --name mysql -v /var/lib/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=clab -e TZ=Asia/Shanghai -d mysql:5.7.28 --default-time_zone='+8:00' --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --skip-character-set-client-handshake --sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

注意:上面这条命令是一条命令,只是太长了。。。

安装完数据库后,使用附件中的数据库初始化脚本,初始化此数据库。(自己的电脑最好有一个mysql数据库的客服端,比如mysql workbench等等)

guacd安装

这个软件和部署云实验室的tomcat是一 一对应的,如果需要部署两套云实验室,那么就需要部署两套guacd

docker run -d --restart always --name guacd -p 4822:4822 guacamole/guacd:1.1.0`

如果需要两套,那么第二套和第一套只是端口映射和容器名的不同:

docker run -d --restart always --name guacd1 -p 4823:4822 guacamole/guacd:1.1.0`

fsp安装

在部署fsp前,需要联系开发人员wangmeng给你传一个jar包,你需要告知:

  • 即将分配给fsp的ip地址和端口
  • 部署的mysql数据库的ip地址和端口 将开发人员给的jar包重命名为app.jar,放在/root/fsp(需自己创建)文件夹下:

    docker run -d --restart always -p 8001:80 -v /root/fsp:/app --name fsp evan11/openoffice4-java8:latest

tomcat的安装

在部署tomcat前,需要联系开发人员wangmeng给你传一个**war**包,你需要告知: - 部署的fsp的ip地址和端口 - 部署的guacd的ip地址和端口 - 部署的mysql数据库的ip地址和端口 - 部署的rabbitmq的ip地址和端口
在服务器/root/下创建文件夹cloudlab1,将开发人员给你的war包上传到/root/cloudlab1文件夹下。

docker run --restart always --name cloudlab1 -d -p 8080:8080 -v /root/cloudlab1/:/usr/local/tomcat/webapps -v /etc/localtime:/etc/localtime -e TZ="Asia/Shanghai" tomcat:8.5-jdk8-openjdk

如果要部署两套,那么开发人员需要给你2个war包,创建2个不同的文件夹/root/cloudlab1、/root/cloudlab2,分别上传。 然后启动第二个tomcat:

docker run --restart always --name cloudlab2 -d -p 8081:8080 -v /root/cloudlab2/:/usr/local/tomcat/webapps -v /etc/localtime:/etc/localtime -e TZ="Asia/Shanghai" tomcat:8.5-jdk8-openjdk

*nginx 安装

这一步除非客户提供了域名,不然不需要安装! 如果需要安装,联系开发人员索要nginx dockerfile 进入到nginx dockerfile所在目录,然后执行打包命令:

docker build -t subdomain-nginx .

打包出镜像后,启动:

docker run --name nginx -v /root/nginx.conf:/etc/nginx/nginx.conf:ro -d -p 80:80 subdomain-nginx

至此,云实验室部署阶段完成!

东软, 大数据, docker
comments powered by Disqus