Kubernetes架构与组件详解

这篇具有很好参考价值的文章主要介绍了Kubernetes架构与组件详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Kubernetes 简介

1 什么是 Kubernetes

Kubernetes是由Google开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序的平台。Kubernetes充分利用了云计算和容器化技术,可以大幅简化应用程序的开发、部署和运行过程。

2 Kubernetes 的优势

Kubernetes的优势主要包括以下几点:

  1. 高可用性:Kubernetes可以在多个地理位置和云平台上运行,确保高可用性和业务连续性。
  2. 易于扩展:Kubernetes通过添加/删除节点进行扩展,从而更好地满足业务需求,还可以自动进行负载和流量管理。
  3. 便捷的部署管理:Kubernetes可以帮助用户轻松地创建和管理容器镜像、部署容器应用程序,并释放资源。
  4. 自动化:因为 Kubernetes 是一个自动化的平台,它可以自动管理负载均衡、扩展、滚动更新、健康检查等任务,从而释放更多时间来关注核心业务。
  5. 可扩展的生态系统:Kubernetes具有丰富的插件、应用程序、工具和社区支持,可以为用户提供更加丰富和可扩展的生态系统。

3 Kubernetes 的应用场景

Kubernetes主要适用于以下几个场景:

  1. 云原生应用程序:使用Kubernetes可以轻松地部署和管理云原生应用程序,提高开发效率和应用程序的可靠性。
  2. DevOps:Kubernetes可以帮助开发团队更快更安全地将应用程序部署到生产环境。
  3. 分布式计算和分布式数据存储、处理:使用Kubernetes可以帮助用户轻松地搭建分布式计算和数据存储集群,从而提高大数据处理的效率。
  4. 容器构建和线上部署管理:通过Kubernetes可以方便地构建和管理容器镜像,并进行线上部署和管理。

二、Kubernetes 架构

1 Kubernetes 架构概述

Kubernetes是一个分布式系统,它的核心是将容器化的应用程序分配到一组机器上,并管理它们的生命周期,从而可以高效、稳定地运行应用程序。 Kubernetes的架构支持将一个容器化的应用程序部署在一个节点上,也支持它跨多个节点和多台机器部署。

2 Kubernetes 架构组件介绍

2.1 控制面板组件

控制面板组件是 Kubernetes 系统的核心,用于管理整个系统。其中包括kube-apiserver,etcd,kube-controller-manager和kube-scheduler等组件。这些组件都是通过API Server进行交互,从而处理集群中的工作。

2.2 API Server

API Server是Kubernetes 提供的一种RESTful API,是Kubernetes系统的中心组件。它是 Kubernetes 控制面板的前端组件,用于处理集群中的所有请求并将请求转发给正确的组件,以便它们可以协同工作。

2.3 etcd

etcd是Kubernetes系统采用的数据存储系统,用于存储集群中的配置和状态信息等。etcd是一个高可用的分布式键值存储系统,可以确保在整个系统中保持一致的状态。

2.4 kubelet

kubelet是每台机器上运行的代理程序,它的任务是对Pod进行创建、调度和维护。kubelet还负责与Control Plane交互,从而接收集群中的任务和工作。

2.5 kube-proxy

kube-proxy是在每个节点上运行的网络代理程序,它负责为Pod对象提供服务发现和负载均衡功能。kube-proxy通过传递请求并根据规则将请求路由到正确的Pod,从而将请求从一个服务端口路由到相应的Pod。

2.6 CNI 插件

CNI(容器网络接口)插件是Kubernetes中用于管理容器网络的插件系统。CNI插件为Kubernetes提供支持,可以为Kubernetes管理的每个Pod对象分配IP地址和网络。CNI插件的使用使得Kubernetes的网络模型非常灵活。

2.7 容器运行时

容器运行时是Kubernetes中用于运行容器的组件,支持Docker,rkt等多种容器运行时。Kubernetes提供了一个容器运行时接口,从而可以很容易地切换到其他容器运行时。容器运行时支持管理容器的启动、停止、暂停等操作,实现了容器级别的资源管理和隔离。

三、Kubernetes 应用管理

在 Kubernetes 中应用程序通过 Pod、Deployment、StatefulSet、DaemonSet 和 Job 等模型进行管理。本文将介绍这些模型的概念、使用方法以及注意事项,以帮助您更好地理解和使用 Kubernetes。

1 Pod 概述

1.1 Pod 概念

Pod 是 Kubernetes 中最基本的调度单位,也是容器化的最小单位。它是由一个或多个紧密相连的容器组成的,这些容器共享同一个 IP 地址和网络命名空间,可以共享访问相同的存储卷和主机上的资源。Pod 是 Kubernetes 进行调度和管理的基本对象,一个 Pod 实例在一个节点上只会运行一次。

1.2 Pod 的生命周期

在 Kubernetes 中一个 Pod 实例的生命周期包括以下几个阶段:

  1. 创建阶段:Kubernetes API server 创建并初始化 Pod,根据 Pod 中的容器规范创建容器,并为 Pod 设置状态。
  2. 运行阶段:Pod 中的容器被初始化后,就开始运行了。在运行过程中,Kubernetes会对容器的运行状态进行监控,如容器是否运行正常,或者容器是否已经退出。
  3. 容器异常:如果 Pod 中的容器异常终止,Kubernetes 将根据定义的容器重启策略来决定是否重新启动容器,或者终止 Pod 实例。
  4. 删除阶段:当 Pod 不再需要时,可以通过 Kubernetes API 删除 Pod 实例。

2 Kubernetes 模型简介

Kubernetes 提供多种模型用于部署和管理应用程序,包括 Deployment、StatefulSet、DaemonSet 和 Job 等

2.1 Deployment 模型

Deployment 是 Kubernetes 最常用的模型之一,用于部署和更新应用程序。Deployment 可以使用 ReplicaSet 和 Pod 来进行管理,实现应用程序的水平伸缩和升级。创建一个 Deployment,需要定义一个描述 Deployment 的 YAML 文件,下面是一个简单的 Nginx 部署示例:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 3 
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80

该 YAML 文件定义了一个名为 nginx-deployment 的 Deployment 对象,该对象将使用 nginx:1.7.9 镜像来运行一个名为 nginx 的容器。该 Deployment 将会启动 3 个 Pod 进程,每个 Pod 进程都会包含一个 nginx 容器。

2.2 StatefulSet 模型

StatefulSet 用于部署有状态应用程序它能够提供有序的 Pod 管理和服务发现,保证应用程序在多个 Pod 实例之间的稳定性。以下是一个 StatefulSet 的 YAML 文件示例:

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: my-statefulset
spec:
  selector:
    matchLabels:
      app: my-app
  serviceName: my-service
  replicas: 3
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: my-pod
        image: my-image
        ports:
        - containerPort: 8181

在上述 YAML 文件中定义了一个名为 my-statefulset 的 StatefulSet 对象,它使用 my-image 镜像来运行一个名为 my-pod 的容器。该 StatefulSet 对象将会启动 3 个 Pod 进程,并为每个 Pod 进程生成一个唯一的稳定标识符。

2.3 DaemonSet 模型

DaemonSet 用于部署在集群中每个节点上运行的守护进程。DaemonSet 可以确保在每个节点上都有一个 Pod 实例,从而实现节点级别的服务发现和监控。以下是一个 DaemonSet 的 YAML 文件示例:

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: fluentd
spec:
  selector:
    matchLabels:
      app: fluentd
  template:
    metadata:
      labels:
        app: fluentd
    spec:
      containers:
      - name: fluentd
        image: fluentd:v1.0.2
        ports:
        - containerPort: 24224

在上述 YAML 文件中定义了一个名为 fluentd 的 DaemonSet 对象,它使用 fluentd:v1.0.2 镜像来运行一个名为 fluentd 的容器。每个节点上都会运行一个 Pod 进程,每个 Pod 进程都包含一个 fluentd 容器

2.4 Job 模型

Job 用于周期性地执行批处理任务可以在 Kubernetes 中实现一次性任务和定时任务。以下是一个 Job 的 YAML 文件示例:

apiVersion: batch/v1
kind: Job
metadata:
  name: my-job
spec:
  template:
    metadata:
      name: my-job
    spec:
      restartPolicy: OnFailure
      containers:
      - name: my-job-container
        image: my-image
        command: ["/bin/sh", "-c", "echo hello; sleep 30; echo world"]
  backoffLimit: 2

在上述 YAML 文件中定义了一个名为 my-job 的 Job 对象,它使用 my-image 镜像来运行一个名为 my-job-container 的容器。该容器将会执行命令 echo hello; sleep 30; echo world

3 Kubernetes 配置管理

Kubernetes 提供 ConfigMap 和 Secret 两种机制用于注入配置信息和敏感数据。在使用这些机制时可以将应用程序的配置和密钥集中存储在 Kubernetes 中,方便进行管理和更新

3.1 ConfigMap

ConfigMap 可以用于以配置文件的形式将应用程序的相关配置信息注入到 Pod 中。 ConfigMap 配置信息可以被多个 Pod 共享,从而方便进行集中式配置管理和更新维护。

以下是一个 ConfigMap 的 YAML 文件示例:

apiVersion: v1
kind: ConfigMap
metadata:
  name: my-config
data:
  database.properties: |
    database.url=jdbc:mysql://127.0.0.1:3306/test
    database.username=test
    database.password=password
  server.properties: |
    server.port=8080
    server.timeout=300

在上述 YAML 文件中定义了一个名为 my-config 的 ConfigMap 对象,并定义了一个 database.properties 文件和一个 server.properties 文件

3.2 Secret

Secret 可以用于将敏感信息以加密的形式注入到 Pod 中。Secret 与 ConfigMap 一样也可以实现多个 Pod 共享的配置信息的管理

以下是一个 Secret 的 YAML 文件示例:

apiVersion: v1
kind: Secret
metadata:
  name: my-secret
type: Opaque
stringData:
  username: admin
  password: myPassword

在上述 YAML 文件中定义了一个名为 my-secret 的 Secret 对象,并定义了一个 username 和 password。在实际使用中,Secret 中的数据将会被加密并存储在 etcd 中,在初始化 Pod 时进行解密并注入到容器中。

四、 Kubernetes 网络模型

网络是 Kubernetes 中至关重要的一环它是 Kubernetes 能够实现跨多个节点的负载均衡和服务发现的基础。在 Kubernetes 中,主要有三种网络模型:单节点 Docker 桥接模式、CNI 模式和 Service 模式。

1 Kubernetes 网络概述

Kubernetes 支持多种网络模型但它们都需要协同工作以确保网络可用性和性能。在 Kubernetes 中网络主要用于以下三个方面:

  • Pod 之间的网络通信
  • 容器和宿主机之间的网络通信
  • 外部访问 Kubernetes 集群提供的服务

为了实现这些网络功能 Kubernetes 需要在每个节点上配置一些网络组件和解决方案。

2 Kubernetes 网络方案

Kubernetes 中有多种网络方案可以根据不同的需求选择不同的方案

2.1 单节点 Docker 桥接模式

单节点 Docker 桥接模式是 Kubernetes 中最简单和最常见的网络方案之一。在这种方案中每个 Docker 容器都有自己的 IP 地址,Kubernetes 使用一个名为 Docker0 的网桥将这些 IP 地址连接在一起,实现容器和宿主机之间的通信

2.2 CNI 模式

CNI 模式是 Kubernetes 中的一个更高级的网络方案,它使用一种名为 Container Network Interface(CNI)的标准接口来管理容器网络。CNI 可以在 Kubernetes 中启用多种网络插件,如 Flannel、Calico 和 Canal 等,以实现不同的网络功能

2.3 Service 模式

Service 模式是 Kubernetes 中用于为容器提供负载均衡和服务发现的网络方案。在 Kubernetes 中,Service 是一组 Pod 的抽象,它们使用统一的 DNS 名称和虚拟 IP 地址,Kubernetes 通过 Service 实现了应用程序的服务发现和负载均衡

3 Kubernetes 网络管理工具

在 Kubernetes 中网络管理是一个重要的任务,需要使用专门的工具来进行管理和维护

3.1 kube-router

kube-router 是 Kubernetes 中一个完整的网络解决方案,它提供了 Pod 网络、Service 网络和外部网络的解决方案。kube-router 还提供了完整的 IPv6 支持,可以为 Kubernetes 中的 IPv6 网络提供支持

3.2 Cilium

Cilium 是一个用于 Kubernetes 中的网络和安全解决方案,它使用 Linux 内核技术提供了高性能的网络 I/O 服务。Cilium 还提供了完整的安全策略、安全插件和安全日志,可以增强 Kubernetes 网络的安全性和可靠性

五、 Kubernetes 存储管理

存储是 Kubernetes 中的另一个重要组成部分它可以提供可靠的持久化存储和数据管理。在 Kubernetes 中,主要有两种存储模型:Volume 和 PersistentVolume/Claim

1 Kubernetes 存储概述

Kubernetes 的存储模型是为容器化应用程序设计的,它提供了多种可插拔的存储后端,如本地存储、NFS 存储和云存储等。Kubernetes 将存储资源抽象为 PersistentVolume(PV)和 PersistentVolumeClaim(PVC)。

2 Kubernetes 存储模型

2.1 Volume

Volume 是 Kubernetes 中用于为 Pod 提供持久化存储的基本组件,它可以将容器中的数据存储到 Pod 中。Kubernetes 中支持多种 Volume 类型,如 EmptyDir、HostPath、NFS 和 GlusterFS 等,可以根据不同的需求选择不同的 Volume 类型

2.2 PersistentVolume/Claim

PersistentVolume(PV)是 Kubernetes 中用于描述物理存储资源的组件,它提供了抽象层,将存储资源与应用程序分离开来。PersistentVolumeClaim(PVC)是用于向 Kubernetes 请求存储资源的组件,它可以将 Pod 和 PersistentVolume 进行绑定,从而为容器提供持久化存储

53 Kubernetes 存储管理工具

在 Kubernetes 中存储管理是一项关键任务,需要使用专门的工具进行管理和维护

3.1 Ceph

Ceph 是一个开源的分布式存储系统它提供了高可用性和高可扩展性的存储服务。在 Kubernetes 中,可以将 Ceph 集群与 Kubernetes 集成,从而为容器提供可靠的存储解决方案

3.2 GlusterFS

GlusterFS 是一个开源的分布式文件系统,它可以将多台服务器上的存储设备汇聚成一个大型存储池,以提供高可用性和高可扩展性的存储服务。在 Kubernetes 中,可以将 GlusterFS 集群与 Kubernetes 集成,从而为容器提供可靠的存储解决方案

六、 Kubernetes 安全策略

1 Kubernetes 安全概述

在 Kubernetes 中应用程序和数据的安全是至关重要的。Kubernetes 提供了多种安全机制和工具,以帮助实现应用程序和数据的保护和隔离。Kubernetes 安全主要包括身份认证、授权、准入控制、网络安全和机密管理等方面。

2 Kubernetes 安全模型

Kubernetes 中的安全模型涵盖了多个方面,包括命名空间、ServiceAccount 和 RBAC 等

2.1 命名空间 Namespace

命名空间是 Kubernetes 中的一种资源分类机制,它将一组资源隔离开来,以实现资源管理和权限控制。每个命名空间都拥有自己的资源列表,而且命名空间之间的资源是相互隔离的。Kubernetes 中预定义了一些命名空间,如 default、kube-system 等,用户也可以自定义命名空间

2.2 ServiceAccount

ServiceAccount 是 Kubernetes 中用于身份验证和授权的一种机制,它为 Pod 提供了默认的身份认证信息。在 Kubernetes 中,每个 Pod 都有自己的 ServiceAccount,通过 ServiceAccount 可以为 Pod 提供不同的身份认证和授权策略。Kubernetes 还提供了多种身份验证和授权机制,如 OAuth、Webhook 等。

2.3 RBAC

RBAC 是 Kubernetes 中用于授权的一种机制,它可以将权限分配给特定的用户或用户组,并在整个 Kubernetes 群集中实施授权策略。RBAC 可以定义角色(Role)和角色绑定(RoleBinding),以将权限授予特定的用户或用户组,并限制其访问群集中的特定资源。

七、 Kubernetes 高可用方案

1 Kubernetes 高可用概述

在 Kubernetes 中,高可用是实现应用程序可靠部署和管理的重要前提条件。通过部署高可用 Kubernetes 集群,可以实现容错性、负载均衡和自动故障切换等功能

2 Kubernetes 高可用方案

2.1 多个控制节点

Kubernetes 中的控制节点(Control Plane)是用于管理整个 Kubernetes 群集的关键组件之一,包括 kube-apiserver、kube-controller-manager 和 kube-scheduler 等。为了实现高可用,可以在 Kubernetes 群集中部署多个控制节点,以实现容错和负载均衡

2.2 基于 etcd 集群的高可用

etcd 是 Kubernetes 中用于存储群集状态的关键组件,它为整个 Kubernetes 群集提供了数据存储和共享功能。为了实现高可用,可以通过部署 etcd 集群来实现数据的冗余和自动故障切换。

2.3 基于虚拟IP的高可用

在 Kubernetes 中可以使用虚拟IP(VIP)来实现高可用。通过使用 VIP,可以将多个 Kubernetes 节点组成一个冗余集群,以实现容错和自动故障切换等功能。

3 Kubernetes 高可用工具

3.1 kubeadm 集群安装工具

kubeadm 是 Kubernetes 官方提供的集群安装工具,它可以快速部署高可用 Kubernetes 集群,并提供了多种可插拔的组件和插件,以扩展和定制 Kubernetes 群集

3.2 kubespray 集群安装工具

kubespray 是一个开源的 Kubernetes 集群安装工具,它基于 Ansible 自动化工具和 Kubernetes 官方指南进行开发。kubespray 可以快速部署高可用 Kubernetes 集群,并提供了多种可插拔的组件和插件,以扩展和定制 Kubernetes 群集。

八、 Kubernetes 故障排查

在 Kubernetes 中故障排查是系统维护和调试的重要一环。本文将从三个方面介绍 Kubernetes 故障排查:概述、常见故障原因分析和排查技巧。

1 Kubernetes 故障排查概述

Kubernetes 故障排查通常涉及到多种组件和技术,包括网络、节点和 Pod 等。在排查问题时,需要先定位故障的范围和具体原因,然后采取相应的措施进行排除。针对不同类型的故障,通常需要采用不同的排查技巧和工具

2 Kubernetes 常见故障原因分析

2.1 网络不通

网络问题是 Kubernetes 中常见的故障原因之一。当集群中的容器无法与其他容器或外部网络通信时,可能是由于网络配置问题、网络故障或跨主机通信错误等引起的。解决网络故障的方法包括检查网络拓扑、配置和路由,以及检查 Kubernetes 中的网络策略和安全组等。

# 示例:检查 Pod IP 和服务 IP 是否冲突
apiVersion: v1
kind: Pod
metadata:
  name: test-pod
spec:
  containers:
  - name: test-container
    image: nginx
    ports:
    - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: test-service
spec:
  selector:
    app: test
  ports:
  - name: http
    port: 80
    targetPort: 80
  type: ClusterIP

2.2 节点异常

Kubernetes 节点异常是另一个常见的故障原因。当节点无法正常运行或访问时,可能会导致 Pod 启动失败、容器无法运行或数据丢失等问题。解决节点异常的方法包括检查节点状态、硬件故障、资源利用率和容器日志等

# 示例:查看节点状态和资源利用率
$ kubectl get nodes
$ kubectl describe node <nodename>
$ kubectl top node

2.3 Pod 异常

在 Kubernetes 中Pod 异常通常包括容器崩溃、镜像拉取失败、容器资源不足等问题。当 Pod 无法正常启动或执行命令时,可能会导致服务不可用、数据损失或负载过重等问题。解决 Pod 异常的方法包括检查容器状态、Pod 生命周期、容器资源配额和日志等。

# 示例:查看 Pod 状态和容器日志
$ kubectl get pods
$ kubectl describe pod <podname>
$ kubectl logs <podname> -c <containername>

3 Kubernetes 故障排查技巧

在排查 Kubernetes 故障时,需要掌握一些技巧和工具,以提高排查效率。其中包括:文章来源地址https://www.toymoban.com/news/detail-448760.html

  • 使用 kubectl 命令查询资源状态、获取日志和执行故障排查命令。
  • 在节点和容器中安装监控和诊断工具,如 Prometheus、Grafana 和 sysdig 等。
  • 使用 Kubernetes Dashboard 或其他资源管理工具来查看和管理集群资源。
  • 记录故障排查过程和结果,并及时更新相关文档和资料。

到了这里,关于Kubernetes架构与组件详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kubernetes集群架构与组件介绍

    个人博客 1.kubelet 该组件运行在每个Kubernetes节点上,用于管理节点。用来接收、处理、上报kube-apiserver组件下发的任务。 主要负责所在节点上的Pod资源对象的管理,例如Pod资源对象的创建、修改、监控、删除、驱逐及Pod生命周期管理等。 kubelet组件会定期监控所在节点的资源

    2024年02月07日
    浏览(49)
  • Kubernetes基础概念及架构和组件

    目录 一、kubernetes简介 1、kubernetes的介绍与作用 2、为什么要用K8S? 二、kubernetes特性 1、自我修复 2、弹性伸缩  3、服务发现和负载均衡 4、自动发布(滚动发布/更新)和回滚 5、集中化配置管理和密钥管理 6、存储编排 7、任务批量处理运行 三、kubernetes集群架构与核心组件

    2024年02月07日
    浏览(37)
  • Kubernetes(k8s) 架构原理一文详解

    目录 一、k8s 概述 1.什么是k8s? 2.特性 3.主要功能 三、集群架构与组件 1.Master 组件 (1)Kube-apiserver (2)Kube-controller-manager (3)Kube-scheduler 2.配置存储中心 3.Node 组件 (1)Kubelet (2)Kube-Proxy (3)docker 或 rocket 四、k8s的工作流程 五、k8s的资源对象 1.Pod 2.Pod 控制器 2.Label 3

    2024年02月09日
    浏览(43)
  • Kubernetes(k8s)入门:核心组件详解

    附:集群搭建请移步: Kubernetes(k8s)集群搭建,完整无坑,不需要科学上网~ Controllers官网文档:https://kubernetes.io/docs/concepts/workloads/controllers/ 官网:https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller/ 官网原文:A ReplicationController ensures that a specified number of pod repl

    2024年02月13日
    浏览(52)
  • 什么是云计算架构和组件

    云计算体系结构是云计算服务所需的组件组合。云计算体系结构由多个组件组成,如前端平台、后端平台或服务器、网络或 Internet 服务以及基于云的交付服务。 ​ 让我们来看看云计算,看看云计算是由什么组成的。云计算包括两个组件,前端和后端。前端由云计算系统的客

    2023年04月15日
    浏览(42)
  • Android组件化架构开发--为什么要使用组件化?组件分层?组件路由的简单实现。

    1.1 单工程项目结构 一般我们都是一个业务建一个包 缺点: 各种业务代码混杂在同一个模块里,开发人员在开发、调测过程的效率越来越低,定位某个业务问题,需要在多个业务代码混合的模块中寻找和跳转。 需要了解各个业务的功能,避免代码的改动影响其它业务的功能

    2024年02月10日
    浏览(62)
  • 本文将从云原生的概念、背景知识、Kubernetes架构及核心组件、应用场景、案例研究等方面深入剖析云原生课程的相关知识点

    作者:禅与计算机程序设计艺术 2020年,技术快速发展,云计算火爆。云原生领域也随之蓬勃发展。云原生已经成为大势所趋,大量企业都在逐渐转型云原生应用架构。国内外云服务厂商也纷纷推出基于Kubernetes的服务平台,而Kubernetes又是云原生开源技术体系的一部分。为了帮

    2024年02月07日
    浏览(64)
  • 【云原生 | 从零开始学Kubernetes】二十、Service代理kube-proxy组件详解

    该篇文章已经被专栏《从零开始学k8s》收录 上一篇文章:Kubernetes核心技术Service实战 点击跳转 Kubernetes service 只是把应用对外提供服务的方式做了抽象,真正的应用跑在 Pod 中的 container 里,我们的请求转到 kubernetes nodes 对应的 nodePort 上,那么 nodePort 上的请求是如何进一步转

    2024年02月03日
    浏览(39)
  • 【论文精读1】MVSNet架构各组件详解

    MVSNet(ECCV2018)是使用神经网络做三维重建的一篇经典论文,但大部分讲解其实都是翻译…看来看去最重要的网络训练各步骤原理和作用都是朦朦胧胧,感谢@朽一的博文用书来比喻特征图让我大致理解了整个过程。 下边结合我自己的理解做了图示来逐流程介绍,个人认为是比较

    2023年04月15日
    浏览(72)
  • 【K8S】docker和K8S(kubernetes)理解?docker是什么?K8S架构、Master节点 Node节点 K8S架构图

    一、docker的问世         在LXC(Linux container)Linux容器虚拟技术出现之前,业界网红是虚拟机。虚拟机技术的代表,是VMWare和OpenStack。 虚拟机是什么?         虚拟机其实就是 在你的操作系统里面,装一个软件,然后通过这个软件,再模拟一台甚至多台“子电脑”出来。

    2024年03月26日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包