当前位置: 首页 > article >正文

K8S篇(基本介绍)

目录

一、什么是Kubernetes?

二、Kubernetes管理员认证(CKA)

1. 简介

2. 考试难易程度

3. 考试时长

4. 多少分及格

5. 考试费用

三、Kubernetes整体架构

Master

Nodes

四、Kubernetes架构及和核心组件

五、Kubernetes各个组件及功能

1. master组件

1.1. kube-apiserver

1.2. kube-controller-manager

1.3. kube-scheduler

1.4. etcd

2. node组件

2.1. kubelet

2.2. kube-proxy

2.3. docker

六、Kubernetes核心概念

1. pod

2. controllers

3. service

4. storage

5. pollcies策略

6. 其他


一、什么是Kubernetes?

Kubernetes这个单词来自于希腊语,含义是 舵手 或 领航员;

Production-Grade Container Orchestration Automated container deployment, scaling, and

management

生产环境级别的容器编排

编排是什么意思?

  1. 按照一定的目的依次排列;
  2. 调配、安排;

Kubernetes,也称为K8S,其中8是代表中间“ubernete”的8个字符,是Google在2014年开源的一个容器编

排引擎,用于自动化容器化应用程序的部署、规划、扩展和管理,它将组成应用程序的容器分组为逻辑单元,以便

于管理和发现,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的应用简单并

且高效,很多细节都不需要运维人员去进行复杂的手工配置和处理;

Kubernetes拥有Google在生产环境上15年运行的经验,并结合了社区中最佳实践;

K8S是 CNCF 毕业的项目,本来Kubernetes是Google的内部项目,后来开源出来,又后来为了其茁壮成长,捐

给了CNCF;

CNCF全称Cloud Native Computing Foundation(云原生计算基金会)

  • 官网:Kubernetes

  • 代码:GitHub - kubernetes/kubernetes: Production-Grade Container Scheduling and Management

Kubernetes是采用Go语言开发的,Go语言是谷歌2009发布的一款开源编程语言;

二、Kubernetes管理员认证(CKA)

1. 简介

CKA全称Certified Kubernetes Administrator,是Linux基金会和Cloud Native Computing Foundation

(CNCF)官方推出的全球Kubernetes管理员认证,对于技术团队,CKA认证可以作为团队成员的技术能力的一

个考察标准,也可以作为整个团队对Kubernetes云平台的管理能力的有力证明;

2. 考试难易程度

考试只允查阅官方文档,在考试过程中你只能去

  • Kubernetes

  • GitHub · Build and ship software on a single, collaborative platform · GitHub

如果去了其它的网站,按作弊处理;

3. 考试时长

考试时间为3小时;

4. 多少分及格

CKA满分100分,66分及格;

5. 考试费用

美元:$300

人民币:¥2088

有一次免费重考的机会,一年后过期;

三、Kubernetes整体架构

Master

k8s集群控制节点,对集群进行调度管理,接受集群外用户去集群操作请求;

Master Node 由 API Server、Scheduler、ClusterState Store(ETCD 数据库)和 Controller 、

MangerServer 所组成;

Nodes

集群工作节点,运行用户业务应用容器;

Nodes节点也叫Worker Node,包含kubelet、kube proxy 和 Pod(Container Runtime);

四、Kubernetes架构及和核心组件

API server是所有请求的唯一入口;

api server管理所有的事务,并把信息记录到etcd数据库中,etcd有一个自动服务发现的特性机制,etcd会搭建

有三个节点的集群,

实现三副本;

scheduler 调度器用来调度资源,查看业务节点的资源情况,确定在哪个node上创建pod,把指令告知给api

server;

控制管理器controller-manager管理pod;

pod可以分为有状态和无状态的pod,一个pod里最好只放一个容器;

api server把任务下发给业务节点的kubelet去执行;

客户访问通过kube-proxy去访问pod;

pod下面的不一定是docker,还有别的容器;

一般pod中只包含一个容器,除了一种情况除外,那就是elk,elk会在pod内多放一个logstash去收集日志;

五、Kubernetes各个组件及功能

1. master组件

1.1. kube-apiserver

kubernetes api,集群的统一入口,各组件之间的协调者,以restful api提供接口服务,

所有对象资源的增删改查和监听操作都交给apiserver处理后在提交给etcd存储记录;

1.2. kube-controller-manager

处理集群中常规的后台任务,一种资源对应一个控制器,controller-manager就是负责管理这些控制器的;

1.3. kube-scheduler

根据调度算法为新创建的pod选择一个node节点,可以任意部署,可以部署在同一个节点上,也可以部署在不同

节点上;

1.4. etcd

分布式键值存储系统,用户保存集群状态数据,比如pod、service等对象信息;

2. node组件

2.1. kubelet

kubelet时master在node节点上的代理agent,管理本node运行容器的生命周期,比如创建容器、pod挂载数据

卷、下载sercet、获取容器和节点状态等工作,kubelet将每个pod转换成一组容器;

2.2. kube-proxy

在node节点上实现pod的网络代理,维护网络规则和四层的负载均衡工作;

2.3. docker

容器引擎,运行容器;

六、Kubernetes核心概念

1. pod

最小部署单元;

一组容器的集合;

一个pod中的容器共享网络命名空间;

pod是短暂的;

2. controllers

replicaset:确保预期的pod副本数量;

deployment:无状态应用部署,比如nginx、apache,一定程度上的增减不会影响客户体验;

statefulset:有状态应用部署,是独一无二型的,会影响到客户的体验;

daemonset:确保所有node运行同一个pod,确保pod在统一命名空间;

job:一次性任务;

cronjob:定时任务;

3. service

防止pod失联;

定义一组pod的访问策略;

确保了每个pod的独立性和安全性;

4. storage

volumes

persistent volumes

5. pollcies策略

resource quotas

6. 其他

label:标签,附加到某个资源上,用户关联对象、查询和筛选;

namespaces:命名空间,将对象从逻辑上隔离;

annotations:注释;

Kubectl:k8s提供的终端控制命令;

Kubeadm:可以用来初始化或加入一个k8s集群;


http://www.kler.cn/a/383303.html

相关文章:

  • 12.25周三F34-Day36打卡
  • whisper.cpp: PC端测试 -- 电脑端部署音频大模型
  • MySQL for update skip locked 与 for update nowait
  • Fuel库实战:下载失败时的异常处理策略
  • 16_HTML5 语义元素 --[HTML5 API 学习之旅]
  • C++ Eigen常见的高级用法 [学习笔记]
  • 【Linux】centos7安装配置DHCP、FTP服务
  • 机器学习:使用协同过滤推荐算进行电影推荐
  • 算法每日练 -- 双指针篇(持续更新中)
  • 如何在服务器端对PDF和图像进行OCR处理
  • C#/.NET/.NET Core学习路线集合,学习不迷路!
  • 二叉树相关|单值二叉树|相同的树|对称二叉树|前序遍历|中序遍历|后序遍历|另一棵树的子树|二叉树遍历(C)
  • 【后端】登录页面的 <验证码> 操作
  • Linux 进程间通信 共享内存_消息队列_信号量
  • 用Dify搭建AI知识库
  • ORACLE数据库查询当前安装的语言是哪一种?
  • Python反射API:面向对象编程的“魔法镜”
  • 大语言模型(LLM)量化基础知识(一)
  • 后端SpringBoot及vue proxyTable解决跨域
  • 机器学习与AI|如何利用数据科学优化库存周转率?
  • 前端入门一之HTML知识讲解
  • HarmonyOS-消息推送
  • 使用vue添加网站结构化标记schema
  • Python 操作数据库:读取 Clickhouse 数据存入csv文件
  • Java之字符串分割转换List
  • faiss用于大数据量的向量检索