dockerk8s常用知识点

1、什么是docker

容器化和虚拟化对比

▪开源的应用容器引擎,基于 Go 语言开发

▪容器是完全使用沙箱机制,容器开销极低

▪Docker就是容器化技术的代名词 

▪Docker也具备一定虚拟化职能

docker三大核心:

  1. Docker Engine: 提供了一个可以用来运行和管理容器的平台,它由客户端和服务端组成。

  2. Docker Compose: 用于定义和运行多容器Docker应用的工具(单机)。

  3. Docker Swarm: 用于管理Docker集群的工具,可以将多个Docker主机组成的系统转换为单一的虚拟Docker主机(集群)。

2、容器与镜像

▪镜像: 镜像是文件,是只读的,提供了运行程序完整的软硬件资源,是应用程序的"集装箱"

▪容器: 是镜像的实例,由Docker负责创建,容器之间彼此隔离

3、docker执行流程

4、docker常用指令

docker pull 镜像名<:tags> - 从远程仓库抽取镜像 
docker images - 查看本地镜像
docker run 镜像名<:tags> - 创建容器,启动应用
docker ps - 查看正在运行中的镜像
docker rm <-f> 容器id - 删除容器
docker rmi <-f> 镜像名:<tags> - 删除镜像--容器中执行的命令
格式:docker exec [-it] 容器id 命令
exec 在对应容器中执行命令
-it 采用交互方式执行命令
实例:docker exec -it 0738ed2fe68b /bin/bash

5、Dockerfile构建镜像

▪Dockerfile是一个包含用于组合镜像的命令的文本文档

▪Docker通过读取Dockerfile中的指令按步自动生成镜像

▪docker build -t 机构/镜像名<:tags> Dockerfile目录

tomcat部署应用的dockerfile

FROM tomcat:latest
MAINTAINER ccp
WORKDIR /usr/local/tomcat/webapps   --设置工作目录
ADD docker-web ./docker-web         --复制文件(从宿主机复制到容器)

xxl-job对应的dockerfile

FROM openjdk:8-jre-slim
MAINTAINER xuxueliENV PARAMS=""ENV TZ=PRC        --设置环境常量
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
--RUN 相当于在Build构建时执行命令ADD target/xxl-job-admin-*.jar /app.jar --复制文件ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS /app.jar $PARAMS"]
--ENTRYPOINT 容器启动时执行的命令--CMD 容器启动后执行默认的命令或参数

6、镜像分层(layer)

7、dockerFile执行命令

ENV 设置环境常量
RUN 相当于在Build构建时执行命令
ADD 复制文件
ENTRYPOINT 容器启动时执行的命令
CMD 容器启动后执行默认的命令或参数

8、容器间通信

Link单向通信

Bridge网桥双向通信

网桥实现原理--虚拟网卡

9、容器间数据共享(volumn)

格式:
docker run --name 容器名  -v 宿主机路径:容器内挂载路径 镜像名
实例:
docker run --name t1 -v /usr/webapps:/usr/local/tomcat/webapps tomcat▪创建共享容器
▪docker create --name webpage -v /webapps:/tomcat/webapps tomcat /bin/true
▪共享容器挂载点
▪docker run --volumes-from webpage --name t1 -d tomcat

10、Kubernetes的职责

▪自动化容器的部署和复制

▪随时扩展或收缩容器规模

▪容器分组Group,并且提供容器间的负载均衡

▪实时监控, 即时故障发现, 自动替换

10.1、基本概念

10.2、pod的概念

▪POD是”容器”的容器,可以包含多个”Container”

▪POD是K8S最小可部署单元,一个POD就是一个进程

▪POD内部容器网络互通,每个POD都有独立虚拟IP

▪POD都是部署完整的应用或模块

 ▪Pause容器是基于Docker的pause镜像实现的,它本身不包含任何业务逻辑,但为其他容器提供了网络、存储卷和其他资源的共享访问。Pause容器充当Pod中其他容器的父进程,帮助管理它们的生命周期。它还负责创建和配置Pod的网络命名空间,确保Pod内容器之间的网络通信

10.3、service

  • Service 主要用于提供网络服务,通过 Service 的定义,能够为客户端应用提供稳定的访问地址(域名或 IP 地址)和负载均衡功能,以及屏蔽后端 Endpoint 的变化,是 K8s 实现微服务的核心资源。

利用Rinetd(端口转发工具)实现service的负载均衡

▪Rinetd是Linux操作系统中为重定向传输控制协议工具

▪可将源IP端口数据转发至目标IP端口

▪在Kubernetes中用于将service服务对外暴露

10.4、文件集群共享(NFS)

▪NFS,是由SUN公司研制的文件传输协议

▪NFS主要是采用远程过程调用RPC机制实现文件传输

▪yum install -y nfs-utils rpcbind

10.5、kubeadm/kubelet/kubectl区别

▪kubeadm是kubernetes集群快速构建工具

▪kubelet运行在所有节点上,负责启动POD和容器,以系统服务形式出现

▪kubectl:kubectl是kubenetes命令行工具,提供指令

10.6、部署(Deployment)

▪部署是指Kubernetes向Node节点发送指令,创建容器的过程

▪Kubernetes支持yml格式的部署脚本

▪kubectl create -f 部署yml文件 #创建部署

部署yml样例

与部署相关命令

▪kubectl create -f 部署yml文件 #创建部署
▪kubectl apply -f 部署yml文件 #更新部署配置
▪kubectl get pod [-o wide] #查看已部署pod
▪kubectl describe pod pod名称 #查看Pod详细信息
▪kubectl logs [-f] pod名称 #查看pod输出日志
▪kubectl delete deployment|service #删除部署(Deployment)|服务(Service)资源限定
containers:- name: tomcat-clusterimage: tomcat:latestresources:requests:cpu: 1 memory: 500Milimits: cpu: 2memory: 1024Mi

10.7、pod自动扩缩容

手动模式:通过 kubectl scale 命令,这样需要每次去手工操作一次,而且不确定什么时候业务请求量就很大了,所以如果不能做到自动化的去扩缩容的话,这也是一个很麻烦的事情。

自动模式:
1、kubernetes HPA(Horizontal Pod Autoscaling):根据监控指标(cpu 使用率、磁盘、自定义的等)自动扩容或缩容服务中的pod数量,当业务需求增加时,系统将无缝地自动增加适量 pod 容器,提高系统稳定性。

2、kubernetes KPA(Knative Pod Autoscaler):基于请求数对 Pod 自动扩缩容,KPA 的主要限制在于它不支持基于 CPU 的自动扩缩容。

3、kubernetes VPA(Vertical Pod Autoscaler):基于 Pod 的资源使用情况自动设置 pod 的 CPU 和内存的 requests,从而让集群将 Pod 调度到有足够资源的最佳节点上。

各节点CPU、内存等资源的 metrics 信息可以通过 Metrics API 来获取,用户可以直接获取这些 metrics 信息(例如通过执行 kubect top 命令),HPA 使用这些 metics 信息来实现动态伸缩。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/832832.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

普源示波器测量相位差的原理和方法

普源示波器是一种常用的电子测试设备&#xff0c;它可以测量电路中的电压和电流波形。其中&#xff0c;测量相位差是示波器的一个重要功能&#xff0c;它可以用于分析信号的时间延迟、相位差、频率响应等信息。本文将介绍普源示波器测量相位差的原理和方法&#xff0c;并通过实…

rmallox勒索病毒肆虐,如何保护网络安全?

rmallox勒索病毒与网络安全的关系可以从以下几个方面来阐述&#xff1a; 一、rmallox勒索病毒的特性 rmallox勒索病毒是一种极具破坏性的计算机病毒&#xff0c;它具有多个显著特性&#xff0c;这些特性使得该病毒对网络安全构成了严重威胁。具体来说&#xff0c;rmallox病毒具…

域名不变根据系统判断手机和端脑h5pc自动转发不同请求

同一个域名&#xff0c;手机端和电脑端请求的页面不一样&#xff0c;但是域名要求不变&#xff0c;现在有两个前端代码&#xff0c;分别跑在两个docker里面&#xff0c;一个为app1另外一个是app2&#xff0c;暴露的端口分别是8080&#xff0c;8081,通过nginx将请求反代到两个do…

使用Three.js开发一个3D案例Demo

使用Three.js开发一个3D案例 最近在找工作&#xff0c;发现好多招聘要求都需要会Three.js&#xff0c;以前接触比较多的是2D开发&#xff0c;也就是平面开发&#xff0c;用到的做多的技术就是d3.js&#xff0c;现在3D开发已经成为了大势所趋&#xff0c;所以就学习下Three.js。…

typescript综合练习1(展开音乐播放列表)

Playlist Soundness What’s up, friend?! I’m so pumped you’re joining us. We’ve got a sick project we could totally use your help on! See, someone’s giving us amazing recommendations for songs to play. But they’re not just coming in as songs. Someti…

AtCoder Beginner Contest 336 D题 Pyramid

D题&#xff1a;Pyramid 标签&#xff1a;动态规划、前缀和题意&#xff1a;金字塔型序列&#xff1a; 1 、 2... k − 1 、 k 、 k − 1...2 、 1 1、2...k-1、k、k-1...2、1 1、2...k−1、k、k−1...2、1。给定一个长度为 n n n的序列 a i a_i ai​&#xff0c;可以进行重复…

MySQL入门学习-关系型数据库.数据库

MySQL是一种关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;也是一种开源数据库。关系型数据库是一种以表格形式存储数据的数据库&#xff0c;数据之间通过键值关联起来。 一、MySQL具有以下特点&#xff1a; 1. 可扩展性&#xff1a; MySQL可以在不同的操作…

物料厘不清?企业如何做好“物料管理”

物料包括原材料、半成品、成品、辅助用品以及生产过程中必然产生的边角余料、废料等。在制造企业中&#xff0c;各个部门的业务流程几乎都要用到物料&#xff1a; 销售和订单录入部门要通过物料确定客户定制产品的构形&#xff1b; 计划部门要根据物料来计划物料和能力的需求…

js遍历数组将数组中属性名相同的属性值组成新的数组再转化成字符串并换行(js换行和html换行不同)

{label: 告警结果,display:true, html:true,formatter:(row)>{let list ""if(row.funRes&&row.funRes.length){let propName value; list row.funRes.map(obj > {return <span style"vertical-align: text-top;padding-right: 2px;">…

使用Flink SQL实时入湖Hudi/Hive

文章目录 1 Hudi 简介2 COW和MOR3 接入COW模式Hudi表4 使用Flink SQL查看新接表5 使用Hive查看新接表6 总结 1 Hudi 简介 Hudi是一个流式数据湖平台&#xff0c;使用Hudi可以直接打通数据库与数据仓库&#xff0c;连通大数据平台&#xff0c;支持对数据增删改查。Hudi还支持同…

如何应对访问国外服务器缓慢的问题?SDWAN组网是性价比之选

访问国外服务器缓慢通常由以下原因造成&#xff1a; 1、政策限制&#xff1a;我国管理互联网&#xff0c;限制部分国外网站和服务器&#xff0c;以维护国家安全稳定。 2、技术障碍&#xff1a;国内与国际互联网的网络架构和协议存在差异&#xff0c;可能导致数据传输不兼容。 …

数据结构——图的基础知识与其表示

一&#xff1a;定义 由顶点的集合和边的集合组成&#xff1b;常以 G(V,E) 表示&#xff0c;G 代表图&#xff0c;V代表 顶点的集合&#xff0c;E代表边的集合&#xff1b; 如图&#xff1a; 在G1图中&#xff0c;有 0~4 五个顶点&#xff0c;有 0-1&#xff0c;0-2&…

Tomcat同时支持http及https

Tomcat同时支持http及https 1、Tomcat同时支持http及https2、Springboot同时支持http及https 1、Tomcat同时支持http及https <Connector port"8443" protocol"org.apache.coyote.http11.Http11NioProtocol" maxThreads"150" SSLEnabled"…

V23 中的新功能:LEADTOOLS 展示了它的 EXCEL-lence

LEADTOOLS (Lead Technology)由Moe Daher and Rich Little创建于1990年&#xff0c;其总部设在北卡罗来纳州夏洛特。LEAD的建立是为了使Daher先生在数码图象与压缩技术领域的发明面向市场。在过去超过30年的发展历程中&#xff0c;LEAD以其在全世界主要国家中占有的市场领导地位…

苹果自研大语言模型“Ajax“ 助力iOS 18升级;Stack Overflow与OpenAI建立API合作伙伴关系

&#x1f989; AI新闻 &#x1f680; 苹果自研大语言模型"Ajax" 助力iOS 18升级 摘要&#xff1a;苹果公司预计通过自研大语言模型Ajax来为iOS 18和Siri带来重大升级&#xff0c;但不计划推出类似ChatGPT的AI聊天机器人。Ajax模型基于Google的Jax框架&#xff0c;并…

深度学习之基于YOLOv5目标检测可视化系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 随着深度学习技术的快速发展&#xff0c;目标检测在多个领域中的应用日益广泛&#xff0c;包括…

filezilla 上传文件到服务器

1. 下载windows ftp客户端 https://filezilla-project.org/index.php 点击左侧的 Download FileZilla Client All platforms 默认安装。 2. 双击打开 filezilla 按图中填写&#xff0c;并上传。 主机名: 10.20.89.* 用户名: zhuzh 密码: *** 端口: 22 点击 快速连接&#…

中电金信:金Gien乐道 | 4月要闻速览,精彩再回顾

中国电子党组副书记、总经理李立功一行调研中电金信 4月10日&#xff0c;中国电子党组副书记、总经理李立功一行赴中电金信进行调研&#xff0c;深入听取了中电金信经营发展情况、研发工作及“源启”行业数字底座平台的汇报&#xff0c;并参观了公司展厅和科技研发场所&#xf…

定性分析和定量分析

目录 一、什么是定性分析和定量分析 二、定性分析和定量分析的区别 三、常用分析方法 3.1 常用定性分析方法 3.2 常用定量分析方法 一、什么是定性分析和定量分析 定性研究方法是根据社会现象或事物所具有的属性和在运动中的矛盾变化&#xff0c;从事物的内在规定性来研究…

hadoop---基于Hive的数据仓库相关函数机制及其优化方案

Hive相关函数&#xff08;部分&#xff09;&#xff1a; if函数: 作用: 用于进行逻辑判断操作 语法: if(条件, true返回信息,false返回信息) 注意: if函数支持嵌套使用 select if(aa,’bbbb’,111) fromlxw_dual; bbbb select if(1<2,100,200) fromlxw_dual; 200nvl函数:…