一、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的运行环境

1、kubernetes概念的更多相关文章

  1. Kubernetes 概念整理

    注:以下大部分内容来自网上摘录,以便后期查阅. Kubernetes (通常称为 K8s) 是用于自动部署.扩展和管理容器化(containerized)应用程序的开源系统,是 Google 内部工具 ...

  2. Kubernetes概念介绍和v1版本部署过程

    简介: k8s一个开源的,跨主机管理容器应用集群的编排系统,为应用提供了基础的部署.维护和扩缩容机制. 编排:跨Docker主机同一管理容器集群. 目的 简化开发和运维容器集群的工作. 让开发和运维能 ...

  3. Kubernetes概念之deployment

    一整天一整天的坐在办公室,真的很~~~,懵圈中....,求解救. 本文通过<Kubernetes权威指南>的概念部分学习总结 Deployment作用 Deployment与RC的作用其实 ...

  4. Kubernetes概念之RC

    感觉自己浪费了一年的时间,种一棵树最好的时间是十年前,还有就是现在,虽然这颗树种了又种,种了又种,这次真的要种了......   本文通过<Kubernetes权威指南>的概念部分学习总结 ...

  5. Kubernetes概念之mater、node

    很久没写博客了,终于把重心找回来了,不过没有以前有斗志.有理想.有目标了.慢慢来.你若问我我最近几年的规划是什么,还真不知道.突然发现摧毁一个人真的很简单.k8s也是一遍一遍的从入门到放弃,还是要好好 ...

  6. 二、Kubernetes 概念介绍

    一.Master ​ Master指的是集群控制节点,在每个Kubernetes集群里都需要有一个Master来负责整个集群的管理和控制,基本上Kubernetes的所有控制命令都发给它,它负责具体的 ...

  7. kubernetes概念

    kubernetes blog cluster cluster是计算.存储.和网络资源的集合,kubernetes利用这些资源运行各种基于容器的应用. master master是cluster的大脑 ...

  8. Kubernetes概念及核心对象

    想学习更多相关知识请看博主的个人博客地址:https://blog.huli.com/ https://blog.huli.com/ 1.kubernetes快速入门 Kubernetes 集群将所有 ...

  9. Kubeadm 安装部署 Kubernetes 集群

    阅读目录: 准备工作 部署 Master 管理节点 部署 Minion 工作节点 部署 Hello World 应用 安装 Dashboard 插件 安装 Heapster 插件 后记 相关文章:Ku ...

  10. 三小时学会Kubernetes:容器编排详细指南

    三小时学会Kubernetes:容器编排详细指南 如果谁都可以在三个小时内学会Kubernetes,银行为何要为这么简单的东西付一大笔钱? 如果你心存疑虑,我建议你不妨跟着我试一试!在完成本文的学习后 ...

随机推荐

  1. 【alive-progress】Python控制台输出动态进度条

    简介 alive-progress是一种具有实时吞吐量和非常酷的动画新型的进度条python库. 使用 from alive_progress import alive_bar import time ...

  2. nohup 命令 追加输入日志或者覆盖输出日志

    nohup python3 -u botxiaohui.py >> botruninfo.log 2 >&1 & >>  是追加的输出 >    单 ...

  3. python投票一致性指数(IVC)实现代码

    毕业论文中用于计算联合国会员国间在联合国大会上的投票一致性(IVC) import pandas as pd import sqlite3 import networkx as nx import t ...

  4. 面向对象2(Java)

    封装 基本介绍 该露的露,该藏的藏,我们的程序设计要追求"高内聚,低耦合": 高内聚:类的内部数据操作细节自己完成,不允许外部干涉 低耦合:仅暴露少量的方法给外部使用 封装(数据的 ...

  5. VSCode Snippet

    { // Place your snippets for javascript here. Each snippet is defined under a snippet name and has a ...

  6. PLC入门笔记10

    梯形图电路之顺序控制 顺序控制功能图 顺序控制功能图的梯形图表达 编程原则 实例分析 SMo0.1西门子首次扫描时为ON,常用作初始化脉冲 这是台达的 这是优控的..

  7. linux 离线安装mysql 配置开机自启动

    系统版本:centos7.8 | mysql版本:5.7.35 安装配置mysql数据库 mysql数据库配置开机自启动 1. 安装配置mysql数据库 mysql版本:5.7.35 点击下载 提取码 ...

  8. 图模配置文件之 flow.json

    flow.json文件是用来配置图模导入时,各种不同的图模导入时,分别应该使用哪个映射文件对模型进行处理.在不同地区使用不同的格式的图模文件时,需要修改flow.json中相关的配置,来适应相应的图模 ...

  9. C语言转义序列

    转义序列 含义 \a 报警(ANSIC) \b 退格 \f 换页 \n 换行 \r 回车 \t 水平制表符 \v 垂直制表符 \\ 反斜杆\ \' 单引号 \" 双引号 \? 问号 \0oo ...

  10. 实践课:i至诚app案例分析---江洁兰

    这个作业属于哪个课程 至诚软工实践F班 这个作业要求在哪里 作业要求 这个作业的目标 分析产品软件,找出其中的问题并进行分析,提高对产品软件bug方面的认识 学号 212106715 第一部分 找Bu ...