网站建设方案需要哪些步骤/网站制作公司怎么样
1 云计算
云计算作为一种新兴技术,已经在现代社会中得到了广泛应用。它以其高效、灵活和可扩展特性,成为了许多企业和组织在数据处理和存储方面的首选方案。
1.1 什么是云计算?它有哪些特点?
云计算是一种通过网络提供计算资源和服务的技术。它的特点包括可扩展性、虚拟化、自动服务、按需付费和灵活性等。云计算可以根据用户的需求提供弹性的计算资源,并且用户无需担心硬件和软件的管理问题。
1.2 请解释一下云计算中的公有云和私有云
公有云是指由第三方服务提供商管理和维护的云计算平台,该平台向不同的用户提供计算资源和服务。私有云是指由企业或组织自行搭建和管理的云计算平台,该平台主要为企业内部员工提供服务。
1.3 云计算的IaaS、PaaS、SaaS分别是什么?
- IaaS(基础设施即服务)是云计算提供的最底层的服务模式,它为用户提供了虚拟的计算资源和网络基础设施;
- PaaS(平台即服务)是建立在IaaS之上的服务模式,它提供了更高层次的服务,包括开发环境、数据库和中间件等;
- SaaS(软件即服务)是最顶层的服务模式,它提供了完整的软件应用,用户可以通过云平台直接使用这些应用而无需进行复杂的安装和配置。
1.4 请简要介绍一下云计算的虚拟化技术
虚拟化技术是云计算中的关键技术之一,它将硬件资源进行抽象和隔离,使得多个虚拟的计算实例可以运行在同一台物理机上。通过虚拟化技术,用户可以更加灵活地调配和管理计算资源,提高硬件利用率和系统的可靠性。
1.5 请描述一下云计算中的高可用性和容灾的概念
云计算中的高可用性是指系统能够保持长时间的连续运行,即使遇到一次性的故障也能快速恢复。容灾则指系统在遭受灾难性故障后能够安全地备份和恢复数据以及业务,确保在灾难发生后能够迅速恢复正常运营。
1.6 请说明云计算对企业的益处
云计算可以帮助企业降低IT成本,增加IT资源的利用效率,并提高生产力。他们提供弹性的计算资源,并且按需付费,使得企业可以根据实际需求来购买和使用计算资源,避免了浪费和过度投资。此外,云计算还可以提供更高的可靠性和安全性,通过数据备份和容灾措施,确保企业的业务不会受到意外事件的影响。
1.7 请提及几个常见的云计算平台
常见的云计算平台包括Amazon Web Service(AWS)、Microsoft Azure、Google Cloud Platform(GCP)和阿里云等。这些平台提供了广泛的云计算服务和解决方案,可以满足不同类型企业的需求。
云计算已经从物理机到虚拟机,再从虚拟机到容器,提到当前最新的容器化技术就不得不提Docker和Kubernetes技术了。
2 Docker
Docker 是一个 C/S 模式的架构,后端是一个松耦合架构,模块各司其职。下图是它的总体架构图:
- 用户是使用 Docker Client 与 Docker Daemon 建立通信,并发送请求给后者。
- Docker Daemon 作为 Docker 架构中的主体部分,首先提供 Docker Server 的功能使其可以接受Docker Client 的请求。
- Docker Engine 执行 Docker 内部的一系列工作,每一项工作都是以一个 Job 的形式的存在。
- Job 的运行过程中,当需要容器镜像时,则从 Docker Registry 中下载镜像,并通过镜像管理驱动 Graphdriver将下载镜像以 Graph 的形式存储。
- 当需要为 Docker 创建网络环境时,通过网络管理驱动 Networkdriver 创建并配置 Docker容器网络环境。
- 当需要限制 Docker 容器运行资源或执行用户指令等操作时,则通过 Execdriver 来完成。
- Libcontainer 是一项独立的容器管理包,Networkdriver 以及 Execdriver 都是通过Libcontainer 来实现具体对容器进行的操作。
2.1 什么是Docker?
Docker是一个开源的容器化平台,它允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中,从而在任何Docker运行的环境中实现一致的运行。
2.2 Docker容器和虚拟机的区别是什么?
Docker容器在操作系统级别进行虚拟化,共享宿主机的内核,而虚拟机在硬件级别进行虚拟化,拥有独立的内核。容器通常更轻量级、启动更快,资源占用更少。
2.3 什么是Docker镜像?
Docker镜像是一个轻量级、只读的模板,用于创建Docker容器。它包含运行容器所需的代码、库、环境变量和配置文件。
2.4 如何创建Docker容器?
可以使用docker run命令来从镜像创建容器。例如,docker run -d -p 80:80 nginx会基于nginx镜像启动一个新的容器,并将容器的80端口映射到宿主机的80端口。
2.5 Docker Hub是什么?
Docker Hub是一个公共的容器镜像仓库,可以用来存放、分享和管理Docker镜像。用户可以从Docker Hub下载公共镜像或上传自己的私有镜像。
2.6 Docker的默认网络模式有哪些?
Docker的默认网络模式包括bridge、none、host和container。每种模式提供不同级别的网络隔离和互连。
- bridge(桥接)模式:这是Docker的默认网络设置,当Docker服务启动时,会在主机上创建一个名为docker0的虚拟网桥,并选择一个和宿主机不同的IP地址和子网分配给docker0网桥。容器通过这个虚拟网桥进行通信,可以互相访问。这种模式的好处是网络性能比host模式的好。
- host(主机)模式:在这种模式下,Docker容器将共享主机的网络命名空间,这意味着容器将直接使用主机的网络栈,而不需要进行任何网络配置。容器可以访问主机的网络服务,如DNS和HTTP/HTTPS等。但是,由于容器和主机共享网络命名空间,因此可能会对主机的网络稳定性造成影响。
- none(无网络)模式:在这种模式下,Docker容器没有自己的网络命名空间,也没有自己的IP地址。这种模式通常用于需要自定义网络配置的场景,例如使用自定义bridge或overlay网络等。
- container(容器)模式:在这种模式下,Docker容器将使用另一个已存在的容器的网络命名空间,这意味着容器将共享同一个网络命名空间。这种模式通常用于需要将多个相关的容器组织在一起的场景,例如使用DockerCompose进行容器编排等。
2.7 如何创建Docker网络?
使用docker network create命令可以创建Docker网络。例如,docker network create --driver bridge my_bridge_network创建了一个bridge类型的网络。
2.8 Docker容器间通信是如何工作的?
容器可以通过Docker网络进行通信。在同一网络中的容器可以使用容器名称互相解析,实现容器间通信。
2.9 什么是Docker Compose?
Docker Compose是一个工具,用于定义和运行多容器Docker应用程序。
2.10 如何启动使用Docker Compose定义的服务?
使用docker-compose up命令。
2.11 怎样在Docker Compose中设置环境变量?
可以在docker-compose.yml文件中使用environment键设置环境变量。
2.12 Docker Swarm是什么?
Docker Swarm是Docker的原生集群管理工具,用于在多个主机上部署和管理Docker容器。
2.13 Docker Swarm和Kubernetes的主要区别是什么?
Kubernetes提供了更多的功能和灵活性,适用于更复杂的应用场景。Docker Swarm更简单,易于设置和管理。
2.14 如何保证Docker容器的安全性?
保持Docker和宿主机系统的更新,使用非root用户运行容器,限制容器的资源使用,使用Docker安全扫描等。
2.15 Docker中的健康检查是如何工作的?
可以在Dockerfile中定义HEALTHCHECK指令或在docker-compose.yml中定义healthcheck来检查容器的健康状态。
2.16 Docker是如何实现容器隔离的?
Docker使用Linux的命名空间和控制组(cgroups)来实现容器的隔离。
2.17 解释Docker容器的重启策略。
Docker容器的重启策略决定了在退出时容器是否和如何重启。常用策略包括no、always、on-failure和unless-stopped。
3 K8S
K8s将集群中的机器划分为一个主节点和一群工作节点,在主节点上运行着集群管理相关的一组进程kube-apiserver、kube-controller-manager 和 kube-scheduler,这些进程实现了整个集群的资源管理、pod 调度、弹性伸缩、安全控制、系统监控和纠错等管理功能,并且都是全自动完成的。集群中的工作节点运行真正的应用程序,各自又通过若干组件的组合来实现。在节点上,K8s管理的最小运行单元是pod。负载均衡模式需要通过kubelet、kube-proxy等这些服务进程实现,下图是K8s的整体架构:
主节点即中央控制节点是K8s 集群的管理节点,管理集群当中数据的接口、状态监测和回滚、状态更新、调度等功能,kubectl是K8s的命令行工具集,用于通过命令行与API server进行交互,而对K8s进行操作,实现在集群中进行各种资源的管理控制等操作,通过节点控制器来与工作节点交互。
3.1 为什么需要 Kubernetes,它能做什么?
Kubernetes是一个开源容器编排平台,用于自动化部署、扩展和管理容器化应用程序。它的主要目标是简化容器化应用的部署和管理,并提供弹性、可靠的应用程序编排。
- 服务发现和负载均衡:Kubernetes 可以使用 DNS 名称或自己的 IP 地址来暴露容器。 如果进入容器的流量很大, Kubernetes 可以负载均衡并分配网络流量,从而使部署稳定。
- 存储编排:Kubernetes 允许你自动挂载你选择的存储系统,例如本地存储、公共云提供商等。
- 自动部署和回滚:可以使用 Kubernetes 描述已部署容器的所需状态, 它可以以受控的速率将实际状态更改为期望状态。 例如,你可以自动化 Kubernetes 来为你的部署创建新容器, 删除现有容器并将它们的所有资源用于新容器。
- 自动完成装箱计算:为 Kubernetes 提供许多节点组成的集群,在这个集群上运行容器化的任务。 你告诉 Kubernetes 每个容器需要多少 CPU 和内存 (RAM)。 Kubernetes 可以将这些容器按实际情况调度到你的节点上,以最佳方式利用你的资源。
- 自我修复:Kubernetes 将重新启动失败的容器、替换容器、杀死不响应用户定义的运行状况检查的容器, 并且在准备好服务之前不将其通告给客户端。
- 密钥与配置管理:Kubernetes 允许你存储和管理敏感信息,例如密码、OAuth 令牌和 SSH 密钥。 你可以在不重建容器镜像的情况下部署和更新密钥和应用程序配置,也无需在堆栈配置中暴露密钥。
- 批处理执行:除了服务外,Kubernetes 还可以管理你的批处理和 CI(持续集成)工作负载,如有需要,可以替换失败的容器。
- 水平扩缩:使用简单的命令、用户界面或根据 CPU 使用率自动对你的应用进行扩缩。
- IPv4/IPv6 双栈 :为 Pod(容器组)和 Service(服务)分配 IPv4 和 IPv6 地址。
- 为可扩展性设计 :在不改变上游源代码的情况下为你的 Kubernetes 集群添加功能。
3.2 什么是Pod?
Pod是Kubernetes的最小调度和部署单元。它是一个包含一个或多个容器的逻辑主机,这些容器共享网络和存储资源,并且在同一主机上共享生命周期。
3.3 什么是命名空间(Namespace)?
命名空间是一种在Kubernetes集群中创建多个虚拟集群的机制。它可以用于隔离和管理不同的应用程序、团队或环境。
3.4 如何进行应用程序的水平扩展?
可以使用Deployment的副本数字段来进行水平扩展。通过增加副本数,Kubernetes会创建更多的Pod副本以应对负载增加。
3.5 什么是Ingress?
Ingress是Kubernetes的资源之一,用于将外部流量路由到集群内的服务。它可以提供负载均衡、SSL终止、路径基于的路由等功能。
3.6 如何监控Kubernetes集群?
可以使用Kubernetes内置的指标和日志系统,如kube-state-metrics、Heapster和EFK堆栈,来监控集群的运行状态和性能。
3.7 什么是Kubernetes的生命周期钩子(Lifecycle Hook)?
生命周期钩子是Pod中的回调函数,可以在容器的生命周期事件发生时触发。它们可以用于在容器启动、停止或失败时执行定制化操作。
3.8 什么是Pod的探针(Probe)?
Pod的探针用于定期检查容器的健康状态。Kubernetes支持三种类型的探针:存活探针(Liveness Probe)、就绪探针(Readiness Probe)和启动探针(Startup Probe)。
3.9 请解释一下 Kubernetes 的主要组件。
Kubernetes的主要组件包括:Master组件(API Server、Controller Manager、Scheduler)和Node组件(kubelet、kube-proxy、容器运行时)。
3.10 怎样在 Kubernetes 中进行服务发现?
可以使用Kubernetes的Service对象来进行服务发现。Pod可以通过Service的DNS名称进行通信。
返回面试宝典
相关文章:

云计算、Docker、K8S问题
1 云计算 云计算作为一种新兴技术,已经在现代社会中得到了广泛应用。它以其高效、灵活和可扩展特性,成为了许多企业和组织在数据处理和存储方面的首选方案。 1.1 什么是云计算?它有哪些特点? 云计算是一种通过网络提供计算资源…...

【Iceberg学习二】Branch和Tag在Iceberg中的应用
Iceberg 表元数据保持一个快照日志,记录了对表所做的更改。快照在 Iceberg 中至关重要,因为它们是读者隔离和时间旅行查询的基础。为了控制元数据大小和存储成本,Iceberg 提供了快照生命周期管理程序,如 expire_snapshots…...

在 Blazor WASM 中手撸一个.NET MD5类
最近.net8 blazor auto大火, 我也玩了一下,发现ssr能用的代码 MD5 类在wasm是没法用的. 于是搜索了一下互联网,找到了一份代码,分享给大家. 我找到的帖子作者原话: 代码不是我的,但我确实稍微修改了它以使其与 System.Security.Cryptography.MD5 类更加一致。 pub…...

MFC实现遍历系统进程
今天我们来枚举系统中的进程和结束系统中进程。 认识几个API 1)CreateToolhelp32Snapshot 用于创建系统快照 HANDLE WINAPI CreateToolhelp32Snapshot( __in DWORD dwFlags, //指定快照中包含的系统内容__in DWORD th32P…...

【C语言】深入理解指针
目录 1.字符指针 2.指针数组 3.数组指针 4.数组传参与指针传参 一维数组传参 二维数组传参 一级指针传参 二级指针传参 5.函数指针 6.函数指针数组 7.指向函数指针数组的指针(了解即可) 8.回调函数 回调函数的应用:库函数qsort …...

Excel——有效性、二级菜单联动
一、录入规范数据 1.手动输入序列录入有效性信息 选择需要录入有效性的所有单元格 选择【数据】——【有效性】——【有效性】 在【允许】输入的值之间选择【序列】 在【序列】输入框中输入想要选择的值,中间用逗号(必须是英文逗号)隔开 。…...

计算机网络总结
1. 网络分层 网络上进行协议分层的好处 ①分层之后层次之间的耦合程度比较低,上层协议不必了解下层的细节,下层也不必了解上层的细节; ②方便的对某一层的协议进行替换; 真实网络的协议分层 OSI 七层网络模型(教科书&…...

初识文件包含漏洞
目录 什么是文件包含漏洞? 文件包含的环境要求 常见的文件包含函数 PHP伪协议 file://协议 php://协议 php://filter php://input zip://、bzip2://、zlib://协议 zip:// bzip2:// zlib:// data://协议 文件包含漏洞演示 案例1:php://inp…...

AR特效自研AI算法技术解决方案
在当今这个高速发展的数字化时代,增强现实(AR)技术已经成为企业创新和市场竞争的重要手段。美摄科技凭借对AI技术的深厚积累,为企业提供了一套创新的AR特效自研AI算法技术解决方案,旨在满足企业在AR领域的多元化需求。…...

牛客2024年除夕娱乐赛(题解)
比赛地址 : 牛客竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A 看题面然后猜!!! #include<bits/stdc.h> using namespace std; int main(){cout << "原神启动" << endl; } B 也是看题面然后猜 : #include<bits/stdc.…...

5 scala的函数式编程简介
与Java一样,Scala 也是使用 Lambda 表达式实现函数式变成的。 1 遍历 除了使用 for 可以对数组、List、Set 进行遍历外,也可以使用 foreach 函数式编程进行遍历,使代码更为简洁。 foreach 的方法签名为: foreach(f: (A) > …...

陪护系统|陪护小程序提升长者护理服务质量的关键
在如今逐渐老龄化的社会中,老年人对更好的护理服务需求不断增加。科技的进步使得陪护小程序系统源码成为提供优质服务的重要途径之一。本文将从运营角度探讨如何优化陪护小程序系统源码,提升长者护理服务的质量。 首先,我们需要对软件的设计和…...

C++算法之双指针、BFS和图论
一、双指针 1.AcWing 1238.日志统计 分析思路 前一区间和后一区间有大部分是存在重复的 我们要做的就是利用这部分 来缩短我们查询的时间 并且在使用双指针时要注意对所有的博客记录按时间从小到大先排好顺序 因为在有序的区间内才能使用双指针记录两个区间相差 相当于把一个…...

【大厂AI课学习笔记】1.5 AI技术领域(3)自然语言处理
今天来梳理自然语言处理的相关内容。 自然语言处理:定义、关键技术、技术发展、应用场景与商业化成功 一、自然语言处理的定义 自然语言处理(NLP)是人工智能(AI)领域的一个重要分支,它研究的是如何让计算…...

【数字电子技术课程设计】多功能数字电子钟的设计
目录 摘要 1 设计任务要求 2 设计方案及论证 2.1 任务分析 2.1.1 晶体振荡器电路 2.1.2 分频器电路 2.1.3 时间计数器电路 2.1.4 译码驱动电路 2.1.5 校时电路 2.1.6 整点报时/闹钟电路 2.2 方案比较 2.3 系统结构设计 2.4 具体电路设计 3 电路仿真测试及结…...

【新书推荐】7.3 for语句
本节必须掌握的知识点: 示例二十四 代码分析 汇编解析 for循环嵌套语句 示例二十五 7.3.1 示例二十四 ■for语句语法形式: for(表达式1;表达式2;表达式3) { 语句块; } ●语法解析: 第一步:执行表达式1,表达式1…...

爬山算法优化遗传算法优化极限学习机的多分类预测,p-ga-elm多分类预测
目录 背影 极限学习机 爬山算法优化遗传算法优化极限学习机的多分类预测,p-ga-elm多分类预测 主要参数 MATLAB代码 效果图 结果分析 展望 完整代码下载链接:爬山算法优化遗传算法优化极限学习机的多分类预测,p-ga-elm多分类预测(代码完整,数据)资源-CSDN文库 https://d…...

挑战杯 opencv 图像识别 指纹识别 - python
0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于机器视觉的指纹识别系统 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 该项目较为新颖,适…...

【Docker】了解Docker Desktop桌面应用程序,TA是如何管理和运行Docker容器(2)
欢迎来到《小5讲堂》,大家好,我是全栈小5。 这是《Docker容器》系列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对…...

PHP、Python、Java 和 Go语言对比
PHP、Python、Java 和 Go 都是流行的编程语言,每种语言都有其独特的优势和适用场景。下面是对这些语言的一些基本对比: 一:PHP 适用场景:主要用于Web开发,特别是服务器端脚本。 特点:语法简单易懂&#…...

算法题目题单+题解——图论
简介 本文为自己做的一部分图论题目,作为题单列出,持续更新。 题单由题目链接和题解两部分组成,题解部分提供简洁题意,代码仓库:Kaiser-Yang/OJProblems。 对于同一个一级标题下的题目,题目难度尽可能做…...

车载测试中:如何处理 bug
一:Jira 提交 bug 包含那些内容 二:如何处理现上 bug 三:车载相关的 bug 如何定位 四:遇到 bug ,复现不出来怎么办 五:bug 的处理流程 一:Jira 提交 bug 包含那些内容二:如何处理现上…...

亲测解决vscode的debug用不了、点了没反应
这个问题在小虎登录vscode同步了设置后出现,原因是launch文件被修改或删除。解决方法是重新添加launch。 坏境配置 win11 + vscode 解决方法 Ctrl + shift + P,搜索debug添加配置: 选择python debugger。 结果生成了一个文件在当前路径: launch内容: {// Use Int…...

立足智能存取解决方案|HEGERLS智能托盘四向车储存制动能量 实现能源回收
对于商业配送和工业生产的企业而言,如何能高效率、低成本进行低分拣、运输、码垛、入库,用以提升仓库空间的利用效率,是现在大多企业急需要解决的行业痛点。对此,为了解决上述痛点,近年来,物流仓储集成商、…...

2024.2.8日总结(小程序开发5)
对上拉触底事件进行节流处理 在data中定义isloading节流阀 false表示当前没有进行任何数据请求true表示当前正在进行数据请求 在getColors()方法中修改isloading节流阀的值 在刚调用getColors时将节流阀设置true在网络请求的complete回调函数中,将节流阀重置为f…...

Spring Boot配置文件优先级
1、bat文件启动java程序 java -Dmmmqqq -Dfile.encodingUTF-8 -jar ruoyi-admin.jar --mmmiii --llllll 2、配置类型 程序参数Program arguments : --mmmiii 单个属性值,可以从String[] args读取到,放在jar包命令后面 VM参数VM options :一般以-D …...

Rust 初体验1
Rust 初体验 安装 打开官网,下载 rustup-init.exe, 选择缺省模式(1)安装。 国内源设置 在 .Cargo 目录下新建 config 文件,添加如下内容: [source.crates-io] registry "https://github.com/rus…...

【深度学习】实验7布置,图像超分辨
清华大学驭风计划 因为篇幅原因实验答案分开上传, 实验答案链接http://t.csdnimg.cn/P1yJF 如果需要更详细的实验报告或者代码可以私聊博主 有任何疑问或者问题,也欢迎私信博主,大家可以相互讨论交流哟~~ 深度学习训练营 案例 7 ࿱…...

【八大排序】归并排序 | 计数排序 + 图文详解!!
📷 江池俊: 个人主页 🔥个人专栏: ✅数据结构冒险记 ✅C语言进阶之路 🌅 有航道的人,再渺小也不会迷途。 文章目录 一、归并排序1.1 基本思想 动图演示2.2 递归版本代码实现 算法步骤2.3 非递归版本代…...

Netty应用(三) 之 NIO开发使用 网络编程 多路复用
目录 重要:logback日志的引入以及整合步骤 5.NIO的开发使用 5.1 文件操作 5.1.1 读取文件内容 5.1.2 写入文件内容 5.1.3 文件的复制 5.2 网络编程 5.2.1 accept,read阻塞的NIO编程 5.2.2 把accept,read设置成非阻塞的NIO编程 5.2.3…...