当前位置: 首页 > news >正文

4

【任务 1】容器云平台搭建[5 分]
【题目 1】平台部署–部署容器云平台[1.5 分]
【题目 2】平台部署–部署 Istio 服务网格[0.5 分]
【题目 3】平台部署–部署 KubeVirt 虚拟化[1 分]
【题目 4】平台部署–部署 Harbor 仓库及Helm 包管理工具[1 分]
【题目 5】集群管理–备份 ETCD 数据[1 分]

【任务 1】容器云平台搭建[5 分]

(1)安装Docker
Kubernetes默认的容器运行时仍然是Docker,使用的是kubelet中内置dockershim CRI实现。
所有节点安装Docker-ce:

yum install -y yum-utils device-mapper-persistent-data lvm2

yum install -y docker-ce

启动Docker:

systemctl start docker

systemctl enable docker

(2)安装docker-compose
在master节点安装docker-conpose:

cp -rfv /opt/paas/docker-compose/v1.25.5-docker-compose-Linux-x86_64 /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

docker-compose version

docker-compose version 1.25.5, build 8a1c60f6

【题目 1】平台部署–部署容器云平台[1.5 分]
登录OpenStack 私有云平台,使用 CentOS7.9 镜像创建两台云主机,使用 kubeeasy 工具完成Kubernetes 1.22.1 集群的搭建。然后使用 nginx 镜像在 default 命名空间下创建一个名为exam 的Pod,并为该 Pod 设置环境变量 exam,其值为 2022。 完成后提交 master 节点的用户名、密码和 IP 到答题框。
1.Kubernetes 集群部署成功得 1 分;
2.Pod 创建成功且环境变量设置正确得 0.5 分。
(1)两台节点(一台master,一台node),将提供的安装包 chinaskills_cloud_paas_v2.0.2.iso 上传至 master 节点/root 目录,并解压 到/opt 目录
[root@localhost ~]# mount -o loop chinaskills_cloud_paas_v2.0.2.iso /mnt/
[root@localhost ~]# cp -rfv /mnt/* /opt/
[root@localhost ~]# umount /mnt/
(2)安装 kubeeasy依赖
[root@localhost ~]# mv /opt/kubeeasy /usr/bin/kubeeasy
[root@localhost ~]# kubeeasy install depend \
–host 10.24.2.10,10.24.2.11 \
–user root
–password Abc@1234
–offline-file /opt/dependencies/base-rpms.tar.gz

–host:所有主机节点 IP,如:10.24.1.2-10.24.1.10,中间用“-”隔开,表示 10.24.1.2 到 10.24.1.10 范围内的所有 IP。若 IP 地址不连续,则列出所有节点 IP,用逗号隔开,如: 10.24.1.2,10.24.1.7,10.24.1.9。
–user:主机登录用户,默认为 root。
–password:主机登录密码,所有节点需保持密码一致。
–offline-file:离线安装包路径。

(3)在master节点执行以下命令部署Kubernetes集群:
[root@localhost ~]# kubeeasy install kubernetes
–master 10.24.2.10
–worker 10.24.2.11
–user root
–password Abc@1234
–version 1.22.1
–offline-file /opt/kubernetes.tar.gz
部分参数解释如下:
–master:Master节点IP。
–worker:Node节点IP,如有多个Node节点用逗号隔开。
–version:Kubernetes版本,此处只能为1.22.1。
可通过命令“tail -f /var/log/kubeinstall.log”查看安装详情或排查错误。

若集群部署失败或出现故障,可重置集群重新部署,重置命令如下:
[root@k8s-master-node1 ~]# kubeeasy reset
重置完成后再次执行步骤1.1-1.2即可重新部署集群。

部署完成后查看集群状态:
[root@k8s-master-node1 ~]# kubectl cluster-info
Kubernetes control plane is running at https://apiserver.cluster.local:6443
CoreDNS is running at https://apiserver.cluster.local:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

To further debug and diagnose cluster problems, use ‘kubectl cluster-info dump’.
查看节点负载情况:
[root@k8s-master-node1 ~]# kubectl top nodes --use-protocol-buffers
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
k8s-master-node1 389m 4% 6926Mi 43%
k8s-worker-node1 875m 10% 3365Mi 21%
(4)使用nginx镜像在default命名空间下创建一个名为exam的Pod,并为该Pod设置环境变量exam,其值为2022

docker load < /opt/extended-images/nginx_latest.tar

cat pod.yaml

apiVersion: v1
kind: Pod
metadata:
name: exam
spec:
containers:

  • name: nginx
    image: nginx
    imagePullPolicy: IfNotPresent
    env:
    • name: “exam”
      value: “2022”
      使用命令进行创建:

kubectl apply -f pod.yaml

使用命令进行验证安装的集群环境及Pod:

kubectl cluster-info

Kubernetes control plane is running at https://apiserver.cluster.local:6443
CoreDNS is running at https://apiserver.cluster.local:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use ‘kubectl cluster-info dump’.

kubectl exec exam – printenv

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=exam
exam=2022

【题目 2】平台部署–部署 Istio 服务网格[0.5 分]
在 Kubernetes 集群上完成 Istio 服务网格环境的安装,然后新建命名空间 exam,为该命名空间开启自动注入 Sidecar。 完成后提交 master 节点的用户名、密码和 IP 到答题框。
1.Istio 所有组件运行成功得 0.3 分;
2.命名空间 exam 自动注入成功得 0.2 分。
(1)安装istio服务
在master节点执行以下命令进行Istio服务网格环境的安装:
[root@k8s-master-node1 ~]# kubeeasy add --istio istio
查看Pod:
[root@k8s-master-node1 ~]# kubectl -n istio-system get pods
NAME READY STATUS RESTARTS AGE
grafana-6ccd56f4b6-twwjv 1/1 Running 0 5m15s
istio-egressgateway-7f4864f59c-nxz2l 1/1 Running 0 5m34s
istio-ingressgateway-55d9fb9f-jzhnb 1/1 Running 0 5m34s
istiod-555d47cb65-jwkgp 1/1 Running 0 5m40s
jaeger-5d44bc5c5d-h9t29 1/1 Running 0 5m15s
kiali-79b86ff5bc-v9sfk 1/1 Running 0 5m15s
prometheus-64fd8ccd65-5px64 2/2 Running 0 5m15s
查看Istio版本信息:
[root@k8s-master-node1 ~]# istioctl version
client version: 1.12.0
control plane version: 1.12.0
data plane version: 1.12.0 (2 proxies)
Istio可视化
访问Grafana(http://master_IP:33000),如图5所示:

图5 Grafana访问界面
访问Prometheus(http://master_IP:30090),如图6所示:

图6访问Prometheus
查看Targets,如图7所示:

图7查看Targets
访问Jaeger(http://master_IP:30686),如图所示:

图8访问Jaeger
访问Kiali(http://master_IP:20001),如图9所示:

图9访问Kiali

(2)在Kubernetes集群上完成Istio服务网格环境的安装,然后新建命名空间exam,为该命名空间开启自动注入Sideca

kubectl create namespace exam

kubectl label namespace exam istio-injection=enabled

在master节点执行kubectl -n istio-system get all命令和kubectl get ns exam --show-labels命令进行验证:

kubectl -n istio-system get all

NAME READY STATUS RESTARTS AGE
pod/grafana-6ccd56f4b6-ssmbl 1/1 Running 0 81s
pod/istio-egressgateway-7f4864f59c-qm7wn 1/1 Running 0 97s
pod/istio-ingressgateway-55d9fb9f-jd4pn 1/1 Running 0 97s
pod/istiod-555d47cb65-p5cmq 1/1 Running 0 104s
pod/jaeger-5d44bc5c5d-xqvbj 1/1 Running 0 81s
pod/kiali-9f9596d69-2wsjl 1/1 Running 0 80s
pod/prometheus-64fd8ccd65-w2zrg 2/2 Running 0 80s

kubectl get ns exam --show-labels

NAME STATUS AGE LABELS
exam Active 28s istio-injection=enabled
【题目 3】平台部署–部署 KubeVirt 虚拟化[1 分]
在 Kubernetes 集群上完成KubeVirt 虚拟化环境的安装。完成后提交 master 节点的用户名、密码和 IP 到答题框。
1.KubeVirt 所有组件运行成功得 1 分。
(1)在master节点执行以下命令安装KubeVirt
[root@k8s-master-node1 ~]# kubeeasy add --virt kubevirt
查看Pod:
[root@k8s-master-node1 ~]# kubectl -n kubevirt get pods
NAME READY STATUS RESTARTS AGE
virt-api-8d998846b-2xx5m 1/1 Running 0 86s
virt-api-8d998846b-tqwhq 1/1 Running 0 86s
virt-controller-76b86f6965-gz8m4 1/1 Running 0 62s
virt-controller-76b86f6965-pjjv5 1/1 Running 0 62s
virt-handler-hvf45 1/1 Running 0 62s
virt-handler-x7bvj 1/1 Running 0 62s
virt-operator-579f86869c-k9nw4 1/1 Running 0 2m22s
virt-operator-579f86869c-vtrkn 1/1 Running 0 2m22s

【题目 4】平台部署–部署 Harbor 仓库及Helm 包管理工具[1 分]
在 master 节点上完成Harbor 镜像仓库及Helm 包管理工具的部署。然后使用 nginx 镜像自定义一个 Chart,Deployment 名称为 nginx,副本数为 1,然后将该 Chart 部署到 default 命名空间下,Release 名称为 web。 完成后提交 master 节点的用户名、密码和 IP 到答题框。
1.Harbor 仓库部署成功得 0.5 分;
2.Helm 工具安装成功得 0.2 分;
3.Chart 包部署成功得 0.3 分。
(1)在master节点执行以下命令进行Harbor仓库的安装
[root@k8s-master-node1 ~]# kubeeasy add --registry harbor
部署完成后查看Harbor仓库状态:
[root@k8s-master-node1 ~]# systemctl status harbor
● harbor.service - Harbor
Loaded: loaded (/usr/lib/systemd/system/harbor.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2021-12-06 14:34:49 CST; 30s ago
在Web端通过http://master_ip访问Harbor
使用管理员账号(admin/Harbor12345)登录Harbor
(3)使用nginx镜像自定义一个Chart,Deployment名称为nginx,副本数为1,然后将该Chart部署到default命名空间下,Release名称为web
[root@k8s-master-node1 ~]# helm create mychart
Creating mychart
[root@k8s-master-node1 ~]# rm -rf mychart/templates/*
[root@k8s-master-node1 ~]# vi mychart/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: nginx
name: nginx
spec:
replicas: 1
selector:
matchLabels:
app: nginx
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
app: nginx
spec:
containers:
- image: nginx
name: nginx
resources: {}
status: {}
[root@k8s-master-node1 ~]# helm install web mychart
NAME: web
LAST DEPLOYED: Tue Sep 13 16:23:12 2022
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
在master节点执行helm status web命令进行验证:
[root@k8s-master-node1 ~]# helm status web
NAME: web
LAST DEPLOYED: Tue Sep 13 16:23:12 2022
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None

【题目 5】集群管理–备份 ETCD数据[1 分]
Kubernetes 使用 ETCD 来存储集群的实时运行数据,为防止服务器宕机导致 Kubernetes集群数据丢失,请将Kubernetes 集群数据备份到/root/etcd.db 中。完成后提交 master 节点的 IP 地址、用户名和密码到答题框。
1.etcdctl 工具安装成功得 0.2 分;
2.ETCD 数据备份成功得 0.8 分。
在master节点执行:
(1)安装etcd
首先在master节点安装etcd
[root@master ~]# yum install etcd -y
查看etcd版本
[root@master ~]# etcdctl -version
etcdctl version: 3.3.11
API version: 2
(2)将Kubernetes 集群数据备份到/root/etcd.db 中
[root@master ~]# ETCDCTL_API=3 etcdctl --endpoints 192.168.248.128:2379 \

–cert=/etc/kubernetes/pki/etcd/server.crt
–key=/etc/kubernetes/pki/etcd/server.key
–cacert=/etc/kubernetes/pki/etcd/ca.crt
snapshot save /root/etcd.db
Snapshot saved at /root/etcd.db

相关文章:

4

【任务 1】容器云平台搭建[5 分] 【题目 1】平台部署–部署容器云平台[1.5 分] 【题目 2】平台部署–部署 Istio 服务网格[0.5 分] 【题目 3】平台部署–部署 KubeVirt 虚拟化[1 分] 【题目 4】平台部署–部署 Harbor 仓库及Helm 包管理工具[1 分] 【题目 5】集群管理–备份 ET…...

C++ Day04 this指针,友元函数,重载

this指针 概念 谁调用 this 所在的函数 ,this 就存储谁的地址 特点 1, 在当前类的非静态成员函数中调用本类非静态成员时 , 默认有 this 关键字 2, 静态成员函数 , 没有 this 指针。 示例 #include <iostream> #include <cstring> using namespace std; class S…...

2023做车载测试真的可以远离内耗!转行车载月入20K!

2023年&#xff0c;车载测试正处于一个发展阶段&#xff0c;随着新能源汽车的蓬勃发展&#xff0c;电气化、智能化逐渐成为发展趋势。在汽车开发过程中&#xff0c;测试是非常重要的一个环节。现在软件越来越多地被应用到汽车上&#xff0c;对软件测试的需求也越来越多、越来越…...

LINUXZ

10.6.2 AT24C02 访问方法 设备地址 从芯片手册上可以知道&#xff0c;AT24C02 的设备地址跟它的 A2、A1、A0 引脚有关&#xff1a; 图 10.36 AT24C02 设备地址引脚配置 294 / 577 打开 I2C 模块的原理图&#xff1a; 开发板配套网盘资料\04_开发板原理图\ 04_Extend_modules\通…...

C#单例模式懒汉式与饿汉式

单例模式一般分为懒汉模式和饿汉模式&#xff0c;懒汉式单例在第一次引用时创建实例&#xff0c;不是在类加载时&#xff1b;饿汉式单例模式是一种在类加载时就创建实例的方式&#xff0c;因此也称为静态初始化。 单例模式实现的技巧时构造私有&#xff0c;向外提供静态实例。…...

小微初创企业,如何利用媒体宣传快速成长

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 对于小微初创企业来说&#xff0c;利用媒体宣传可以快速提升品牌知名度、扩大影响力&#xff0c;进而促进企业的成长。 1.确定宣传目标&#xff1a;是增加销售、提升品牌知名度、还是推…...

【封装UI组件库系列】全局样式的定义与重置

封装UI组件库系列第二篇样式 ​​​​​​&#x1f31f;前言 &#x1f31f;定义全局样式 生成主题色和不同亮度的颜色 ​编辑 中性色及其他变量 &#x1f31f;样式重置 &#x1f31f;总结 ​​​​​​​​​​​​​​&#x1f31f;前言 在前端开发中&#xff0c;大家…...

opencv将32位深图片合成视频跳帧解决办法

在合成视频时候&#xff0c;大多数的图片都是24位深度的&#xff08;即RGB三通道&#xff0c;一个通道8位&#xff09;&#xff0c;但是也存在少量的32位深的图片&#xff08;RGBA&#xff0c;三个颜色通道加上A这个透明度通道&#xff09;&#xff0c;32位和24位的格式是不一样…...

华为obs上传下载-Java版 2023-11-23

弄了半天&#xff0c;老师帮弄成功了&#xff0c;经过同意&#xff0c;分享到网上&#xff0c;希望能帮助更多人&#xff0c;至于怎么弄的&#xff0c;我也不知道。 创建idea项目后&#xff0c;项目结构&#xff0c;对应文件没有的创一个 pom.xm 注意改Java版本&#xff0c;我…...

2023年中国农业机器人行业市场规模及发展趋势分析[图]

农业机器人是一种机器&#xff0c;是机器人在农业生产中的运用&#xff0c;是一种可由不同程序软件控制&#xff0c;以适应各种作业,能感觉并适应作物种类或环境变化&#xff0c;有检测(如视觉等)和演算等人工智能的新一代无人自动操作机械。 农业机器人分类 资料来源&#xf…...

12英寸双轴半自动划片机:颠覆传统划切工艺的五大优势

随着科技的飞速发展&#xff0c;半导体行业对精密划切设备的需求日益增长。在这篇文章中&#xff0c;我们将深入探讨12英寸双轴半自动划片机的优势&#xff0c;这种划片机在半导体制造过程中扮演着至关重要的角色。以下是这种划片机的五大优势。 一、高精度划切 12英寸双轴半自…...

动态神经网络时间序列预测

大家好&#xff0c;我是带我去滑雪&#xff01; 神经网络投照是否存在反锁与记忆可以分为静态神经网络与动态神经网络。动态神经网络是指神经网络带有反做与记忆功能&#xff0c;无论是局部反馈还是全局反锁。通过反馈与记忆&#xff0c;神经网络能将前一时刻的数据保留&#x…...

Unity 三维场景的搭建 软件构造实验报告

实验2&#xff1a;仿真系统功能实现 1.实验目的 &#xff08;1&#xff09;熟悉在Unity中设置仿真场景&#xff1b; &#xff08;2&#xff09;熟悉在Unity中C#语言的使用&#xff1b; &#xff08;3&#xff09;熟悉仿真功能的实现。 2.实验内容 新建一个仿真场景&#x…...

2024贵州大学计算机考研分析

24计算机考研|上岸指南 贵州大学 贵州大学计算机科学与技术学院&#xff08;贵州大学省级示范性软件学院&#xff09;位于贵州省贵阳市花溪区贵州大学东校区。 计算机科学与技术学院&#xff08;软件学院&#xff09;自1972年创办计算机软件本科专业开始&#xff0c;至今已有…...

Spring高级bean的实例化方法

bean的实例化方法 构造方法 实例化bean第一种&#xff1a;使用默认无参构造函数(常用) 第二种创建bean实例&#xff1a;静态工厂实例化&#xff08;了解&#xff09; 第三种&#xff1a;实例工厂&#xff08;了解&#xff09;与FactoryBean&#xff08;实用&#xff09;...

Vue2系列 — 渲染函数 (render + createElement)

官网文档&#xff1a;https://v2.cn.vuejs.org/v2/guide/render-function.html 1 render 函数 render 函数 不使用模板&#xff0c;使用 js 生成虚拟 dom 2 createElement() 接受的参数&#xff1a; 参数1 节点类型参数2 attribute参数3 子节点 3 DEMO <template>&…...

加载SSL证书

使用JDK1.8 开发工具包bin目录下的keytool.exe工具生成ssl密钥&#xff1a; keytool -genkey -alias mykey -keyalg RSA -keysize 2048 -validity 365 -keystore mykeystore.p -genkey&#xff1a; 表示创建密钥。-alias&#xff1a; 保存时的别名。-keyalg&#xff1a;加密算…...

redis 非关系型数据库

redis 非关系型数据库 redis 非关系型数据库&#xff0c;缓存型数据库 关系型数据库和非关系型数据库的区别&#xff1a; 关系型数据库是一个结构化的数据库&#xff0c;行和列 列&#xff1a;声明对象 行&#xff1a;记录对象的属性 表与表之间是有关联的&#xff0c;使用…...

Python配置与测试利器:Hydra + pytest的完美结合

简介&#xff1a;Hydra 和 pytest 可以一起使用&#xff0c;基于 Hydra Pytest 的应用可以轻松地管理复杂配置&#xff0c;并编写参数化的单元测试&#xff0c;使得Python开发和测试将变得更为高效。 安装&#xff1a; pip install hydra-core pytest案例源码&#xff1a;my…...

5.基于飞蛾扑火算法(MFO)优化的VMD参数(MFO-VMD)

代码的使用说明 基于飞蛾扑火算法优化的VMD参数 优化算法代码原理 飞蛾扑火优化算法&#xff08;Moth-Flame Optimization&#xff0c;MFO&#xff09;是一种新型元启发式优化算法&#xff0c;该算法是受飞蛾围绕火焰飞行启发而提出的&#xff0c;具有搜索速度快、寻优能力强的…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计&#xff1a;let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性&#xff0c;这种设计体现了语言的核心哲学。以下是深度解析&#xff1a; 1.1 设计理念剖析 安全优先原则&#xff1a;默认不可变强制开发者明确声明意图 let x 5; …...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容&#xff08;一&#xff09;CDN 基础概念1. 定义2. 组成部分 &#xff08;二&#xff09;CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 &#xff08;三&#xff09;CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

渗透实战PortSwigger靶场:lab13存储型DOM XSS详解

进来是需要留言的&#xff0c;先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码&#xff0c;输入的<>当成字符串处理回显到页面中&#xff0c;看来只是把用户输…...