0%

云计算-容器云-任务1

云计算赛项第二场-容器云-任务1- 江苏卷

【任务1】Docker CE 及私有仓库安装任务[5 分]

【适用平台】私有云

准备工作

master

hostnamectl set-hostname master

bash

node

hostnamectl set-hostname node

bash

http://172.19.25.11/iso/chinaskills_cloud_paas.iso下载到`master`主机/opt文件夹下

cd /opt

curl http://172.19.25.11/iso/chinaskills_cloud_paas.iso

将镜像挂载到/mnt文件夹下

mount chinaskills_cloud_paas.iso /mnt

拷贝到/opt文件夹下

cp -rfv /mnt/* /opt

取消挂载

umount /mnt

http://172.19.25.11/iso/CentOS-7-x86_64-DVD-1804.iso下载到`master`主机/opt文件夹下

cd /opt

curl -O http://172.19.25.11/iso/CentOS-7-x86_64-DVD-1804.iso

将镜像挂载到/mnt文件夹下

mount CentOS-7-x86_64-DVD-1804.iso /mnt

拷贝到/opt文件夹下

cp -rfv /mnt/* /opt

取消挂载

umount /mnt

将yum.repo.d下面的源全部移出

mv /etc/yum.repos.d/* /tmp

新建local.repo源

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

1
2
3
4
5
6
7
8
9
[docker]
baseurl=file:///opt/kubernetes-repo
gpgcheck=0
enabled=1

[centos]
baseurl=file:///opt/centos
gpgcheck=0
enabled=1

yum clean

yum list

配置时间同步

在master 节点上部署chrony 服务器,允许其他节点同步时间,启动服务并设置为开机启动;在node节点上指定master节点为上游NTP 服务器,重启服务并设为开机启动。完成后提交控制节点的用户名、密码和IP 地址到答题框。

yum install -y chrony

配置master节点

vi /etc/chrony.conf

删除默认规则(在默认规则前加上#号)

添加以下规则

1
2
3
4
5
server master iburst

allow 192.168.20.0/24

local stratum 10

配置node节点

vi /etc/chrony.conf

删除默认规则(在默认规则前加上#号)

添加以下规则

1
server master iburst

启动服务并设置为开机启动

systemctl restart chronyd

systemctl enable chronyd

修改路由转发

1
2
3
4
5
modprobe br_netfilter
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
echo "net.bridge.bridge-nf-call-ip6tables = 1" >> /etc/sysctl.conf
echo "net.bridge.bridge-nf-call-iptables = 1" >> /etc/sysctl.conf
sysctl -p

【题目1】安装Docker CE 和Docker Compose[1 分]

使用提供的centos7.5-paas 镜像启动两台云主机master 和node,flavor 如上表所示。在master、node 各节点中分别安装DockerCE 和docker-compose。完成后提交master 节点的用户名、密码和IP 到答题框。

安装docker

yum install -y yum-u* device-mapper-p* lvm2

yum install -y docker-ce

systemctl restart docker

systemctl enable docker

安装docker-compose

cp -rfv /opt/docker-compose/v1.25.5-docker-compose-Linux-x86_64 /usr/local/bin/docker-compose

检查docker版本

docker -v

docker-compose version

修改 Docker Cgroup Driver为systemd

1
2
3
4
5
6
7
8
tee /etc/docker/daemon.json <<-'EOF'
{
"insecure-registries" : ["0.0.0.0/0"],
"registry-mirrors": ["https://5twf62k1.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
systemctl restart docker

【题目2】安装私有仓库[1 分]

在master 节点安装私有仓库,导入/opt/images 目录下所有镜像,并推送到私有仓库。完成后提交master 节点的用户名、密码和IP 到答题框

导入镜像

1
2
3
4
for i in $(ls /opt/images|grep tar)
do
docker load -i /opt/images/$i
done

安装Harbor仓库

cd /opt

cd harbor

tar -zxvf harbor-offline-installer-v2.1.0.tgz

cd harbor

cp harbor.yml.tmpl harbor.yml

vi harbor.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
hostname: 192.168.20.123 # 将域名修改为本机IP

harbor_admin_password: Harbor12345

#https: # 禁用https

# https port for harbor, default is 443

# port: 443

# The path of cert and key files for nginx

# certificate: /your/certificate/path

# private_key: /your/private/key/path

./prepare

./install.sh --with-clair

将镜像导入Harbor仓库:

./k8s_image_push.sh

1
2
3
4
5
6
7
8
9
输入镜像仓库地址(不加http/https): 192.168.20.123

输入镜像仓库用户名: admin

输入镜像仓库用户密码: Harbor12345

您设置的仓库地址为: 192.168.20.123,用户名: admin,密码: xxx

是否确认(Y/N): Y

【题目3】容器编排[3 分]

在master 节点上编写/root/docker-compose.yaml 文件,具体要求如下:
(1)容器1 名称:wordpress;镜像:wordpress:latest;端口映射:82:80;
(2)容器 2 名称:mysql;镜像:mysql:5.6;
(3)MySQL root用户密码:123456;

(4)创建数据库wordpress。

完成后编排部署Wordpress。

查看本地镜像中是否有wordprees和mysql

docker images

若没有则

docker pull wordpress:latest

docker pull mysql:5.6

这样就可以继续了

cd /root

vi docker-compose.yaml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
version: '3.3'
services:
mysql:
image: mysql:5.6
restart: always
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- mysql
image: wordpress:latest
ports:
- "82:80"
restart: always
environment:
WORDPRESS_DB_HOST: mysql:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress

开始部署

docker-compose up -d

查看是否部署成功

docker ps

打开浏览器访问192.168.20.132:82