DockerK8s

Docker&K8s

1. Docker

1.1 Docker是什么

用于构建容器化平台的软件,进程管理软件,主要用于部署应用程序并守护应用进程。容器是由docker软件启动的业务集成,该进程由docker全权管理。容器是进程,由内核机制来完成容器隔离。docker软件包含客户端和服务器,本机客户端和服务器通过Unix套接字通讯。docker服务端通过接受客户端请求来管理容器进程和镜像。

1.2 Docker能做什么

容器是一种轻量级的虚拟化技术,而Docker是一个提供容器管理功能的开源平台。

应用程序打包(应用程序+环境依赖)解决环境一致性问题。进程(容器)隔离以及进程的资源限制。docker swarm 快速部署、快速伸缩;docker swarm 负载均衡与集群化部署;docker swarm 配置与密钥管理。

Docker SwarmDocker的一个原生集群和编排工具,它允许将多个Docker主机组织成一个集群,以便在集群中部署和管理容器化应用程序。Docker Swarm提供了一种简单、可扩展的方式来管理和协调Docker容器,能够轻松地实现容器的高可用性、负载均衡和故障恢复。

Docker Swarm的主要组件包括:

  1. Swarm集群:一个由多个Docker主机组成的集群,这些主机共同运行容器化应用程序。
  2. Swarm节点:集群中的每个Docker主机都是一个Swarm节点。节点可以是管理节点(负责管理集群状态和调度容器)或工作节点(负责运行容器)。
  3. Swarm服务:在Swarm集群中部署和管理的应用程序或服务。服务可以由一个或多个容器实例组成,这些实例可以在集群中的任何节点上运行。
  4. Swarm编排:Docker Swarm提供了一种声明式的方式来定义和管理服务。您可以使用Docker Compose文件来描述应用程序的服务、网络和卷,然后使用docker stack命令在Swarm集群中部署和管理这些服务。

使用Docker Swarm,可以实现以下功能:

  • 服务发现和负载均衡:Swarm集群内的服务可以自动发现其他服务,并通过内置的负载均衡器进行流量分发。
  • 弹性伸缩:根据需要动态调整服务的容器实例数量。
  • 滚动更新:无需停机即可更新服务的容器镜像。
  • 故障恢复:当容器实例失败时,Swarm会自动在其他节点上重新调度新的实例。
  • 安全性:通过Docker中的TLS相互认证和加密通信来保护集群的安全。

1.3 Docker技术边界

遵循单一原则,一个docker只运行一个应用程序的主进程。docker是进程,不能在容器中搭建带界面的开发环境。

2. k8s

2.1 K8s是什么

K8s是一个分布式容器管理(编排)与服务管理平台(软件);K8s本身不具备将应用容器化的能力,而是通过容器运行时接口与容器化平台交互,从而管理容器;K8s协调多个节点以及资源,确保应用程序的稳定运行;K8s master节点组件:调度器,控制管理器,api server,etcd。K8s worker 节点组件:kubectl K8s命令行客户端,用于和api server交互,kubelet 每个节点机器上运行的守护进程,用户获取节点信息、节点容器信息以及负责节点容器平台的交互;kube-proxy 实现网络代理和负载均衡;容器运行时与kubelet和容器平台交互;容器平台(docker)负责具体的容器操作。

2.2 K8s能做什么

快速部署分布式应用,并提供自动伸缩机制,回滚机制;提供服务发现和负载均衡;容器配额管理;故障发现和故障转移;提供pod作为容器的载体,可以方便实现sidecar模式(一个主业务容器+一个或多个辅助容器);配置和密钥管理;节点容器信息与资源信息的监控;支持多种存储类型。

2.3 K8s技术边界

K8s本身不具备将应用程序容器化的能力;不部署源码,不构建镜像;不限定应用程序类型;不支持应用程序级别的内种服务(mysql,kafka等中间件)。

2.4 专业术语

CRI: CRI(Container Runtime Interface)是容器运行时接口的缩写,它定义了Kubernetes与容器运行时之间的通信协议。CRI使得Kubernetes能够与多种容器运行时(如Docker、containerd、CRI-O等)进行集成,实现容器的管理和编排。

etcd: etcd是一个分布式键值存储系统,用于存储和管理Kubernetes集群的配置数据和状态信息。etcd是Kubernetes的核心组件之一,它提供了一种可靠、高性能的存储方式,使得Kubernetes集群能够在分布式环境中保持一致性和同步。

在Kubernetes集群中,etcd负责存储和管理以下类型的数据:

  1. 集群配置:包括集群的网络配置、访问控制策略等。
  2. 节点信息:包括集群中的节点状态、资源使用情况等。
  3. 工作负载:包括部署、服务、配置映射、密钥等。

pod : pod是K8s的最小调度单元,每个pod包含一个根容器pause容器和一个或多个业务容器。同一个pod的容器共享网络和存储。

service: 将一组运行在pod中的应用程序公开为网络服务

控制器: deployment 、DaemonSet等均为控制器资源,存在的意义在于,使集群中的一组pod的实际状态向控制器所定义的预期状态靠拢。

label: 是键值对结构,键和值均由用户定义。可以被附加到各种资源,用于资源管理。

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

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

相关文章

汇编:函数以及函数参数传递

汇编语言中的函数(或过程)是指一段可以被调用和执行的代码块;它们用于组织和重用代码,并使程序结构更加清晰;由于汇编语言没有高层次语言的语法糖,编写和调用函数涉及直接的堆栈操作和寄存器管理&#xff1…

c++网络开发笔记

1、第一节 1、阻塞模型 2、非阻塞IO 1)忙等待 2)IO复用模式(select,管理多个文件描述符号) 3)信号驱动IO,通过信号的方式 4)异步模型aio_read 3、select模型 int select(int nfds, fd_set *readfds, fd_set* writefds,fd_set* exceptfds, struct timeval* timeout);n…

Docker打包nginx镜像丢失挂载的配置文件

一般来说,Docker镜像构建过程中,如果没有正确地将配置文件复制到镜像中,那么在运行容器时就会丢失挂载的配置文件。 所以有2种解决办法: 第一种: 将挂载在宿主机上的配置文件复制到镜像中,可以参考这位老铁的文章《D…

多项式重构的平滑和法线估计-------PCL

多项式重构的平滑和法线估计 /// <summary> /// 多项式重构的平滑和法线估计 /// </summary> /// <param name"cloud"></param> /// <returns>输出一个包含平滑后的点云数据以及相应法线信息的数据结构</returns> pcl::PointCl…

28v电源 28V电源系统 28v航空电源系统概述

28V电源是指一种工作电压为28V的直流电源系统&#xff0c;主要用于航空电子、航天、J事和高端工业应用中。它通常用于为复杂的电子设备和系统供电&#xff0c;如飞机上的导航、通信、控制面板、计算机系统等。这些设备需要稳定的电压输入&#xff0c;而28V电压既能够保证电力供…

Docker 存储路径修改教程

简介 Docker 在长时间使用后&#xff0c;可能会因为镜像和容器的积累导致默认存储空间不足。本技术文档将指导您如何安全地将 Docker 的镜像和容器存放路径修改至挂载的磁盘中&#xff0c;以解决空间不足的问题。请确保在操作前&#xff0c;您的目标磁盘已经成功挂载。 查看 …

双向长短期记忆网络(BiLSTM)简介

双向长短期记忆网络&#xff08;Bidirectional Long Short-Term Memory, BiLSTM&#xff09;是一种改进的循环神经网络&#xff08;Recurrent Neural Network, RNN&#xff09;&#xff0c;专门设计用于处理序列数据。BiLSTM 能够通过结合前向和后向两个 LSTM 网络的输出来捕捉…

第12周作业--HLS入门

目录 一、HLS入门 二、HLS入门程序编程 创建项目 1、点击Vivado HLS 中的Create New Project 2、设置项目名 3、加入文件 4、仿真 3、综合 一、HLS入门 1. HLS是什么&#xff1f;与VHDL/Verilog编程技术有什么关系? HLS&#xff08;High-Level Synthesis&#xff0c…

(Askchat.ai、360智脑、鱼聪明、天工AI、DeepSeek)

目录 1、Askchat.ai - 梦想为蓝图&#xff0c;ChatGPT为笔。 2、360智脑 — 以人为本&#xff0c;安全可信 3、鱼聪明AI - 做您强大的AI助手 (yucongming.com) 4、天工AI-搜索、对话、写作、文档分析、画画、做PPT的全能AI助手 (tiangong.cn) 5、DeepSeek | 深度求索 1、Askch…

基于STM32实现智能风扇控制系统

目录 文章主题环境准备智能风扇控制系统基础代码示例&#xff1a;实现智能风扇控制系统 PWM控制风扇速度温度传感器数据读取串口通信控制应用场景&#xff1a;智能家居与环境调节问题解决方案与优化收尾与总结 1. 文章主题与命名 文章主题 本教程将详细介绍如何在STM32嵌入式…

Docker Desktop安装和如何在WSL2中使用Docker

最近在使用WSL的过程中&#xff0c;想使用docker遇到了一些问题&#xff0c;在WSL中安装Linux版本的docker&#xff0c;启动镜像之后不能从Windows机器的端口映射出来&#xff0c;查了一圈之后&#xff0c;发现应该使用Docker Desktop软件&#xff0c;下面是安装和使用的方式 …

[源码+搭建教程]西游伏妖篇手游_GM_单机+和朋友玩

为了学习和研究软件内含的设计思想和原理&#xff0c;本人花心血和汗水带来了搭建教程&#xff01;&#xff01;&#xff01; 教程不适于服架设&#xff0c;严禁服架设&#xff01;&#xff01;&#xff01;请牢记&#xff01;&#xff01;&#xff01; 教程仅限学习使用&…

深入解析自注意力机制(Self-Attention):深度学习中的关键创新

Self-Attention 深入解析自注意力机制&#xff08;Self-Attention&#xff09;&#xff1a;深度学习中的关键创新自注意力机制的起源自注意力机制的工作原理关键组件公式表达 自注意力机制的应用结论 深入解析自注意力机制&#xff08;Self-Attention&#xff09;&#xff1a;深…

26条提示词工程策略

#原则中文原则1No need to be polite with LLM so there is no need to add phrases like “please”, “if you don’t mind”, “thank you”, “I would like to”, etc., and get straight to the point.不需要对 LLM 使用礼貌用语&#xff0c;因此无需添加诸如“请”、“如…

springboot集成达梦数据库8

springboot集成达梦数据库8 官方文档&#xff1a;[https://eco.dameng.com/document/dm/zh-cn/start/java-development.html](https://eco.dameng.com/document/dm/zh-cn/start/java-development.html) 引入maven依赖 <!--添加数据库驱动安装包--> <dependency> …

Threejs路径规划_基于A*算法案例完整版

上节利用了A*实现了基础的路径规划&#xff0c;这节把整个功能完善好&#xff0c;A*算法一方面是基于当前点找到可以到达的点&#xff0c;计算从出发点到此点&#xff0c;以及此点到目的地的总成本&#xff0c;比较出最小的那个&#xff0c;再用最小成本的点继续找到它可以到达…

明天(周六)下午!武汉Linux爱好者线下沙龙,我们在华中科技大学等你!

2024 年 5月 25 日&#xff08;周六&#xff09;下午&#xff0c;我们将在「武汉市洪山区」 珞喻路 1037 号华中科技大学南五楼 613 室举办武汉 Linux 爱好者线下沙龙&#xff08;WHLUG&#xff09;&#xff0c;欢迎广大 Linux 爱好者来到现场&#xff0c;与我们一同交流技术&a…

git分支开发主干合并流程

文章目录 一、分支开发二、主干合并三、删除合并过的分支 一、分支开发 创建分支git branch <分支名> # git branch my_new_branch开发后提交代码git commit -m 本次开发内容 # git commit -m 增加登录保持功能同步远端仓库git push origin <分支名> # git push o…

Kubernetes——资源调度与Pod探针

目录 前言 一、资源调度策略 1.默认调度器&#xff08;Default Scheduler&#xff09; 2.自定义调度器&#xff08;Custom Scheduler&#xff09; 3.亲和性与反亲和性&#xff08;Affinity and Anti-Affinity&#xff09; 4.污点与容忍&#xff08;Taints and Toleration…

单体应用与微服务的优缺点

单体应用与微服务的优缺点 单体应用&#xff08;monolith application&#xff09;就是将应用程序的所有功能都打包成一个独立的单元&#xff0c;可以是 JAR、WAR、EAR 或其它归档格式。 随着业务需求的快速发展变化&#xff0c;敏捷性、灵活性和可扩展性需求不断增长&#x…