前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kubernetes 常用概念和术语(一)简介

Kubernetes 常用概念和术语(一)简介

作者头像
用户4945346
发布2023-05-06 10:31:33
1290
发布2023-05-06 10:31:33
举报
文章被收录于专栏:pythonista的日常pythonista的日常

Kubernetes 简称 k8s ,它是一个为容器化应用提供集群部署和管理的开源工具,由 Google 开发。Kubernetes 这个名字源于希腊语,意为“舵手”或“飞行员”。k8s 这个缩写是因为k和s之间有 8 个字符的关系。

使用 k8s 的原因:

当你的应用只是跑在一台机器,直接一个 docker + docker-compose 就够了轻松管理;当你应用访问数不断增加,机器逐渐增加到十几台、上百台、上千台时,每次加机器、软件更新、版本回滚,都会变得非常麻烦、痛不欲生。这时候,Kubernetes 就可以一展身手了,让你轻松管理百万千万台的机器集群。可以为你提供集中式的管理集群机器和应用,加机器、版本升级、版本回滚,那都是一个命令就搞定的事,不停机的灰度更新,确保高可用、高性能、高扩展。

k8s 集群架构:

master

主节点,控制平台,不需要很高性能,不跑任务,通常一个就行了,也可以开多个主节点来提高集群可用度。

worker

工作节点,可以是虚拟机或物理计算机,任务都在这里跑,机器性能需要好点;通常都有很多个,可以不断加机器扩大集群;每个工作节点由主节点管理

Pod

K8S 调度、管理的最小单位,一个 Pod 可以包含一个或多个容器,每个 Pod 有自己的虚拟IP。一个工作节点可以有多个 pod,主节点会考量负载自动调度 pod 到哪个节点运行。

Kubernetes 组件

kube-apiserver API 服务,公开了 Kubernetes API

etcd 键值数据库,可以作为保存 Kubernetes 所有集群数据的后台数据库

kube-scheduler 调度 Pod 到哪个节点运行

kube-controller 集群控制器

Kubernetes 对容器应用进行了抽象,例如把一个容器或强关联的一组容器抽象为Pod,把各类存储都抽象成 Volume,把一组Pod抽象成 Service 等等基础对象。

在基础对象的层面上,Kubernetes 又对应用使用场景,做了一层抽象。可以看到,Kubernetes 中各个对象实际就是对生产业务场景的各类需求的抽象。

抽象出各类型对象以后,用户可以通过 yaml 文件(或直接命令行调用API)来描述这些对象的期望状态,确认了各对象期望状态的集合,也就确认了整个集群的期望状态。所有的操作都是声明式的,而不是命令集群要怎么做

Kubernetes 通过控制器循环不断将各组件收集来的集群实际状态与各对象的期望状态对比,并自动将集群实际状态向期望状态转移,这个过程,也就是Kubernetes最核心的概念:编排。

从功能上来说,可以把 Kubernetes 的概念或术语大概分为以下三类:

组件:指实际在集群中运行的K8s程序集,分为 Master 组件、Node 组件及附加组件。

对象:对象是一个抽象的概念实体,K8s 把应用、运行场景、功能、集群状态等都抽象成一个个对象,并通过 API 对这些对象进行管理,从而管理整个集群的状态。

标识:对组件和对象的各种表示方式,例如命名、标签、注释等。标识是KubernetesAPI与操作对象间的纽带。

平常接触比较多的是对象这块,下一篇会详细介绍。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-04-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 pythonista的日常 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档