虚拟化技术、Docker、K8s笔记总结
一、虚拟化技术
是一种将物理资源(如服务器、存储设备、网络设备等)抽象、转换和分割成多个逻辑资源的技术。通过虚拟化技术,用户可以在单个物理设备上运行多个相互独立的虚拟环境,从而提高资源的利用率、降低运维成本和提高系统的可扩展性。以下是对虚拟化技术的总结:
类型:虚拟化技术主要分为两大类,即服务器虚拟化和桌面虚拟化。服务器虚拟化是将一个物理服务器分割成多个虚拟机,每个虚拟机可以运行不同的操作系统和应用程序。桌面虚拟化则是将用户的桌面环境虚拟化,使用户能够在任何设备上访问其个人桌面。
优点:
资源利用率高:通过虚拟化技术,可以将物理资源动态分配给多个虚拟机,从而提高资源的利用率。
降低成本:虚拟化技术可以减少硬件投资、降低能源消耗和维护成本。
系统可扩展性强:虚拟化技术可以轻松地添加或删除虚拟机,以满足业务需求的变化。
灵活性高:虚拟化技术允许用户在不同的虚拟环境中运行不同的操作系统和应用程序,提高了系统的灵活性。
高可用性:虚拟化技术可以实现虚拟机的快速迁移,确保业务的连续性。
缺点:
性能损失:虽然虚拟化技术已经取得了很大的进步,但在一些场景下,虚拟机的性能仍然无法与物理机相媲美。
管理复杂性:虚拟化环境下的管理和维护工作相对复杂,需要专门的知识和技能。
安全性问题:虚拟化技术可能会带来新的安全风险,如虚拟机逃逸、虚拟机间攻击等。
虚拟化技术的应用:
云计算:
虚拟化技术是云计算的基础,通过将计算资源、存储资源和网络资源进行虚拟化,实现资源的按需分配和灵活调度。
数据中心整合:通过虚拟化技术,可以将分散在不同地点的服务器、存储设备和网络设备整合到一个统一的平台上,降低运维成本和管理复杂性。
软件测试和开发:虚拟化技术可以为软件开发人员提供一个隔离的环境,以便在同一台物理机上运行多个不同的操作系统和应用程序。
桌面虚拟化:通过桌面虚拟化技术,用户可以在任何设备上访问其个人桌面,实现办公环境的移动性和灵活性。
二、Docker容器的优势主要体现在以下几个方面:
1、轻量级和快速启动:Docker容器共享主机操作系统的内核,无需模拟整个操作系统,因此相比于虚拟机更加轻量级。这使得容器的启动速度非常快,通常只需几秒钟,极大地提高了开发、测试和部署的效率。
2、隔离性和安全性:Docker提供了良好的隔离性,每个容器都有自己的文件系统、网络空间和进程空间,因此容器之间相互隔离,保证了应用程序的稳定性。同时,Docker的安全特性也确保了容器环境的安全性。
3、可移植性和跨平台性:Docker容器可以在不同的操作系统和云服务上运行,而不需要担心环境兼容性的问题。这大大提高了应用程序的可移植性,使其更容易在不同平台上部署和运行。
4、易于扩展和管理:Docker容器提供了简单易用的管理界面,使用户可以轻松地对容器进行扩展和管理。
5、资源占用少,性能优于通过Hypervisor层与内核层的虚拟化。
6、可重复使用和一致性:Docker容器可以在不同的实例上运行相同的程序,这大大简化了应用程序的管理和发布。
常用的Docker容器命令:
1、运行容器:使用docker run命令来创建并启动一个新的容器。例如,docker run -it --name my_container my_image将启动一个名为my_container的交互式容器,该容器基于my_image镜像。
2、列出容器:使用docker ps命令可以列出当前正在运行的容器。添加选项-a可以显示所有容器,包括未运行的;添加选项-f可以根据条件过滤显示的内容。
3、停止容器:可以使用docker stop命令来停止一个正在运行的容器,例如,docker stop my_container将停止my_container容器。
4、查看历史记录:使用docker logs命令可以查看一个容器的历史记录,例如,docker logs my_container将显示my_container容器的历史记录。
5、删除容器:可以使用docker rm命令来删除一个已停止的容器,例如,docker rm my_container将删除my_container容器。
6、查看容器信息:使用docker info命令可以查看Docker容器的相关信息,例如,系统的Docker服务状态、Docker版本和运行中的容器信息等。
三、Kubernetes(通常被称为K8s)的优势主要体现在以下几个方面
首先,K8s可以满足负载均衡和服务自愈的需求。如果某个节点发生故障,K8s能够自动重新创建之前运行在此节点上的pod,并在其他节点上运行,这大大提高了应用的可靠性。其次,K8s支持容器的自动扩缩容,当发现有节点工作不饱和时,K8s会重新分配pod,帮助我们节省开销,高效地利用内存、处理器等资源。此外,K8s也支持滚动升级和版本回滚,这意味着在更新应用程序时,不必停止正在运行的服务。
除此之外,K8s还具有以下优点:它跨平台运行,可在物理机、虚拟机和云平台上进行部署;具备自我修复能力,支持容器故障后自动重启、节点故障后重新调度容器到其他可用节点、健康状态检查失败后关闭容器并重新创建等自我修复机制;并且,K8s还提供了服务发现和负载均衡功能。
最后,值得一提的是,K8s支持多种数据存储系统,包括节点本地存储、网络存储系统等,满足了各种存储需求。同时,它还支持密钥和配置管理,对于敏感数据如用户名和密码、令牌、密钥等信息,Secret组件提供了足够的安全保障。因此,无论是从提高运维效率、优化资源利用,还是保障应用的可靠性和安全性等方面来看,Kubernetes都具有显著的优势。
Kubernetes(K8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。
常用的K8s命令:
1、kubectl get:获取资源列表。例如,kubectl get pods可以列出所有Pod。
2、kubectl describe:显示资源的详细信息。例如,kubectl describe pod my-pod可以显示my-pod Pod的详细信息。
3、kubectl create:创建资源。例如,kubectl create deployment my-deployment --image=nginx:latest可以创建一个名为my-deployment的 Deployment,使用最新版本的Nginx镜像。
4、kubectl delete:删除资源。例如,kubectl delete deployment my-deployment可以删除名为my-deployment的Deployment。
5、kubectl apply:应用配置文件或目录中定义的资源。例如,kubectl apply -f my-deployment.yaml可以应用my-deployment.yaml文件中定义的资源。
6、kubectl edit:编辑资源的配置。例如,kubectl edit deployment my-deployment可以编辑名为my-deployment的Deployment的配置。
7、kubectl logs:查看容器日志。例如,kubectl logs my-pod可以查看名为my-pod的Pod中的容器日志。
8、kubectl exec:在容器内执行命令。例如,kubectl exec my-pod -- ls /app可以在名为my-pod的Pod内的/app目录下执行ls命令。
9、kubectl port-forward:将本地端口转发到集群中的服务。例如,kubectl port-forward service/my-service 8080:80可以将名为my-service的服务的端口80映射到本地的8080端口上。
相关文章:
虚拟化技术、Docker、K8s笔记总结
一、虚拟化技术 是一种将物理资源(如服务器、存储设备、网络设备等)抽象、转换和分割成多个逻辑资源的技术。通过虚拟化技术,用户可以在单个物理设备上运行多个相互独立的虚拟环境,从而提高资源的利用率、降低运维成本和提高系统…...

基于springboot+vue的在线拍卖系统(前后端分离)
博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…...
【征服redis3】一文征服redis的jedis客户端
使用数据库的时候,我们可以用JDBC来实现mysql数据库与java程序之间的通信,为了提高通信效率,我们有了数据库连接池比如druid等等。而我们想通过Java程序控制redis,同样可以借助一些工具来实现,这就是redis客户端&#…...
Python如何操作RabbitMQ实现direct关键字发布订阅模式?有录播直播私教课视频教程
direct关键字发布订阅模式 基本用法 发布者 import json from rabbitmq import pika import rabbitmq# 建立连接 credentials rabbitmq.PlainCredentials(zhangdapeng,zhangdapeng520, ) # mq用户名和密码 connection_target rabbitmq.ConnectionParameters(host127.0.0.…...
如何应用数据图表了解家里的 Unifi 网络状况?
1. 前言 自从之前写了《【让 IT 更简单】使用 Ubiquiti 全家桶对朋友家进行网络改造》 《【Rethinking IT】如何结合 Unifi 和 MikroTik 设备打造家庭网络》两篇文章后,相信给各位正在用 Unifi 或者打算使用 Unifi 的朋友应该有所帮助。 那么,今天我就…...

新版K8s:v1.28拉取Harbor仓库镜像以及本地镜像(docker弃用改用containerd,纯纯踩坑)
目录 一、项目概述二、环境三、项目样式Harborkuboard运行样式 四、核心点Harbor安装config.toml文件修改(containerd)ctr、nerdctl相关命令kuboard工作负载 五、总结 一、项目概述 使用Kuboard作为k8s集群的管理平台,Harbor作为镜像仓库,拉取Harbor镜像…...

Unity URP切换品质和Feature开关的性能问题
现在对我的项目进行安卓端发布,需要切换品质和一些Feature开关。 我是这样做的。 划分品质 首先Renerer分为2个Android和PC,图中其他不用参考。 每个副本的URP Asset分为pc和android,例如图中的 hall和hall_android。 我们可以看到hall用的…...
jmeter解决返回unicode编辑
一般乱码有两种方法来解决: 1、修改配置文件jmeter.properties中默认编码格式ISO-8859-1(不支持中文),修改为utf-8 sampleresult.default.encoding utf-82、添加BeanShell PostProcessor加入 prev.setDataEncoding("utf-8")3、还有一种返回…...

C# 基础入门
第二章 C# 语法基础 2-1 C# 中的关键字 关键字,是一些被C#规定了用途的重要单词。 在Visual Studio的开发环境中,关键字被标识为蓝色,下图代码中,用红方框圈出的单词就是关键字。 关键字 class ,这个关键字的用途是…...
PHP 支付宝(单笔转账到银行账户接口)
alipay.fund.trans.tobank.transfer(单笔转账到银行账户接口) 小程序文档 - 支付宝文档中心 一、下载支付宝SDK,现有版本v1、v2、v3 https://github.com/alipay/alipay-sdk-php-all github 慢的话,DNS 直达即可 140.82.112.3 github.com 【host文…...
【Java万花筒】Java安全卫士:从密码学到Web应用攻击
Java安全锦囊:从Web应用攻击到加密算法,助你建立强固的开发堡垒 前言 在当今数字化时代,安全性至关重要,特别是对于Java开发者而言。本文将深入探讨Java安全与加密领域的关键库和技术,包括Bouncy Castle、Jasypt、Ke…...

redis安装-Linux为例
可以下载一个Shell或者MobaXterm工具,便于操作 在redis官网下载压缩包 开始安装 安装依赖 yum install -y gcc tcl切换目录 切换目录后直接把redis安装包拖到/user/local/src/下 cd /user/local/src/解压然后安装 #解压 tar -zxvf redis-7.2.4.tar.gz #安装 …...
iOS长按时无法保存图片问题解决方案
在使用iOS设备的用户中,相信很多人都有过在浏览网页时遇到长按时无法保存图片的困扰。这主要是因为网页开发者为了保护版权或隐私,默认屏蔽掉了图片长按时保存的功能。 具体来说,问题出在-webkit-touch-callout这个CSS属性上。这个属性用于定…...
Datawhale 强化学习笔记(一)
参考 在线阅读文档 github 教程 开源框架 JoyRL datawhalechina/joyrl: An easier PyTorch deep reinforcement learning library. (github.com) 策略梯度算法的两种不同的推导版本。 强化学习中的一些核心问题,比如优化值的估计、解决探索与利用等问题。 从传统强…...

首届PolarDB开发者大会在京举办,阿里云李飞飞:云数据库加速迈向智能化
1月17日,阿里云PolarDB开发者大会在京举办,中国首款自研云原生数据库PolarDB发布“三层分离”新版本,基于智能决策实现查询性能10倍提升、节省50%成本。此外,阿里云全新推出数据库场景体验馆、训练营等系列新举措,广大…...
003-90-15【SparkSQLDFDS】慈航寺庙山脚下八卦田旁油菜花海深处人家王大爷家女儿用GPT学习DataSet的基本操作
003-90-14【SparkSQL&DF&DS】慈航寺庙山脚下八卦田旁油菜花海深处人家王大爷家女儿用GPT学习DataSet的基本操作 【SparkSQL&DF&DS】Dataset 的创建和使用 【SparkSQL&DF&DS】2,Dataset 的创建和使用1, 创建2, show3, map4, as5, select6 f…...

代码随想录-刷题第五十七天
42. 接雨水 题目链接:42. 接雨水 思路:本题十分经典,使用单调栈需要理解的几个问题: 首先单调栈是按照行方向来计算雨水,如图: 使用单调栈内元素的顺序 从大到小还是从小到大呢? 从栈头&…...
flutter 播放SVGA动图
SVGAPlayer-Flutter:这是一个轻量级的动画渲染库,可以通过Flutter CustomPainter原生渲染动画,为您带来高性能,低成本的动画体验123。 您可以按照以下步骤使用 SVGAPlayer-Flutter 插件: 1.在 pubspec.yaml 文件中添…...

鸿蒙开发软件汉化
一、打开设置 File>Settings>Plugins>Marketplace,输入Chinese搜索插件(有的人是搜不到的),但别慌,选择Marketplace傍边的 Installed 按钮,里面就有Chinese插件(如果搜索出来的东西比较多往下就可…...

Three.js Tri-panner (三面贴图) 材质 两种实现方式
文章目录 介绍自定义shaderNodeMaterial骨骼材质特殊处理 介绍 Tri-panner 在babylonjs中有支持 但是three.js目前的基础材质并不支持 需要自己定义shader 或者使用目前还没有什么完善的文档的 NodeMaterial 下面展示两种实现方式 自定义shader /*** description: 替换三角面…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...

超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...

USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...