首页 > 其他分享 >k8s-01-介绍

k8s-01-介绍

时间:2024-07-01 15:00:57浏览次数:23  
标签:容器 01 介绍 进程 应用程序 组件 镜像 k8s 运行

K8S 介绍

  1. 单体应用:由很多个组件组成,这些组件紧密的耦合在一起,由于他们在同一个操作系统进程中运行,所以在开发、部署、管理都必须在同一个实体进行。即使市某个组件中小的更改,都需要重新部署整个应用。组件
    间缺乏严格的边界定义,相互依赖,日积月累导致系统复杂度提升。

  2. 微服务:将复杂的大型单体应用,拆分为小的可独立部署的微服务组件。每个微服务以独立的进程运行,并通过简单且定义良好的接口(API)与其他的微服务通信。服务之间通过类似 HTTP 这样的同步协议通信,或者通过 AMQP(高级消息队列协议)这样的异步协议通信。

    只要API 不变或者向前兼容,改动一个微服务,并不会要求对其他微服务进行改动或者重新部署。

    缺点:1. 当组件数量增加时,部署相关的决定就变得越来越困难,因为不仅组件部署的组合数在增加,而且组件问依赖的组合数也在以更大的因素增加。2. 因为跨了多个进程和机器,使得调试代码和定位异常调用变得困难。3. 多个应用在同一个主机上运行可能会有依赖冲突。

  3. Linux 命名空间(namespace):每个进程只看到它自己的系统视图(文件、进程、网络接口、主机名等)。

    • Mount(mnt)
    • Process ID(pid)
    • Network(net):运行在进程里的应用程序能看见什么网络接口。
    • Inter-process communication(ipd)
    • UTS:运行在命名空间里的进程能看见哪些主机名和域名。
    • User ID(user)
  4. Linux 控制组(cgroups):限制了进程能使用的资源量(CPU、内存、网络带宽)。

  5. 镜像:应用程序及其所依赖的环境。包含了应用程序可用的文件系统和其他元数据,如镜像运行时的可执行文件路径。

  6. 镜像仓库:存放Docker镜像。

  7. 容器:基于Docker镜像被创建。一个运行中的容器是一个运行在Docker主机上的进程,但它和主机,以及所有运行在主机上的其他进程是隔离的,这个进程也是资源受限的,只能访问分配给它的资源(CPU、内存)。

  8. 镜像层:不同镜像可能包含完全相同的层,不仅使分发更高效, 也有助于减少镜像的存储空间。容器镜像层是只读的。容器运行时, 一个新的可写层在镜像层之上被创建。容器中进程写入位于底层的一个文件时, 此文件的一个拷贝在顶层被创建, 进程写的是此拷贝。

  9. 容器镜像移植性缺陷:不适用特定的内核版本,特定硬件架构

  10. kubernetes 提供的服务:服务发现、扩容、负载均衡、自恢复,甚至领导者的选举。

  11. 控制面板(Master):用于控制集群并使它工作。它包含多个组件,组件可以运行在单个主节点上或者通过副本分别部署在多个主节点以确保高可用性。

    • Kubernetes API 服务器:其他控制面板组件都要和它通信。
    • Scheculer:调度应用(为应用的每个可部署组件分配一个工作节点)。
    • Controller Manager:执行集群级别的功能,如复制组件、持续跟踪工作节点、处理节点失败等。
    • etcd:一个可靠的分布式数据存储,它能持久化存储集群配置。
  12. 工作节点(Node):运行容器化应用的机器。

    • Docker 、rtk 或其他的容器类型。
    • Kubelet :与 API 服务器通信,并管理它所在节点的容器。
    • Kubernetes Service Proxy (kube-proxy):负责组件之间的负载均衡网络流量。
  13. 小结:

    • 单体应用程序更容易部署,但随着时间的推移更难维护,并且有时难以扩展(垂直或水平扩展)。
    • 基于微服务的应用程序体系结构使每个组件的开发更容易,但是很难配置和部署它们作为单个系统工作。
    • Linux 容器提供的好处与虚拟机差不多,但它们轻量许多,并且允许更好地利用硬件。
    • 通过允许更简单快捷地将容器化应用和其操作系统环境一起管理, Docker 改进了现有的Linux 容器技术。
    • Kubernetes 将整个数据中心暴露为用于运行应用程序的单个计算资源。
    • 开发人员可以通过Kubernetes 部署应用程序,而无须系统管理员的帮助。
    • 通过让Kubernetes 自动地处理故障节点。

标签:容器,01,介绍,进程,应用程序,组件,镜像,k8s,运行
From: https://www.cnblogs.com/colasdn/p/18278046

相关文章

  • k8s-02-开始使用
    开始使用列出集群节点kubectlgetnodes节点的详细信息kubectldescribe[node<NODE-NAME>]配置Tab补全source<(kubectlcompletionbash)运行应用kubectlrunkubia--image=luksa/kubia--port=8080--generator=run/vlreplicationcontroller列出p......
  • k8s-03-Pod
    Podpod是逻辑主机,其行为与非容器世界中的物理主机或虚拟机非常相似。此外,运行在同一个pod中的进程与运行在同一物理机或虚拟机上的进程相似,只是每个进程都封装在一个容器之中。pod定义由这么几个部分组成:首先是YAML中使用的KubemetesAPI版本和YAML描述的资源......
  • K8s摘抄及理解
    摘抄及理解目录摘抄及理解ReplicationController和PodReplicationController和ReplicaSet[1]Kubernetes核心组件创建Pod流程RBAC授权[2]Role和ClusterRoleRoleBinding和ClusterRoleBindingResourceSubject静态PodPodHook(生命周期钩子)健康检查InitContainer(初始化......
  • K8s 问题及解答
    问题及解答kubectlproxy命令及其含义,如何通过proxy访问kubernetes集群?Createsaproxyserverorapplication-levelgatewaybetweenlocalhostandtheKubernetesAPIServer.ItalsoallowsservingstaticcontentoverspecifiedHTTPpath.Allincomingdata......
  • 浅谈 K8s Service 网络机制
    浅谈K8sService网络机制云原生运维圈 2024-07-0112:03 上海 1人听过 以下文章来源于腾讯云原生 ,作者王成腾讯云原生.云原生技术交流阵地,汇聚云原生最新技术资讯、文章、活动,以及云原生产品及用户最佳实践内容。王成,腾讯云研发工程师,Kubernetesmember,从......
  • 01.Redis常用的一些命令
    简介:Redis是一款开源的使用ANSIC语言编写、遵守BSD协议、支持网络、可基于内存也可持久化的日志型、Key-Value高性能数据库。Redis与其他Key-Value缓存产品相比有以下三个特点:支持数据持久化,可以将内存中的数据保存在磁盘中,重启可再次加载使用支持简单的Key-Value类型的......
  • LeetCode 1013. Partition Array Into Three Parts With Equal Sum
    原题链接在这里:https://leetcode.com/problems/partition-array-into-three-parts-with-equal-sum/description/题目:Givenanarrayofintegers arr,return true ifwecanpartitionthearrayintothree non-empty partswithequalsums.Formally,wecanpartition......
  • 【在线评论】不同视角下在线评论对客户满意度和推荐度的影响—推文分析—2024-07-01
    今天的推文主题是【在线评论】,重点关注可以关注第四篇,很全面地分析了在线评论的信息多维性。第一篇从客户的在线评论入手,将客户消费的动机为功利、享受、社会满足;第二篇是关于在线评论对消费者再次选择同一家酒店的机制探索。变量:信息质量、信息来源可信度、信息有用性与......
  • 基于STM32单片机智能车辆RFID射频测速报警系统OLED设计24-201
    24-201、STM32车辆测速系统设计-RFID-OLED-BELL-KEY本设计由STM32F103C8T6单片机核心板电路+2路RFID模块电路+0.96寸OLED液晶显示电路+蜂鸣器报警电路+按键电路+电源电路组成。1、当RFID卡在第一个RFID模块上刷卡后开始计时,当刷第2张卡时,停止计时。2个RFID模块之间的距离默认......
  • 阅读笔记《GB/T28449-2018信息安全技术网络安全等级保护测评过程指南》
    方案编制:测评对象确定、测评指标确定、测评内容确定、工具测试方法确定、测评指导书开发、测评方案编制对每项活动均给出相应的工作流程、主要任务、输出文档及活动中的相关方的职责的规定,每项工作任务均有相应的输入、任务描述和输出产品测评风险:影响系统正常运行、感信息泄露......