小言_互联网的博客

2020云计算省赛总结

565人阅读  评论(0)

前言:本文写于2020/11/29 15:25分,写这篇文章的目的有三:
1、对专科两年所学做个总结
2、让未来能有机会参加竞赛的同学有个参考
3、浮躁的社会,需要静下心来思考

author:caiaoqiang
date:2020/11/29

云计算平台的拓扑图如图1所示,IP地址规划如下图所示。

一、私有云部署运维

1 划分compute磁盘

[root@compute ~]# parted /dev/md126
GNU Parted 3.1
Using /dev/md126
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p                                                                
Model: Linux Software RAID Array (md)
Disk /dev/md126: 3801GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: pmbr_boot

Number  Start   End     Size    File system  Name    Flags
 1      1049kB  2097kB  1049kB                       bios_grub
 2      2097kB  1076MB  1074MB  xfs
 3      1076MB  1083GB  1082GB                       lvm

(parted) mkpart cinder 1084G 1184G
(parted) mkpart swift 1185G 1285G
(parted) p                                                                
Model: Linux Software RAID Array (md)
Disk /dev/md126: 3801GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: pmbr_boot

Number  Start   End     Size    File system  Name    Flags
 1      1049kB  2097kB  1049kB                       bios_grub
 2      2097kB  1076MB  1074MB  xfs
 3      1076MB  1083GB  1082GB                       lvm
 4      1084GB  1184GB  100GB              cinder
 5      1185GB  1285GB  100GB             swift



[root@compute ~]# mkfs.xfs /dev/md126p4
meta-data=/dev/md126p6           isize=512    agcount=8, agsize=30496 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=243968, imaxpct=25
         =                       sunit=32     swidth=64 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=1056, version=2
         =                       sectsz=512   sunit=32 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@compute ~]# mkfs.xfs /dev/md126p5
meta-data=/dev/md126p6           isize=512    agcount=8, agsize=30496 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=243968, imaxpct=25
         =                       sunit=32     swidth=64 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=1056, version=2
         =                       sectsz=512   sunit=32 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

2 配置网络、主机名

修改和添加/etc/sysconfig/network-scripts/ifcfg-enp*(具体的网口)文件。

(1)controller节点
配置网络:
enp8s0: 192.168.100.10
DEVICE=enp8s0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.100.10
PREFIX=24
GATEWAY=192.168.100.1

enp9s0: 192.168.200.10
DEVICE=enp9s0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.200.10
PREFIX=24
配置主机名:
 # hostnamectl set-hostname controller
按ctrl+d 退出  重新登陆

(2)compute 节点
配置网络:
enp8s0: 192.168.100.20
DEVICE=enp8s0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.100.20
PREFIX=24
GATEWAY=192.168.100.1

enp9s0: 192.168.200.20
DEVICE=enp9s0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.200.20
PREFIX=24

配置主机名:

# hostnamectl set-hostname compute

按ctrl+d 退出 重新登陆

3 配置yum源

#Controller和compute节点
(1)yum源备份
#rm -rf /etc/yum.repos.d/*
(2)创建repo文件
【controller】
在/etc/yum.repos.d创建centos.repo源文件

# vi /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=file:///opt/iaas/iaas-repo
gpgcheck=0
enabled=1

【compute】
在/etc/yum.repos.d创建centos.repo源文件

# vi /etc/yum.repos.d/local.repo
[root@compute ~]# vi /etc/yum.repos.d/local.repo

[centos]
name=centos
baseurl=ftp://controller/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=ftp://controller/iaas/iaas-repo
gpgcheck=0
enabled=1

主机名映射
[root@controller ~]# vi /etc/hosts 

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.10 controller
192.168.100.20 compute

 [root@compute ~]# vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.10 controller
192.168.100.20 compute

(3)挂载iso文件
【挂载CentOS-7-x86_64-DVD-1804.iso】

[root@controller ~]# mount -o loop CentOS-7-x86_64-DVD-1804.iso  /mnt/
[root@controller ~]# mkdir /opt/centos
[root@controller ~]# mkdir /opt/iaas
[root@controller ~]# cp -rvf /mnt/* /opt/centos/
[root@controller ~]# umount  /mnt/

【挂载XianDian-IaaS-v2.4.iso】

[root@controller ~]# mount -o loop chinaskills_cloud_iaas.iso  /mnt/
mount: /dev/loop0 is write-protected, mounting read-only
[root@controller ~]# cp -rvf /mnt/* /opt/iaas

(4)搭建ftp服务器,开启并设置自启

[root@controller ~]# yum install vsftpd -y
[root@controller ~]# vi /etc/vsftpd/vsftpd.conf
添加anon_root=/opt/
保存退出
[root@controller ~]# systemctl start vsftpd
[root@controller ~]# systemctl enable vsftpd

(5)配置防火墙和Selinux

【controller/compute】
编辑selinux文件
# vi /etc/selinux/config
SELINUX=permissive
[root@controller ~]# setenforce 0
关闭防火墙并设置开机不自启
# systemctl stop firewalld.service
# systemctl disable firewalld.service

(6)清除缓存,验证yum源
【controller/compute】
# yum clean all
# yum list

4 编辑环境变量

# controller和compute节点
# yum install iaas-xiandian -y
编辑文件/etc/xiandian/openrc.sh,此文件是安装过程中的各项参数,根据每项参数上一行的说明及服务器实际情况进行配置。
Vim模式删除所有内容:%d

##--------------------system Config--------------------##
##Controller Server Manager IP. example:x.x.x.x
HOST_IP=192.168.100.10

##Controller HOST Password. example:000000 
HOST_PASS=000000

##Controller Server hostname. example:controller
HOST_NAME=controller

##Compute Node Manager IP. example:x.x.x.x
HOST_IP_NODE=192.168.100.20

##Compute HOST Password. example:000000 
HOST_PASS_NODE=000000

##Compute Node hostname. example:compute
HOST_NAME_NODE=compute

##--------------------Chrony Config-------------------##
##Controller network segment IP.  example:x.x.0.0/16(x.x.x.0/24)
network_segment_IP=192.168.100.0/24

##--------------------Rabbit Config ------------------##
##user for rabbit. example:openstack
RABBIT_USER=openstack

##Password for rabbit user .example:000000
RABBIT_PASS=000000

##--------------------MySQL Config---------------------##
##Password for MySQL root user . exmaple:000000
DB_PASS=000000

##--------------------Keystone Config------------------##
##Password for Keystore admin user. exmaple:000000
DOMAIN_NAME=demo
ADMIN_PASS=000000
DEMO_PASS=000000

##Password for Mysql keystore user. exmaple:000000
KEYSTONE_DBPASS=000000

##--------------------Glance Config--------------------##
##Password for Mysql glance user. exmaple:000000
GLANCE_DBPASS=000000

##Password for Keystore glance user. exmaple:000000
GLANCE_PASS=000000

##--------------------Nova Config----------------------##
##Password for Mysql nova user. exmaple:000000
NOVA_DBPASS=000000

##Password for Keystore nova user. exmaple:000000
NOVA_PASS=000000

##--------------------Neturon Config-------------------##
##Password for Mysql neutron user. exmaple:000000
NEUTRON_DBPASS=000000

##Password for Keystore neutron user. exmaple:000000
NEUTRON_PASS=000000

##metadata secret for neutron. exmaple:000000
METADATA_SECRET=000000

##Tunnel Network Interface. example:x.x.x.x
INTERFACE_IP=192.168.100.10

##External Network Interface. example:eth1
INTERFACE_NAME=enp8s0

##External Network The Physical Adapter. example:provider
Physical_NAME=provider

##First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
minvlan=2

##Last Vlan ID in VLAN RANGE for VLAN Network. example:200
maxvlan=300

##--------------------Cinder Config--------------------##
##Password for Mysql cinder user. exmaple:000000
CINDER_DBPASS=000000

##Password for Keystore cinder user. exmaple:000000
CINDER_PASS=000000

##Cinder Block Disk. example:md126p3
BLOCK_DISK=md126p4

##--------------------Swift Config---------------------##
##Password for Keystore swift user. exmaple:000000
SWIFT_PASS=000000

##The NODE Object Disk for Swift. example:md126p4.
OBJECT_DISK=md126p5

##The NODE IP for Swift Storage Network. example:x.x.x.x.
STORAGE_LOCAL_NET_IP=192.168.100.20

##--------------------Heat Config----------------------##
##Password for Mysql heat user. exmaple:000000
HEAT_DBPASS=000000

##Password for Keystore heat user. exmaple:000000
HEAT_PASS=000000

##--------------------Zun Config-----------------------##
##Password for Mysql Zun user. exmaple:000000
ZUN_DBPASS=000000

##Password for Keystore Zun user. exmaple:000000
ZUN_PASS=000000

##Password for Mysql Kuryr user. exmaple:000000
KURYR_DBPASS=000000

##Password for Keystore Kuryr user. exmaple:000000
KURYR_PASS=000000

##--------------------Ceilometer Config----------------##
##Password for Gnocchi ceilometer user. exmaple:000000
CEILOMETER_DBPASS=000000

##Password for Keystore ceilometer user. exmaple:000000
CEILOMETER_PASS=000000

##--------------------AODH Config----------------##
##Password for Mysql AODH user. exmaple:000000
AODH_DBPASS=000000

##Password for Keystore AODH user. exmaple:000000
AODH_PASS=000000

##--------------------Barbican Config----------------##
##Password for Mysql Barbican user. exmaple:000000
BARBICAN_DBPASS=000000

##Password for Keystore Barbican user. exmaple:000000
BARBICAN_PASS=000000
# scp /etc/xiandian/openrc.sh root@compute://etc/xiandian/
The authenticity of host 'compute (192.168.100.20)' can't be established.
ECDSA key fingerprint is SHA256:RShHiJfjbyvHe3iH59hzhlPJAA2GdgjbtyvrgvbBiQ4.
ECDSA key fingerprint is MD5:a1:50:ff:a2:d0:6a:5b:2d:f0:ee:07:d5:f4:12:d3:71.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'compute,192.168.100.20' (ECDSA) to the list of known hosts.
root@compute's password: 
openrc.sh                                                                                                                        100% 3881     2.5MB/s   00:00 
   Compute节点修改tunnel IP

5 通过脚本安装私有云平台

以下脚本按顺序执行!
Controller:
iaas-pre-host.sh
iaas-install-mysql.sh
iaas-install-keystone.sh
iaas-install-glance.sh
iaas-install-nova-controller.sh
iaas-install-neutron-controller.sh
iaas-install-dashboard.sh
iaas-install-nova-compute.sh(修改配置之后运行)
iaas-install-cinder-controller.sh
iaas-install-swift-controller.sh

Compute:
iaas-install-nova-compute.sh
iaas-install-neutron-compute.sh
iaas-install-cinder-compute.sh
iaas-install-swift-compute.sh

6 创建云主机

流程:
(1)管理员->资源管理->云主机类型->创建云主机类型

(2)管理员->网络->网络->创建网络

(2)项目->网络->安全组->管理规则->添加规则(ICMP、TCP、UDP)

(3)项目->资源管理->云主机->创建云主机

7 云平台创建云主机

1 创建云主机类型

2 创建云主机网络

选择vlan模式,网络要和外网网卡一个网段,段ID要选择外网网卡所在网段


2.1绑定固定网络

3 修改安全组

4 上传镜像

[root@controller ~]# source /etc/keystone/admin-openrc.sh 
[root@controller ~]# glance image-create --name "CentOS7.5" --disk-format qcow2  --container-format bare --progress < /opt/iaas/images/CentOS_7.5_x86_64_XD.qcow2 
[=============================>] 100%
+------------------+--------------------------------------+

5 创建云主机

6 测试连接


8 Openstack命令创建云主机

1 创建云主机类型

使用命令创建一个名为 test ,ID为 6 ,内存为 2048MB ,磁盘为 10GB ,vcpu数量为 2 的云主机类型。

nova flavor-create test   6   2048   10   2
+----+------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | Description |
+----+------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
| 6  | test | 2048      | 10   | 0         |      | 2     | 1.0         | True      | -           |
+----+------+-----------+------+-----------+------+-------+-------------+-----------+-------------

2 创建云主机网络

思路:查看云平台创建好的网络,查看它的详细信息,用命令创建的时候,指定参数即可!

[root@controller ~]# neutron net-create --router:external --provider:network_type vlan --provider:physical_network provider --provider:segmentation_id 100 ext
neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
Created a new network:
+---------------------------+--------------------------------------+
| Field                     | Value                                |
+---------------------------+--------------------------------------+
| admin_state_up            | True                                 |
| availability_zone_hints   |                                      |
| availability_zones        |                                      |
| created_at                | 2020-12-01T00:22:18Z                 |
| description               |                                      |
| id                        | 37edbae1-9478-472e-a681-8587fbb464fb |
| ipv4_address_scope        |                                      |
| ipv6_address_scope        |                                      |
| is_default                | False                                |
| mtu                       | 1500                                 |
| name                      | ext                                  |
| port_security_enabled     | True                                 |
| project_id                | 213eb58e471448cf969fd925382bc08d     |
| provider:network_type     | vlan                                 |
| provider:physical_network | provider                             |
| provider:segmentation_id  | 100                                  |
| revision_number           | 5                                    |
| router:external           | True                                 |
| shared                    | False                                |
| status                    | ACTIVE                               |
| subnets                   |                                      |
| tags                      |                                      |
| tenant_id                 | 213eb58e471448cf969fd925382bc08d     |
| updated_at                | 2020-12-01T00:22:19Z                 |
+---------------------------+--------------------------------------+

创建子网

[root@controller ~]# neutron subnet-create ext 192.168.100.0/24 --name sub_ext --gateway 192.168.100.1
neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
Created a new subnet:
+-------------------+------------------------------------------------------+
| Field             | Value                                                |
+-------------------+------------------------------------------------------+
| allocation_pools  | {"start": "192.168.100.2", "end": "192.168.100.254"} |
| cidr              | 192.168.100.0/24                                     |
| created_at        | 2020-12-01T00:28:39Z                                 |
| description       |                                                      |
| dns_nameservers   |                                                      |
| enable_dhcp       | True                                                 |
| gateway_ip        | 192.168.100.1                                        |
| host_routes       |                                                      |
| id                | 0be6f045-08b2-459f-a989-b58863b1a29d                 |
| ip_version        | 4                                                    |
| ipv6_address_mode |                                                      |
| ipv6_ra_mode      |                                                      |
| name              | sub_ext                                              |
| network_id        | 37edbae1-9478-472e-a681-8587fbb464fb                 |
| project_id        | 213eb58e471448cf969fd925382bc08d                     |
| revision_number   | 0                                                    |
| service_types     |                                                      |
| subnetpool_id     |                                                      |
| tags              |                                                      |
| tenant_id         | 213eb58e471448cf969fd925382bc08d                     |
| updated_at        | 2020-12-01T00:28:39Z                                 |
+-------------------+------------------------------------------------------+

3 创建云主机

[root@controller ~]# glance image-list
+--------------------------------------+-----------+
| ID                                   | Name      |
+--------------------------------------+-----------+
| db8a716d-0a2e-49eb-8892-681e7b6be41d | CentOS7.5 |
+--------------------------------------+-----------+
[root@controller ~]# neutron net-list
neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
+--------------------------------------+------+----------------------------------+-------------------------------------------------------+
| id                                   | name | tenant_id                        | subnets                                               |
+--------------------------------------+------+----------------------------------+-------------------------------------------------------+
| 37edbae1-9478-472e-a681-8587fbb464fb | ext  | 213eb58e471448cf969fd925382bc08d | 0be6f045-08b2-459f-a989-b58863b1a29d 192.168.100.0/24 |
| e0cad34b-b797-4790-98d1-450b1acbe232 | NET  | 213eb58e471448cf969fd925382bc08d | fc0ed34b-d25c-4962-9e36-d9a7e9b7b9f7 192.168.200.0/24 |
+--------------------------------------+------+----------------------------------+-------------------------------------------------------+
[root@controller ~]# nova flavor-list
+--------------------------------------+------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
| ID                                   | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | Description |
+--------------------------------------+------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
| 12688fda-6239-4058-b8cc-85b97e90eca3 | AAA  | 8192      | 100  | 0         |      | 8     | 1.0         | True      | -           |
| 6                                    | test | 2048      | 10   | 0         |      | 2     | 1.0         | True      | -           |
| c5af1899-5ca2-4b5f-bf5e-b03d6e049f28 | BBB  | 4200      | 50   | 0         |      | 4     | 1.0         | True      | -           |
+--------------------------------------+------+-----------+------+-----------+------+-------+-------------+-----------+-------------+

[root@controller ~]# nova boot --flavor c5af1899-5ca2-4b5f-bf5e-b03d6e049f28 --image db8a716d-0a2e-49eb-8892-681e7b6be41d --nic net-id=e0cad34b-b797-4790-98d1-450b1acbe232 pc-cai
+--------------------------------------+--------------------------------------------------+
| Property                             | Value                                            |
+--------------------------------------+--------------------------------------------------+
| OS-DCF:diskConfig                    | MANUAL                                           |
| OS-EXT-AZ:availability_zone          |                                                  |
| OS-EXT-SRV-ATTR:host                 | -                                                |
| OS-EXT-SRV-ATTR:hostname             | pc-cai                                           |
| OS-EXT-SRV-ATTR:hypervisor_hostname  | -                                                |
| OS-EXT-SRV-ATTR:instance_name        |                                                  |
| OS-EXT-SRV-ATTR:kernel_id            |                                                  |
| OS-EXT-SRV-ATTR:launch_index         | 0                                                |
| OS-EXT-SRV-ATTR:ramdisk_id           |                                                  |
| OS-EXT-SRV-ATTR:reservation_id       | r-q8pfr6gu                                       |
| OS-EXT-SRV-ATTR:root_device_name     | -                                                |
| OS-EXT-SRV-ATTR:user_data            | -                                                |
| OS-EXT-STS:power_state               | 0                                                |
| OS-EXT-STS:task_state                | scheduling                                       |
| OS-EXT-STS:vm_state                  | building                                         |
| OS-SRV-USG:launched_at               | -                                                |
| OS-SRV-USG:terminated_at             | -                                                |
| accessIPv4                           |                                                  |
| accessIPv6                           |                                                  |
| adminPass                            | kmuX4hyXnv6N                                     |
| config_drive                         |                                                  |
| created                              | 2020-12-01T00:38:47Z                             |
| description                          | -                                                |
| flavor:disk                          | 50                                               |
| flavor:ephemeral                     | 0                                                |
| flavor:extra_specs                   | {}                                               |
| flavor:original_name                 | BBB                                              |
| flavor:ram                           | 4200                                             |
| flavor:swap                          | 0                                                |
| flavor:vcpus                         | 4                                                |
| hostId                               |                                                  |
| host_status                          |                                                  |
| id                                   | 24192942-af87-444a-8145-f0cca1fc6880             |
| image                                | CentOS7.5 (db8a716d-0a2e-49eb-8892-681e7b6be41d) |
| key_name                             | -                                                |
| locked                               | False                                            |
| metadata                             | {}                                               |
| name                                 | pc-cai                                           |
| os-extended-volumes:volumes_attached | []                                               |
| progress                             | 0                                                |
| security_groups                      | default                                          |
| status                               | BUILD                                            |
| tags                                 | []                                               |
| tenant_id                            | 213eb58e471448cf969fd925382bc08d                 |
| updated                              | 2020-12-01T00:38:47Z                             |
| user_id                              | ea1193f0ce094069bbbbe22399c30929                 |
+--------------------------------------+--------------------------------------------------+

4 创建云硬盘

建一个2G的硬盘名字为haha

[root@controller ~]# cinder create --name haha 2
+--------------------------------+--------------------------------------+
| Property                       | Value                                |
+--------------------------------+--------------------------------------+
| attachments                    | []                                   |
| availability_zone              | nova                                 |
| bootable                       | false                                |
| consistencygroup_id            | None                                 |
| created_at                     | 2020-12-01T00:48:15.000000           |
| description                    | None                                 |
| encrypted                      | False                                |
| id                             | 0439bafc-2d9a-473c-8f38-e1ace00808a3 |
| metadata                       | {}                                   |
| migration_status               | None                                 |
| multiattach                    | False                                |
| name                           | haha                                 |
| os-vol-host-attr:host          | None                                 |
| os-vol-mig-status-attr:migstat | None                                 |
| os-vol-mig-status-attr:name_id | None                                 |
| os-vol-tenant-attr:tenant_id   | 213eb58e471448cf969fd925382bc08d     |
| replication_status             | None                                 |
| size                           | 2                                    |
| snapshot_id                    | None                                 |
| source_volid                   | None                                 |
| status                         | creating                             |
| updated_at                     | None                                 |
| user_id                        | ea1193f0ce094069bbbbe22399c30929     |
| volume_type                    | None                                 |
+--------------------------------+--------------------------------------+

 

挂载
[root@controller ~]# nova volume-attach 24192942-af87-444a-8145-f0cca1fc6880 0439bafc-2d9a-473c-8f38-e1ace00808a3 
+----------+--------------------------------------+
| Property | Value                                |
+----------+--------------------------------------+
| device   | /dev/vdb                             |
| id       | 0439bafc-2d9a-473c-8f38-e1ace00808a3 |
| serverId | 24192942-af87-444a-8145-f0cca1fc6880 |
| volumeId | 0439bafc-2d9a-473c-8f38-e1ace00808a3 |
+----------+--------------------------------------+

登录查看挂载成功

4.1 RAID0

[root@pc-cai yum.repos.d]# cat ftp.repo
[centos]
name=centos
baseurl=ftp://192.168.100.10/centos
gpgcheck=0
enabled=1
安装mdadm命令
 

制作raid0
Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): 
Using default response p
Partition number (1-4, default 1): 
First sector (2048-4194303, default 2048):   
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-4194303, default 4194303): +100M
Partition 1 of type Linux and of size 100 MiB is set

Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): 
Using default response p
Partition number (2-4, default 2): 
First sector (206848-4194303, default 206848): 
Using default value 206848
Last sector, +sectors or +size{K,M,G} (206848-4194303, default 4194303): +100M
Partition 2 of type Linux and of size 100 MiB is set

Command (m for help): w
The partition table has been altered!
[root@pc-cai yum.repos.d]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda    253:0    0   50G  0 disk 
└─vda1 253:1    0   50G  0 part /
vdb    253:16   0    2G  0 disk 
├─vdb1 253:17   0  100M  0 part 
└─vdb2 253:18   0  100M  0 part 

[root@pc-cai yum.repos.d]# mdadm -Cv /dev/md0 -l 0 -n 2 /dev/vdb1 /dev/vdb2
mdadm: chunk size defaults to 512K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

[root@pc-cai yum.repos.d]# lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
vda     253:0    0   50G  0 disk  
└─vda1  253:1    0   50G  0 part  /
vdb     253:16   0    2G  0 disk  
├─vdb1  253:17   0  100M  0 part  
│ └─md0   9:0    0  196M  0 raid0 
└─vdb2  253:18   0  100M  0 part  
  └─md0   9:0    0  196M  0 raid0 


[root@pc-cai yum.repos.d]# mkfs.ext4 /dev/md0
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=512 blocks, Stripe width=1024 blocks
50200 inodes, 200704 blocks
10035 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=33816576
25 block groups
8192 blocks per group, 8192 fragments per group
2008 inodes per group
Superblock backups stored on blocks: 
	8193, 24577, 40961, 57345, 73729

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done 

4.2 RAID1

[root@pc-cai yum.repos.d]# mdadm -Cv /dev/md1 -l 1 -n 2 /dev/vdb1 /dev/vdb2
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
mdadm: size set to 101376K

4.3 RAID5

[root@pc-cai yum.repos.d]# mdadm -Cv /dev/md5 -l 5 -n 3 /dev/vdb1 /dev/vdb2 /dev/vdb3
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 202752K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.

二、容器部署运维

1 Docker部署

双节点更改
配置主机名、映射
# hostnamectl set-hostname master
[root@master ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.200.3 master
192.168.200.4 node
配置yum源
将Chinaskill_Cloud_PaaS.iso镜像包上传至master节点。
master节点:
[root@master ~]# mount -o loop chinaskills_cloud_paas.iso /mnt
mount: /dev/loop0 is write-protected, mounting read-only
[root@master ~]# cp -rvf /mnt/* /opt
[root@master ~]# vi /etc/yum.repos.d/local.repo
[root@master ~]# cat !$
cat /etc/yum.repos.d/local.repo
[k8s]
name=k8s
baseurl=file:///opt/kubernetes-repo
gpgcheck=0
enabled=1
[centos]
name=centos
baseurl=ftp://192.168.100.10/centos
gpgcheck=0
enabled=1
[root@node ~]# cat /etc/yum.repos.d/ftp.repo
[k8s]
name=k8s
baseurl=ftp://master/kubernetes-repo
gpgcheck=0
enabled=1
[centos]
name=centos
baseurl=ftp://192.168.100.10/centos
gpgcheck=0
enabled=1
[root@master opt]# vi /etc/vsftpd/vsftpd.conf 
[root@master opt]# systemctl restart vsftpd
[root@master opt]# systemctl enable vsftpd


[root@master ~]# cd /opt
[root@master opt]# ll
total 60
dr-xr-xr-x   5 root root  4096 Dec  1 01:26 ChinaskillMall
dr-xr-xr-x  13 root root  4096 Dec  1 01:26 ChinaskillProject
dr-xr-xr-x   2 root root    49 Dec  1 01:26 docker-compose
dr-xr-xr-x   2 root root    49 Dec  1 01:26 harbor
dr-xr-xr-x   2 root root  4096 Dec  1 01:27 images
-r-xr-xr-x   1 root root  3049 Dec  1 01:28 k8s_harbor_install.sh
-r-xr-xr-x   1 root root  5244 Dec  1 01:28 k8s_image_push.sh
-r-xr-xr-x   1 root root  1940 Dec  1 01:28 k8s_master_install.sh
-r-xr-xr-x   1 root root  3055 Dec  1 01:28 k8s_node_install.sh
dr-xr-xr-x   4 root root 12288 Dec  1 01:28 kubernetes-repo
dr-xr-xr-x 100 root root  8192 Dec  1 01:28 plugins
dr-xr-xr-x   4 root root    38 Dec  1 01:28 yaml

部署本地docker harbor
[root@master opt]# ./k8s_harbor_install.sh 
上传镜像到docker harbor
[root@master opt]# ./k8s_image_push.sh 
输入镜像仓库地址(不加http/https): 192.168.200.3
输入镜像仓库用户名: admin
输入镜像仓库用户密码: Harbor12345
您设置的仓库地址为: 192.168.200.3,用户名: admin,密码: xxx
是否确认(Y/N): y

1 Docker运维

1)制作Dockerfile

1) Mariadb

1.编写Dockerfile制作数据库MySQL镜像,生成镜像名为Chinaskillmall-mysql:v1.1,并推送其到私有仓库。具体要求如下: 
[root@master mysqldockerfile]# ls
Dockerfile  local.repo

[root@master mysqldockerfile]# cat local.repo 
[centos]
name=centos
baseurl=ftp://192.168.100.10/centos
gpgcheck=0
enabled=1

[root@master mysqldockerfile]# cat Dockerfile 
FROM centos:centos7.5.1804
MAINTAINER Chinaskill
RUN rm -fv /etc/yum.repos.d/*
ADD local.repo /etc/yum.repos.d/
RUN yum install -y mariadb-server 
ENV C.LANG UTF-8
ENV MYSQL_ROOT_PASSWORD 123456
EXPOSE 3306

[root@master abc]# docker build -t mariadb:v1.0 ./
Sending build context to Docker daemon  3.072kB
Step 1/11 : FROM centos:centos7.5.1804
 ---> cf49811e3cdb
Step 2/11 : MAINTAINER Xiandian
 ---> Using cache
 ---> 74518c689e87
Step 3/11 : RUN rm -fv /etc/yum.repos.d/*
 ---> Using cache
 ---> fb28db3e3efc
Step 4/11 : ADD local.repo /etc/yum.repos.d/
 ---> Using cache
 ---> ea69ddd23320
...

2) Zookeeper

[root@master zookeeperdockerfile]# ll
total 213916
-rw-r–r-- 1 root root 324 Dec 1 13:44 Dockerfile
-r-xr-xr-x 1 root root 181365687 Dec 1 01:26 jdk-8u77-linux-x64.tar.gz
-r-xr-xr-x 1 root root 37676320 Dec 1 01:26 zookeeper-3.4.14.tar.gz

[root@master zookeeperdockerfile]# cat Dockerfile
FROM centos:centos7.5.1804
MAINTAINER chinaskill
ADD jdk-8u77-linux-x64.tar.gz /usr/local
ADD zookeeper-3.4.14.tar.gz /usr/local

ENV JAVA_HOME /usr/loal/jdk1.8.77
ENV GRE_HOME /usr/local/jre1.8.77
ENV ZOOKEEPER_HOME /usr/local/zookeeper-3.4.14

EXPOSE 2181
[root@master zookeeperdockerfile]# docker build -t zookeeper:2.0 ./
Sending build context to Docker daemon 219MB
Step 1/8 : FROM centos:centos7.5.1804
—> cf49811e3cdb
Step 2/8 : MAINTAINER chinaskill
—> Using cache
—> 0b29c01ef3cd

[root@master zookeeperdockerfile]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
zookeeper 2.0 c1ac00651464 5 seconds ago 625MB
mariadb 1.0 6e7398ba4904 56 minutes ago 395MB
192.168.200.3/library/mariadb 1.0 6e7398ba4904 56 minutes ago 395MB
jenkins/jenkins 2.262-centos f04839b3e211 6 weeks ago 638MB

3) Nginx

[root@master nginxdockerfile]# cat local.repo 
[centos]
name=centos
baseurl=ftp://192.168.100.10/centos
gpgcheck=0
enabled=1

[root@master nginxdockerfile]# vim Dockerfile

FROM centos:centos7.5.1804
MAINTAINER chinskill2

RUN rm -fv /etc/yum.repos.d/*
ADD local.repo /etc/yum.repos.d/

RUN yum install -y nginx

RUN rm -rf /usr/local/nginx/html/*

ADD /opt/ChinaskillMall/dist /usr/local/nginx/html/

RUN systemctl restart nginx
RUN systemctl enable nginx

EXPOSE 80

2)部署dockercompose

4) 部署wordpress
在node1节点上从仓库中拉取mysql:latest和wordpress:latest镜像,创建/root/wproject/docker-compse.yaml文件,编排部署wordpress,并设置 restart策略。
[root@master wproject]# cat docker-compose.yaml 
version: '3.3'
services:
   db:
     image: mysql:5.6
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress
   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
       WORDPRESS_DB_NAME: wordpress

查看是否部署成功:
[root@master ~]# docker ps
CONTAINER ID        IMAGE                                  COMMAND                  CREATED              STATUS                 PORTS                       NAMES
63a4923be97d        wordpress:latest                       "docker-entrypoint.s…"   About a minute ago   Up About a minute      0.0.0.0:8000->80/tcp        wproject_wordpress_1
03f6b91bc4c2        mysql:5.6                              "docker-entrypoint.s…"   About a minute ago   Up About a minute      3306/tcp                    wproject_db_1
测试

5) 部署OWNCLOUND

[root@master ownclound]# ls
docker-compose.yaml
[root@master ownclound]# vim docker-compose.yaml 

version: '3.3'
services:
  db:
      image: mysql:5.6
      restart: always
      environment:
        MYSQL_ROOT_PASSWORD: ownclound
        MYSQL_DATABASE: ownclound
        MYSQL_USER: ownclound
        MYSQL_PASSWORD: ownclound

  ownclound:
      depends_on:
        - db
      image: owncloud:latest
      restart: always
      container_name: ownclound
      ports:
        - '8001:80'
      environment:
       OWNCLOUND_DB_HOST: db:3306
       ADMIN_USERNAME: admin
       ADMIN_PASSWORD: admin



[root@master ownclound]# docker-compose up
Creating ownclound_db_1 ... done
Creating ownclound      ... done
Attaching to ownclound_db_1, ownclound
db_1         | 2020-12-01 14:49:43+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.6.49-1debian9 started.
db_1         | 2020-12-01 14:49:43+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
db_1         | 2020-12-01 14:49:43+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.6.49-1debian9 started.
db_1         | 2020-12-01 14:49:43+00:00 [Note] [Entrypoint]: Initializing database files
db_1         | 2020-12-01 14:49:43 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
db_1         | 2020-12-01 14:49:43 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
db_1         | 2020-12-01 14:49:43 0 [Note] /usr/sbin/mysqld (mysqld 5.6.49) starting as process 51 ...
db_1         | 2020-12-01 14:49:43 51 [Note] InnoDB: Using atomics to ref count buffer pool pages
db_1         | 2020-12-01 14:49:43 51 [Note] InnoDB: The InnoDB memory heap is disabled
db_1         | 2020-12-01 14:49:43 51 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
测试

6) 上传镜像到私有仓库

1、登录私有仓库

# docker login -u admin -p Harbor12345 192.168.200.3
[root@master opt]# docker login -u admin -p Harbor12345 192.168.200.3
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

2、给镜像打标签

# docker tag imagesID 192.168.200.3/library/mariadb:1.0
[root@master opt]# docker tag 6e7398ba4904 192.168.200.3/library/mariadb:1.0

3、推送镜像

[root@master opt]# docker push 192.168.200.3/library/mariadb:1.0
The push refers to repository [192.168.200.3/library/mariadb]
fdb29cfdd699: Pushed 
54214602004a: Pushed 
a5f7767600df: Pushed 
0fd18b3214aa: Pushed 
4826cdadf1ef: Mounted from library/centos 
1.0: digest: sha256:2407ee8da69ae933560bdb5dfb7329d1b1dea18eb4461f84a0b25ea40824fa85 size: 1362

2 K8s部署

[root@master opt]# ./k8s_master_install.sh 
[root@master opt]# scp k8s_node_install.sh root@node:/root      
           
                                                                                          
[root@node ~]# ls
k8s_node_install.sh
[root@node ~]# ./k8s_node_install.sh 


K8s运维


转载:https://blog.csdn.net/qq_45714272/article/details/110313164
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场