计算机系统应用教程网站

网站首页 > 技术文章 正文

关于Kubernetes基本概念 kubernetes的主要功能

btikc 2024-10-10 04:50:38 技术文章 5 ℃ 0 评论

一、关于Kubernetes

Kubernetes(简称k8s),是谷歌开源的、使用go语言开发的容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。

通过Kubernetes你可以:快速部署应用、快速扩展应用、无缝对接新的应用功能、节省资源,优化硬件资源的使用。

Kubernetes 特点:

可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)

可扩展: 模块化, 插件化, 可挂载, 可组合

自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展。

代码在github上https://github.com/kubernetes

二、Kubernetes架构

Kubernetes主要由以下几个核心组件组成:

a. etcd保存了整个集群的状态;

b. apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;

c. controller manager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;

d. scheduler负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;

e. kubelet负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理;

f. Container runtime负责镜像管理以及Pod和容器的真正运行(CRI);

g. kube-proxy负责为Service提供cluster内部的服务发现和负载均衡;


除了核心组件,还有一些推荐的Add-ons:

h. kube-dns负责为整个集群提供DNS服务

i. Ingress Controller为服务提供外网入口

j. Heapster提供资源监控

k. Dashboard提供GUI

l. Federation提供跨可用区的集群

m. Fluentd-elasticsearch提供集群日志采集、存储与查询


Kubernetes一个分层架构:

a、核心层:Kubernetes最核心的功能,对外提供API构建高层的应用,对内提供插件式应用执行环境

b、应用层:部署(无状态应用、有状态应用、批处理任务、集群应用等)和路由(服务发现、DNS解析等)

c、管理层:系统度量(如基础设施、容器和网络的度量),自动化(如自动扩展、动态Provision等)以及策略管理(RBAC、Quota、PSP、NetworkPolicy等)

d、接口层:kubectl命令行工具、客户端SDK以及集群联邦

e、生态系统:在接口层之上的庞大容器集群管理调度的生态系统,可以划分为两个范畴

Kubernetes外部:日志、监控、配置管理、CI、CD、Workflow、FaaS、OTS应用、ChatOps等

Kubernetes内部:CRI、CNI、CVI、镜像仓库、Cloud Provider、集群自身的配置和管理等


三、k8s集群运行了什么?

1、集群:master(1台或者多台)/nodes(容器运行主机 一台或者多台)
master:API Server、Scheduler,Controller-Manager
node:kubelet(集群角色,与api server交互),docker,kube-proxy


2、kubernetes最基本运行的单元叫做pod
Pod:label,label SeLector ()
Label:key=value
Label SeLector:

3、常见控制器
Pod:自主式pid、控制器管理的pod
ReplicationController(最早的控制器)
ReplicaSet
Deployment(管理无状态的应用)
StatefulSet(有状态副本集)
job,Ctonjob
4、 HPA
HorizontalPodAutoscaler

5、AddOns:附件

kubernetes:master组件有一个api组件(api server)、调度器scheduler、控制器(健康状态检测,持续性探测)、控制器管理器(监控控制器)

7、三个网段:
a、pod网络:pod运行在一个网络中(同一个Pod内的多个容器间:lo,各pod间的通信:nat、overlay network叠加网络,pod和service之间的通信:)
b、集群网络:service跟pod不同网段
c、节点网络

8、etcd--存储

9、安全证书(要保障安全至少4个证书)

10、CNI:网络解决方案
flannel:网络配置
calico:网络配置,网络策略 (bgp,比较复杂)
canel:网络策略


11、存储解决方案


关于以上这些一块一块学习。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表