2020云计算省赛总结
- 一、私有云部署运维
- 二、容器部署运维
-
- 1 Docker运维
- 2 K8s部署
- 云计算平台的拓扑图如图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) Mariadb1.编写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
-
在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
-
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