首页 > 其他分享 >1、kubernetes概念

1、kubernetes概念

时间:2023-04-03 16:23:53浏览次数:30  
标签:node 容器 kubernetes 概念 集群 pod 节点

一、kubernetes简介

kubernetes的本质是一组服务器集群。它可以在每个节点上运行特定的程序,来对节点中的容器进行管理。目的是为了实现资源管理的自动化。

主要功能如下:

1、自我修复:一旦某个容器崩溃,会秒级启动一个新容器

2、弹性伸缩:可以根据业务需要,自动对集群中的容器数量进行伸缩调整

3、服务发现:服务可以通过自动发现的形式找到它所依赖的服务

4、负载均衡:如果一个服务启动了多个容器,能够自动的实现负载均衡

5、版本回退:如果发现新发布的程序版本有问题,可以立即回退到旧版本

6、存储编排:可以根据容器自身的需求自动创建存储卷

二、kubernetes组件

一个kubernetes集群主要是由控制节点(master)、工作节点(node)组成,每个节点上都会安装不同的组件

master:集群的控制平面,负责集群的管理

  apiserver:资源操作的唯一入口,接收用户输入的命令,提供认证授权、API注册和发现等机制

  schedule:负责集群的资源调度,按照预定的调度策略将pod调度到相应的node节点上

  controller-manager:负责维护集群的状态,如何程序部署安排、故障检测、自动扩展、滚动更新等

  etcd:负责存储集群中各种资源对象的信息

 

node:集群的数据平面,负责为容器提供运行环境

  kebelet:负责维护容器的生命周期,即通过控制docker,来创建、更新、销毁容器

  kubeproxy:负责提供集群内部的服务发现和负载均衡

  docker:负责节点上容器的各种操作

 

 以下,以部署一个nginx服务来说明kubernetes系统各个组件调用关系

1、首先要明确,一旦kubernetes环境启动之后,master和node节点都会将自身的信息存储到etcd数据库中

2、一个nginx服务的安装请求会首先被发送到master节点的apiserver

3、apiserver组件会调用schedule组件来决定到底把服务安装到哪个节点上(此时,这步会从etcd中读取各个node的信息,然后按照一定的算法进行选择,并将结果告诉apiserver)

4、apiserver调用controller-manager去调度node节点安装nginx服务

5、kubelet接收到apiserver的指令之后,会通知docker,然后由docker启动一个nginx的pod(pod是kubernetes的最小单元,容器必须跑在pod中)

6、至此,一个nginx服务就运行了,如果需要访问nginx,就需要kube-proxy来对pod产生访问的代理

 

三、kubernetes概念

master:集群控制节点,每个集群需要至少一个master节点负责集群的管控

node:工作负载节点,由master容器分配到这些node工作节点上,然后node节点上的docker负责容器的运行

pod:k8s最小的控制单元,容器都是运行在pod中的,一个pod中可以有1个或多个容器

controller:控制器,通过它来实现对pod的管理,比如启动pod,停止pod,伸缩pod等

service:pod对外服务的统一入口,service下可以维护同一类多个pod

label:标签,用于对pod进行分类,同一类pod会有相同的标签

namespace:命名空间,用来隔离pod的运行环境

 

 

标签:node,容器,kubernetes,概念,集群,pod,节点
From: https://www.cnblogs.com/dingzp/p/17283203.html

相关文章

  • kubernetes rabbimq3.11.11集群之mqtt插件
    1.概述本文是总结给予k8s的rabbitmq3.11.11集群的mqtt搭建rabbitmq集群搭建详见前一篇文章:kubernetes集群部署rabbimq3.11.112.自动创建mqtt账号密码wrapper-entrypoint.sh#!/usr/bin/envbash(sleep20;\admin_user=bbbbbb;\admin_passwd=111111;\rabbitmq......
  • kubernetes安装
    环境:   centos7.9 安装步骤:一、准备:(1、SELINUX 2、swapoff 3、hosts 4、sysctl配置)setenforce0sed-i's/SELINUX=enforcing/SELINUX=disabled/g'/etc/sysconfig/selinuxsystemctldisablefirewalldsystemctlstopfirewalldsystemctldisableiptables.s......
  • 新概念2册L75笔记(复习一般过去时&系动词:变化)
    L75SOS单词理解语法理解一般过去时功能:发生在过去的事情;礼貌委婉。关键词:过去具体时间(yesterday/ago/last…)课文理解......
  • Kubernetes: manifest template
     apiVersion:v1Kind:podapiVersion:v1kind:Podmetadata:annotations:kubeadm.kubernetes.io/kube-apiserver.advertise-address.endpoint:192.168.8.11:6443kubernetes.io/config.hash:755e36554917832e5f2c40bbb2e580cblabels:component:k......
  • k8s kubernetes给node节点添加标签和删除node节点标签
    [root@k8s-master~]#hostname#查看节点名称k8s-master[root@k8s-master~]#[root@k8s-master~]#kubectlgetnodes--show-labels#查看节点标签NAMESTATUSROLESAGEVERSIONLABELSk8s-masterReadycontrol-plane9dv1.26.0......
  • Kubernetes 基本概念与组件
    Kubernetes(简称K8S)的出现是容器化技术发展的必然结果,容器化是应用程序级别的虚拟化,运行单个内核上有多个独立的用户空间实例,这些实例就是容器;容器提供了将应用程序的代码、运行时、系统工具、系统库和配置打包到一个实例中的标准方法,而且容器是共享一个内核的;由于容器技术的兴起......
  • 深度学习概念辨析——Epoch、Batch、Iteration
    本文转载自简书https://www.jianshu.com/p/22c50ded4cf7写在前面在训练神经网络的时候,我们难免会看到Batch、Epoch和Iteration这几个概念。曾对这几个概念感到模糊,看了网上的一些文章后,在这里做几个小小的总结。名词解释:【图片来源:https://zhuanlan.zhihu.com/p/29409502......
  • 深度学习之量化概念初步理解
    也许标题并不是很对,但一再听到有人提起量化这个词,搜索了下,稍作整理如下:量化任务的简要总结:1、量化映射方法,也就是将float-32映射到Int数据类型,每个间隔是相等的还是不相等的,这里就是均匀量化(uniformquantization)和非均匀量化(non-uniformquantization),也可以叫作线性量化和......
  • CAN NM中的主动节点和被动节点、被动唤醒概念
    1.主动节点承担主动发送网络管理报文任务,一般为KL15硬线、传感器等。一个网络中可能有多个主动节点2.被动节点由其他节点发送网络管理报文唤醒,调用CanNm_PassiveStartUp函数接口。3.共同点主动节点和被动节点都可以被动唤醒。被动节点被动唤醒默认不发网络管理报文,具体看客......
  • kubernetes 集群部署rabbimq3.11.11
    通过官方镜像RabbitMQDockerImage和rabbitmq-peer-discovery-k8s插件进行集群部署。0.环境 kubernetes1.24 rabbitmq3.11.111.命名空间将rabbitmq的资源都放在rabbitmq命名空间内。Namespace.yamlapiVersion:v1kind:Namespacemetadata:name:rabbit......