当前位置:   article > 正文

2023-2024云计算省赛样题整理2_chinaskills_cloud_paas_v2.0.2.iso 国基北盛

chinaskills_cloud_paas_v2.0.2.iso 国基北盛

  私有云部分

1、私有云服务搭建

1.1 基础环境配置(0.2分)

使用提供的用户名密码,登录提供的OpenStack私有云平台,在当前租户下,使用CentOS7.9镜像,创建两台云主机,云主机类型使用4vCPU/12G/100G_50G类型。当前租户下默认存在一张网卡,自行创建第二张网卡并连接至controller和compute节点(第二张网卡的网段为10.10.X.0/24,X为工位号,不需要创建路由)。自行检查安全组策略,以确保网络正常通信与ssh连接,然后按以下要求配置服务器:

(1)设置控制节点主机名为controller,设置计算节点主机名为compute;

(2)修改hosts文件将IP地址映射为主机名;

完成后提交控制节点的用户名、密码和IP地址到答题框。

此处两个节点都需要修改(IP自行配置)!!!

  1. [root@controller ~]# hostnamectl set-hostname controller
  2. [root@compute ~]# hostnamectl set-hostname compute
  3. vi /etc/selinux/config
  4. SELINUX=disable # enable修改成disable
  5. vi /etc/hosts
  6. 控制节点IP controller
  7. 计算节点IP compute
  8. 检查有没有防火墙跟iptables,有的话需要关闭,没有不用理会
  9. systemctl stop firewalld
  10. systemctl disable firewalld
  11. iptables -F
  12. iptables -X
  13. iptables -Z
  14. service iptables save

1.2 Yum源配置(0.2分)

使用提供的http服务地址,在http服务下,存在centos7.9和iaas的网络yum源,使用该http源作为安装iaas平台的网络源。分别设置controller节点和compute节点的yum源文件http.repo。完成后提交控制节点的用户名、密码和IP地址到答题框。

  1. [root@controller ~]# mv /etc/yum.repos.d/* /media
  2. [root@controller ~]# vi /etc/yum.repos.d/http.repo
  3. [centos]
  4. name=centos
  5. baseurl=http://IP/centos
  6. gpgcheck=0
  7. enabled=1
  8. [iaas]
  9. name=iaas
  10. baseurl=http://IP/iaas/iaas-repo
  11. gpgcheck=0
  12. enabled=1
  13. [root@controller ~]# scp /etc/yum.repos.d/http.repo root@compute:/etc/yum.repos.d/http.repo

1.3 配置无秘钥ssh(0.2分)

配置controller节点可以无秘钥访问compute节点,配置完成后,尝试ssh连接compute节点的hostname进行测试。完成后提交controller节点的用户名、密码和IP地址到答题框。

  1. [root@controller ~]# ssh-keygen
  2. [root@controller ~]# ssh-copy-id root@compute
  3. [root@controller ~]# ssh root@compute

1.4 基础安装(0.2分)

在控制节点和计算节点上分别安装openstack-iaas软件包。

在控制节点和计算节点上分别安装openstack-iaas软件包,根据表2配置两个节点脚本文件中的基本变量(配置脚本文件为/etc/openstack/openrc.sh)。

此处自行配置

1.5 数据库安装与调优(1分)

在控制节点上使用安装Mariadb、RabbitMQ等服务。并进行相关操作。

在controller节点上使用iaas-install-mysql.sh 脚本安装Mariadb、Memcached、RabbitMQ等服务。安装服务完毕后,修改/etc/my.cnf文件,完成下列要求:

1.设置数据库支持大小写;

2.设置数据库缓存innodb表的索引,数据,插入数据时的缓冲为4G;

3.设置数据库的log buffer为64MB;

4.设置数据库的redo log大小为256MB;

5.设置数据库的redo log文件组为2。

6.修改Memcached的相关配置,将内存占用大小设置为512MB,调整最大连接数参数为2048;

7.调整Memcached的数据摘要算法(hash)为md5;

完成后提交控制节点的用户名、密码和IP地址到答题框。

  1. [root@controller /]# source /etc/openstack/openrc.sh
  2. [root@controller /]# iaas-install-mysql.sh
  3. [root@controller /]# mysql -uroot -p000000
  4. show variables like 'innodb%'; # 查询所需字段
  5. [root@controller /]# vi /etc/my.cnf
  6. # 在[mysqld]字段下添加以下内容
  7. lower_case_table_names = 1
  8. innodb_buffer_pool_size = 4G
  9. innodb_log_buffer_size = 64MB
  10. innodb_log_file_size = 256MB
  11. innodb_log_files_in_group = 2
  12. [root@controller /]# vim /etc/sysconfig/memcached
  13. MAXCONN="2048" #修改
  14. CACHESIZE="512" #修改
  15. hash_algorithm=md5 #增加
  16. [root@controller /]# systemctl restart mysqld
  17. [root@controller /]# systemctl restart memcached.service

1.6 Keystone服务安装与使用(1分)

在控制节点上安装Keystone服务并创建用户。

在controller节点上使用iaas-install-keystone.sh脚本安装Keystone服务。

然后创建OpenStack域210Demo,其中包含Engineering与Production项目,在域210Demo中创建组Devops,其中需包含以下用户:

1.Robert用户是Engineering项目的用户(member)与管理员(admin),email地址为:Robert@lab.example.com

2.George用户是Engineering项目的用户(member),email地址为:George@lab.example.com

3.William用户是Production项目的用户(member)与管理员(admin),email地址为:William@lab.example.com

4.John用户是Production项目的用户(member),email地址为:John@lab.example.com。

完成后提交控制节点的用户名、密码和IP地址到答题框。

  1. [root@controller /]# iaas-install-keystone.sh
  2. [root@controller /]# source /etc/keystone/admin-openrc.sh
  3. [root@controller /]# openstack domain create 210Demo
  4. [root@controller /]# openstack project create Engineering --domain 210Demo
  5. [root@controller /]# openstack project create Production --domain 210Demo
  6. [root@controller /]# openstack group create Devops --domain 210Demo
  7. [root@controller /]# openstack user create Robert --domain 210Demo --project Engineering --email Robert@lab.example.com
  8. [root@controller /]# openstack user create George --domain 210Demo --project Engineering --email Robert@lab.example.com
  9. [root@controller /]# openstack user create William --domain 210Demo --project Production --email William@lab.example.com
  10. [root@controller /]# openstack user create John --domain 210Demo --project Production --email John@lab.example.com
  11. [root@controller /]# openstack role add member --user Robert --project Engineering
  12. [root@controller /]# openstack role add admin --user Robert --project Engineering
  13. [root@controller /]# openstack role add member --user George --project Engineering
  14. [root@controller /]# openstack role add member --user William --project Production
  15. [root@controller /]# openstack role add admin --user William --project Production
  16. [root@controller /]# openstack role add member --user John --project Production

1.7 Glance安装与使用(1分)

在控制节点上安装Glance 服务。上传镜像至平台,并设置镜像启动的要求参数。

在controller节点上使用iaas-install-glance.sh脚本安装glance服务。然后使用提供的coreos_production_pxe.vmlinuz镜像(该镜像为Ironic Deploy镜像,是一个AWS内核格式的镜像,在OpenStack Ironic裸金属服务时需要用到)上传到OpenStack平台中,命名为deploy-vmlinuz。完成后提交控制节点的用户名、密码和IP地址到答题框。

  1. [root@controller /]# iaas-install-glance.sh
  2. [root@controller /]# glance image-create --name deploy-vmlinuz --disk-format qcow2 --container-format bare --file /root/images/coreos_production_pxe.vmlinuz
  3. [root@controller /]# openstack image list

1.8 Nova安装与优化(1分)

在控制节点和计算节点上分别安装Nova服务。安装完成后,完成Nova相关配置。

在controller节点和compute节点上分别使用iaas-install-placement.sh脚本、iaas-install-nova -controller.sh脚本、iaas-install-nova-compute.sh脚本安装Nova服务。在OpenStack中,修改相关配置文件,修改调度器规则采用缓存调度器,缓存主机信息,提升调度时间。配置完成后提交controller点的用户名、密码和IP地址到答题框。

  1. [root@controller /]# iaas-install-placement.sh
  2. [root@controller /]# iaas-install-nova-controller
  3. [root@compute ~]# iaas-install-nova-compute.sh
  4. [root@controller /]# vim /etc/nova/nova.conf
  5. driver=simple_scheduler # 配置文件中有这个字段,查找后添加即可
  6. [root@controller /]# systemctl restart openstack-nova*

1.9 Neutron安装(0.5分)

在控制和计算节点上正确安装Neutron服务。

使用提供的脚本iaas-install-neutron-controller.sh和iaas-install-neutron-compute.sh,在controller和compute节点上安装neutron服务。完成后提交控制节点的用户名、密码和IP地址到答题框。

  1. [root@controller /]# iaas-install-neutron-controller.sh
  2. [root@compute ~]# iaas-install-neutron-compute.sh

1.10 Dashboard安装(0.5分)

在控制节点上安装Dashboard服务。安装完成后,将Dashboard中的 Django数据修改为存储在文件中。

在controller节点上使用iaas-install-dashboad.sh脚本安装Dashboard服务。安装完成后,修改相关配置文件,完成下列两个操作:

1.使得登录Dashboard平台的时候不需要输入域名;

2.将Dashboard中的Django数据修改为存储在文件中。

完成后提交控制节点的用户名、密码和IP地址到答题框。

  1. [root@controller ~]# iaas-install-dashboard.sh
  2. [root@controller ~]# vim /etc/openstack-dashboard/local_settings
  3. SESSION_ENGINE = 'django.contrib.sessions.backends.file' # 最后改为file
  4. OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = False # Ture改为False
  5. [root@controller ~]# systemctl restart httpd memcached.service

2、私有云服务运维

2.1 Heat编排-创建用户(3分)

编写Heat模板create_user.yaml,创建名为heat-user的用户。

使用自己搭建的OpenStack私有云平台,使用heat编写摸板(heat_template_version: 2016-04-08)创建名为”chinaskills”的domain,在此domain下创建名为beijing_group的租户,在此租户下创建名为cloud的用户,将此文件命名及保存在/root/user_create.yml,完成后提交controller点的用户名、密码和IP地址到答题框。(竞赛系统会执行yaml文件,请确保执行的环境)

  1. [root@controller ~]# vim /root/user_create.yml
  2. heat_template_version: 2016-04-08
  3. resources:
  4. chinaskills:
  5. type: OS::Keystone::Domain
  6. properties:
  7. name: "chinaskills"
  8. beijing_group:
  9. type: OS::Keystone::Project
  10. properties:
  11. name: "beijing_group"
  12. domain: { get_resource: chinaskills }
  13. cloud:
  14. type: OS::Keystone::User
  15. properties:
  16. name: "cloud"
  17. domain: { get_resource: chinaskills }
  18. default_project: { get_resource: beijing_group }
  19. [root@controller ~]# openstack stack create -t /root/user_create.yml

2.2 KVM优化(3分)

在OpenStack平台上修改相关配置文件,启用-device virtio-net-pci in kvm。

在自行搭建的OpenStack私有云平台或赛项提供的all-in-one平台上,修改相关配置文件,启用-device virtio-net-pci in kvm,配置完成后提交控制节点的用户名、密码和IP地址到答题框。

  1. [root@controller ~]# vim /etc/nova/nova.conf
  2. --libvirt_use_virtio_for_bridges=true #新增,注意前面有两个短横

2.3 NFS对接Glance后端存储(3分)

使用OpenStack私有云平台,创建一台云主机,安装NFS服务,然后对接Glance后端存储。

使用赛项提供的OpenStack私有云平台,创建一台云主机(镜像使用CentOS7.9,flavor使用带临时磁盘50G的),配置该主机为nfs的server端,将该云主机中的50G磁盘通过/mnt/test目录进行共享(目录不存在可自行创建)。然后配置controller节点为nfs的client端,要求将/mnt/test目录作为glance后端存储的挂载目录。配置完成后提交controller控制节点的用户名、密码和IP地址到答题框。

  1. [nfs]
  2. 确认有安装这两个包
  3. [root@nfs-server ~]# rpm -qa | grep rpcbind
  4. rpcbind-0.2.0-49.el7.x86_64
  5. [root@nfs-server ~]# rpm -qa | grep nfs-utils
  6. nfs-utils-1.3.0-0.68.el7.x86_64
  7. [root@nfs-server ~]# mkdir /mnt/test
  8. [root@nfs-server ~]# vi /etc/exports
  9. /mnt/test *(rw,no_root_squash)
  10. 保存退出
  11. [root@nfs-server ~]# exportfs -r #生效配置
  12. [root@nfs-server ~]# systemctl start rpcbind && systemctl start nfs
  13. [root@nfs-server ~]# showmount -e 10.26.21.24 #nfs端ip
  14. [controller]
  15. 确认有安装nfs
  16. [root@controller ~]# rpm -qa | grep nfs-utils
  17. nfs-utils-1.3.0-0.68.el7.x86_64
  18. [root@controller ~]# mount -t nfs 10.26.21.24:/mnt/test /var/lib/glance/images/
  19. [root@controller ~]# df -h #查看挂载状态
  20. [root@controller ~]# cd /var/lib/glance/images
  21. [root@controller ~]# chown glance:glance images/
  22. [root@controller ~]# glance image-create --name cirros --disk-format qcow2 --container-format bare --file cirros-0.3.4-x86_64-disk.img #上传测试镜像
  23. [root@controller ~]# ll /var/lib/glance/images/
  24. total 12980
  25. -rw-r----- 1 glance glance 13287936 Jan 2 12:41 981b12bd-1090-4122-8787-5085ae6fc8f4
  26. [nfs]
  27. [root@nfs-server ~]# ll /mnt/test
  28. total 12980
  29. -rw-r-----. 1 161 161 13287936 Jan 2 12:41 981b12bd-1090-4122-8787-5085ae6fc8f4
  30. #查看两个镜像id是否一致,一致即可

2.4 Redis主从(3分)

使用赛项提供的OpenStack私有云平台,创建两台云主机,配置为redis的主从架构。

使用赛项提供的OpenStack私有云平台,申请两台CentOS7.9系统的云主机,使用提供的http源,在两个节点安装redis服务并启动,配置redis的访问需要密码,密码设置为123456。然后将这两个redis节点配置为redis的主从架构。配置完成后提交redis主节点的用户名、密码和IP地址到答题框。

  1. [主/从]
  2. vim /etc/redis.conf #两个节点都要完成
  3. bind 0.0.0.0 #将127.0.0.1改成0.0.0.0
  4. requirpass 123456 #新增
  5. [从:10.26.17.49]
  6. 在上面配置的基础上从库继续新增两行
  7. slaveof 10.26.21.47 6379 #主库ip
  8. masterauth 123456 #主库密码
  9. [root@slave ~]# redis-server redis.conf & #加载redis配置文件并后台运行
  10. [root@slave ~]# redis-cli -h 10.26.17.49
  11. 10.26.17.49:6379> auth 123456
  12. 10.26.17.49:6379> info replication
  13. # Replication
  14. role:slave
  15. master_host:10.26.24.47
  16. ...
  17. [主:10.26.24.47]
  18. [root@master ~]# redis-server redis.conf & #加载redis配置文件并后台运行
  19. [root@master ~]# redis-cli -h 10.26.21.47
  20. 10.26.21.47:6379> auth 123456
  21. 10.26.21.47:6379> info replication
  22. # Replication
  23. role:master
  24. connected_slaves:1
  25. ...

2.5 Linux系统调优-脏数据回写(3分)

修改系统配置文件,要求将回写磁盘的时间临时调整为60秒。

Linux系统内存中会存在脏数据,一般系统默认脏数据30秒后会回写磁盘,修改系统配置文件,要求将回写磁盘的时间临时调整为60秒。完成后提交controller节点的用户名、密码和IP地址到答题框。

  1. [root@controller ~]# vim /etc/sysctl.conf
  2. vm.dirty_expire_centisecs = 6000 #新增一行,单位毫秒
  3. [root@controller ~]# sysctl -p #生效配置

2.6 Glance调优(3分)

在OpenStack平台中,修改相关配置文件,将子进程数量相应的配置修改成2。

在OpenStack平台中,glance-api处理请求的子进程数量默认是0,只有一个主进程,请修改相关配置文件,将子进程数量相应的配置修改成2,这样的话有一个主进程加2个子进程来并发处理请求。完成后提交控制节点的用户名、密码和IP地址到答题框。

  1. [root@controller ~]# vim /etc/glance/glance-api.conf
  2. #找到这个,去掉注释,将0改2
  3. workers = 2

容器云部分

容器云服务搭建

4.1 部署容器云平台

使用OpenStack私有云平台创建两台云主机,云主机类型使用4vCPU/12G/100G类型,分别作为Kubernetes集群的Master节点和node节点,然后完成Kubernetes集群的部署,并完成Istio服务网格、KubeVirt虚拟化和Harbor镜像仓库的部署。

完成后提交Master节点的用户名、密码和IP到答题框。

  1. [root@localhost ~]# mount -o loop chinaskills_cloud_paas_v2.0.2.iso /mnt/ #挂载
  2. [root@localhost ~]# cp -rfv /mnt/* /opt/
  3. [root@localhost ~]# umount /mnt/
  4. [root@localhost ~]# mv /opt/kubeeasy /usr/bin/kubeeasy #转移二进制命令文件
  5. [root@localhost ~]# kubeeasy install depend \ #安装依赖包
  6. --host 10.24.2.10,10.24.2.11 \
  7. --user root \
  8. --password 000000 \
  9. --offline-file /opt/dependencies/base-rpms.tar.gz
  10. [root@localhost ~]# kubeeasy check ssh \ #连通性测试
  11. --host 10.24.2.10,10.24.2.11 \
  12. --user root \
  13. --password 000000
  14. [root@localhost ~]# kubeeasy create ssh-keygen \ #配置免密钥
  15. --master 10.24.2.10 \
  16. --worker 10.24.2.11 \
  17. --user root --password 000000
  18. [root@localhost ~]# kubeeasy install kubernetes \ #安装kubernetes集群
  19. --master 10.24.2.10 \
  20. --worker 10.24.2.11 \
  21. --user root \
  22. --password 000000 \
  23. --version 1.22.1 \
  24. --offline-file /opt/kubernetes.tar.gz
  25. [root@k8s-master-node1 ~]# kubectl cluster-info #查看集群状态
  26. Kubernetes control plane is running at https://apiserver.cluster.local:6443
  27. CoreDNS is running at
  28. https://apiserver.cluster.local:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
  29. To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
  30. [root@k8s-master-node1 ~]# kubeeasy add --virt kubevirt #安装kubevirt集群
  31. [root@k8s-master-node1 ~]# kubeeasy add --istio istio #安装istio服务网格环境
  32. [root@k8s-master-node1 ~]# kubeeasy add --registry harbor #安装harbor仓库

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/70442
推荐阅读
相关标签
  

闽ICP备14008679号