k8s核心概念

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

一、集群架构与组件

1,相关组件

【1】 master node三个组件
  • k8s的控制节点,对集群进行调度管理,接受集群外用户去集群操作请求
  • master node 组成(四个组件):控制面
  1. API Server:通信
  2. kube-Scheduler:调度 通过调度算法将pod分布到节点(服务器)上
  3. Cluster State Store(ETCD数据库)/分布式键值存储
  4. Controller Manger Server :资源
【2】 worker node三个组件:用户面
  • 集群工作节点,运行用户业务应用容器1
  • worker node组成(三个组件)
    1. kubelet:worker端的管理工具,负责pod的生命周期、存储、网络管理
    2. kube proxy :网络代理,设置转发路径 ,负责service的服务发现(此处为内部服务的发现,外部服务的发现为ingress),负载均衡(4层负载)
    3. Container Runtime(运行时):创建容器的软件
【3】附加组件
  • kube - dns
  • ingress Controller:为服务提供外网入口(外部服务的发现)

1,分层架构

【1】生态管理层
【2】接口层
【3】管理层
【4】应用层
【5】核心层

对外提供API构建高层的应用,对内提供插件式应用执行环境

二、核心概念与专业术语

1.服务的分类

【1】无状态
  • 代表应用:nginx、aoache
  • 优点:对客户头民,无依赖关系,可以高效实现扩容、迁移
  • 缺点:不能存储数据,需要额外的数据服务支持
【2】有状态
  • 代表应用:MySQL、redis
  • 优点:可以独立存储数据,实现数据管理
  • 缺点:集群环境下需要实现主从、数据同步、备份、水平扩容复杂

2.资源的分类

k8s核心概念,kubernetes,容器,云原生

【1】元数据型:对于资源的元数据描述,每一个资源都可以使用元空间的数据
  • Horizontal Pod Autoscater(HPA):pod自动扩容,可以根据CPU使用率或自定义指标(metrics )对Pod进行扩容或者缩容
  • PodTeplate:pod模板,是关于pod的定义
  • LimitRange:对集群内的资源进行限制,相当于批量设置了某一范围内(命名空间)的pod的资源使用限制
【2】集群级资源:作用于集群之上,集群下的所有资源都可以共享使用
  • namespace
  • node:节点,相当于一个服务器
  • ClusterRole:用于对集群的权限进行管理
  • ClusterRoleBinding:用于将上述的角色跟某一资源进行绑定(只能绑定集群级别的资源对象上绑定)
【3】命名空间级资源:作用在命名空间之上,通常只能在该命名空间范围内使用
  1. 工作负载型 pod:可以当做容器组,pod内可以有多个容器,可以管理pod中的容器,为最小的可部署单元。

一个pod包含一个应用程序容器(也可以是多个),存储资源,一个唯一的网络IP地址,以及一些确定容器该如何运行的选项。pod容器组代表了k8s中一个独立的应用程序运行实例,该实例可能由单个容器,或者几个紧耦合在一起的容器组成。
【1】副本(replicas):一个pod可以被复制成多个。没复制的一个都是副本。
【2】控制器

  • 适用无状态服务:RC、RS、Deployment
  • 适用有状态服务:StatefuiSet
  • 守护进程:DaeminSet 保证在每个node上都运行一个容器副本,常用来部署一些集群的日志、监控或者其他系统管理应用
  • 任务/定时任务:Job(一次性任务,做完不再重启容器)、CroJob(周期性执行的任务,在job的基础上加了定时功能)
  1. 服务发现
  • Service:实现k8s集群内部的网络调用,负载均衡(四层负载),横向流量
  • ingress:将k8s集群内部服务暴露给外网访问的服务(ingress-nginx 反向代理,七层负载),纵向流量
    k8s核心概念,kubernetes,容器,云原生
    k8s核心概念,kubernetes,容器,云原生
  1. 存储
  • volume: 存储卷,共享Pod中容器使用的数据,用来放持久化的诗句,比如数据库数据
  • CSI
  1. 特殊类型配置
  • configmap:集群的配置文件,数据说明,数据卷,可以挂载不同的pod上,不加密,也可以做环境变量
  • secret:加密的,sha256加密。用于保存证书,拉取镜像凭证密码
  • DownwardAPI:
  1. 其他
  • Role:定义一组命名空间的权限
  • RoleBinding

3. 资源清单

4. 对象规约和状态

【1】规约Spec

Spec为必须的,描述了对象的期望状态(Desired Status),以及关于对象的一些基本信息。

【2】状态Status

对象的实际状态,该属性有K8S自己维护,k8s会通过一些列的控制器对对象进行管理,让对象的实际状态尽可能的与期望状态符合。文章来源地址https://www.toymoban.com/news/detail-607693.html

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

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

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

相关文章

  • 【云原生 | Kubernetes 系列】K8s 实战 如何给应用注入数据 II 将pod数据传递给容器

    在上一篇文章中,我们学习了针对容器设置启动时要执行的命令和参数、定义相互依赖的环境变量、为容器设置环境变量,三种设置方式,本篇文章,我们将继续学习数据的传递。 有两种方式可以将 Pod 和 Container 字段传递给运行中的容器: 环境变量 卷文件 这两种呈现 Pod

    2024年01月25日
    浏览(141)
  • 云原生Kubernetes:K8S集群实现容器运行时迁移(docker → containerd) 与 版本升级(v1.23.14 → v1.24.1)

    目录 一、理论 1.K8S集群升级 2.环境 3.升级策略 4.master1节点迁移容器运行时(docker → containerd)  5.master2节点迁移容器运行时(docker → containerd)  6.node1节点容器运行时迁移(docker → containerd)  7.升级集群计划(v1.23.14 → v1.24.1) 8.升级master1节点版本(v1.24.1) 9.升级master2节点版本

    2024年02月03日
    浏览(69)
  • 云上攻防-云原生篇&;Kubernetes&;K8s安全&;API&;Kubelet未授权访问&;容器执行

    curl -XPOST -k “https://192.168.139.132:10250/run///” -d “cmd=id” 执行的命令是test03容器里的命令,需要进行容器逃逸。 1、攻击8080端口:API Server(Master)未授权访问 旧版本的k8s的API Server默认会开启两个端口:8080和6443。 6443是安全端口,安全端口使用TLS加密;但是8080端口无需认证,

    2024年04月22日
    浏览(77)
  • k8s核心概念

    1,相关组件 【1】 master node三个组件 k8s的控制节点,对集群进行调度管理,接受集群外用户去集群操作请求 master node 组成(四个组件):控制面 API Server:通信 kube-Scheduler:调度 通过调度算法将pod分布到节点(服务器)上 Cluster State Store(ETCD数据库)/分布式键值存储 Contr

    2024年02月15日
    浏览(35)
  • 【k8s】核心概念篇

    在部署应用程序的方式上,主要经历了三个时代:传统部署 - 虚拟化部署 - 容器化部署 传统部署:互联网早期,会直接将应用程序部署在物理机上 优点:简单,不需要其它技术的参与 缺点:不能为应用程序定义资源使用边界,很难合理地分配计算资源,而且程序之间容易产

    2024年02月08日
    浏览(38)
  • 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日
    浏览(55)
  • Kubernetes(K8s)的核心组件简介

    Kubernetes(简称 K8s)是一个开源的,用于自动化部署、扩展和管理容器化应用程序的平台。在这篇文章中,我们将深入研究 Kubernetes 的核心组件及其功能。 一、Master 组件 1. API Server:Kubernetes 的主要管理组件。所有的管理任务都是通过 API Server 进行的。它是 Kubernetes 的前端,

    2024年02月15日
    浏览(47)
  • 云原生Kubernetes:K8S概述

    目录 一、理论 1.云原生 2.K8S 3.k8s集群架构与组件 4.K8S网络 二、总结 (1)概念 云原生是一种基于容器、微服务和自动化运维的软件开发和部署方法。它可以使应用程序更加高效、可靠和可扩展,适用于各种不同的云平台。 如果要更直接通俗的来解释下上面的概念,云原生更

    2024年02月10日
    浏览(55)
  • Kubernetes(k8s)概念介绍

    K8s是一个开源的用于管理云平台中多个主机上的容器化的应用,k8s的目标是让部署容器化的应用简单并且高效,k8s提供了应用部署,规划,更新,维护的一种机制。k8s是google在2014年开源的容器化集群部署管理系统,使用k8s可以进行容器化应用部署,它有利于应用扩展,k8s目标

    2024年02月15日
    浏览(54)
  • Kubernetes技术--k8s核心技术 ingress

    1.引入        我们之前在部署应用(如nginx)的时候,如果你需要外部进行访问,使用的是service中的nodePort方式进行对外的暴露。然后外部就可以使用ip + 端口号来进行访问部署应用。         其实这一种方式是存在着较为明显的缺陷,每一个端口你只能够使用一次,一个端口

    2024年02月10日
    浏览(42)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包