您的位置:首页 > 大数据 > 云计算

2020云计算省赛总结

2020-12-12 23:42 4837 查看

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

author:caiaoqiang
date:2020/11/29

2020云计算省赛总结

  • 8 Openstack命令创建云主机
  • 二、容器部署运维
  • 2)部署dockercompose
  • 5) 部署OWNCLOUND
  • 6) 上传镜像到私有仓库
  • 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
    20000
    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运维

  • 内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: