2020云计算省赛云平台运维开发总结

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

    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    

    在这里插入图片描述

  • 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 

    在这里插入图片描述

  • 在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花小智

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值