Kubernetes 核心概念|学习笔记

简介: 快速学习 Kubernetes 核心概念

开发者学堂课程【Kubernetes 入门  Kubernetes 核心概念】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/51/detail/1009


Kubernetes 核心概念

内容介绍

一、什么是 Kubernetes

二、Kubernetes 的架构

三、Kubernetes 的核心概念与 API

四、尝试一下 Kubernetes 吧

 

一、什么是 Kubernetes

Kubernetes 是一个工业级容器编排平台

Kubernetes 源于希腊语,意为“舵手”或“飞行员”

k8s是通过将8个字母“ubernete”替换为8而导出的缩写

1、自动化的容器编排平台

部署

弹性

管理

2、核心功能

l 服务发现与负载均衡

l 自动发布与回滚

l 容器自动装箱

l 配置与密文管理

l 存储编排

l 批量执行

l 自动容器恢复

l 水平伸缩

3、Kubernetes -调度

image.png

可以把用户提交的容器放到 Kubernetes 集群的某一台节点上去,Kubernetes 的调度器是执行这项能力的组件,可观察被调度容器的大小和规格,然后在集群中找到一台空闲机器进行放置操作。

4、Kubernetes -自动恢复

节点健康检查的功能,可以检测集群中所有的宿主机,当宿主机本身出现故障或者软件出现故障时,节点健康检查会自动发现,Kubernetes 会将进行失败的节点进行迁移,迁移到正在健康运行的宿主机上,来完成集群内容器的自动恢复

image.png

5、Kubernetes -水平伸缩

检测业务上所承担的负载,如果这个业务本身的 CPU 利用率过高或者响应时间过长,可以对业务进行扩容。通过负载均衡,来提高响应时间。

image.png

 

二、Kubernetes 的架构

Master作为中央管控节点,会与 NODE 进行一个连接,把希望状态或者想执行的命令下发给 Master,Master 会把这些命令或者状态下发给相应节点,这是最终的执行。

image.png

1、Kubernetes 的架构一Master

image.png

四个主要组件:

l API Server:处理 API 操 Kubernetes 中所有组件会与 API Server 进行连接,组件与组件一般不进行独立的连接,都依赖 API Server 进行消息传送

l Controller:控制器,用于完成对集群状态的管理

l Scheduler:调度器,完成调度的操作

l etcd:分布式的存储系统,API Server 所需要的源信息都被放在其中

2、Kubernetes 的架构一 Node

一个 Pod 运行一个或者多个容器,真正去运行这些 Pod 的组件是 Kubeletes,每个应用负载会以 pod 的运行状态提交到组件中,向节点下发信息

image.png

3、Kubernetes 的架构–例子

用户可以通过 UI 或者 CRI 提交一个 Pod 给 Kubelet 进行一个部署,而 pod 首先会通过 UI 或者 CRI 提交给 Kubernetes,下一步 API Server 会把信息写入存储系统 ,Scheduler 得到信息有一个 pod 需要调度,Scheduler 会根据其进行决策

image.png

 

三、Kubernetes 的核心概念与 API

1、核心概念-Pod

l 最小的调度以及资源单元

l 由一个或者多个容器组成

l 定义容器运行的方式(Command、环境变量等)

l 提供给容器共享的运行环境(网络、进程空间)

2、核心概念-Volume

l 声明在 Pod 中的容器可访问的文件目录

l 可以被挂载在 Pod 中一个(或者多个)容器的指定路径下

l 支持多种后端存储的抽象

l 本地存储、分布式存储、云存储…

3、核心概念-Deployment

l 定义一组 Pod 的副本数目、版本等

l 通过控制器(Controller)维持 Pod 的数目

l 自动恢复失败的 Pod

l 通过控制器以指定的策略控制版本

l 滚动升级、重新生成、回滚等

4、核心概念-Service

l 提供访问一个或多个Pod 实例的稳定访问地址

l 支持多种访问方式实现

l ClusterlP

l NodePort

l LoadBalancer

5、核心概念一Namespaces

l 一个集群内部的逻辑隔离机制(鉴权、资源额度)

l 每个资源都属于一个 Namespace

l 同一个 Namespace 中的资源命名唯一

l 不同 Namespace 中的资源可重名

6、APl 一基础知识

l HTTP +JSON/YAML

l kubectl

l Ul

l curl

l /api/v1/namespaces/$NAMESPACE/pods/$NAME

image.png

7、APl -Label

l 一组 Key:Value

l 可以被 selector 所查询

l select color=red

l 资源集合的默认表达形式

l 例如 Service 对应的一组 Pod

 

四、尝试一下 Kubernetes 吧

1、安装 Minikube

l 安装 VirtualBox

https : / / www .virtualbox.org / wiki/ Downloads

l 安装 MiniKube(中国版)

https :/ / yq.aliyun.com/ articles/ 221687

l 启动 MiniKube

minikube start --vm-driver virtualbox

2、尝试一些命令吧!

1.提交一个 ngnix deployment

kubectl apply -f https: / / k8s.io/examples/application/deployment.yaml

2.升级 ngnix deployment

kubectl apply -f https: / /k8s.io/examples/application/deployment-update.yaml

3.扩容 ngnix deployment

kubectl apply -f https: / / k8s.io/examples/application/deployment-scale.yaml

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
Kubernetes 调度 Perl
在K8S中,Pod亲和性概念是什么?
在K8S中,Pod亲和性概念是什么?
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
670 24
|
Kubernetes 持续交付 微服务
深入浅出:理解 Kubernetes 核心概念
Kubernetes 是一个由 Google 开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。它已成为微服务架构下的行业标准。本文深入浅出地介绍了 Kubernetes 的核心概念和组件,包括 Master 和 Node 组件、Pod、Service、Deployment 等,并提供了基本操作示例和实战应用,帮助你更好地管理和利用容器环境。
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
639 6
|
存储 Kubernetes 调度
K8S中的核心概念
【10月更文挑战第26天】云原生环境下的安全问题易被忽视,导致潜在风险。应用层渗透测试和漏洞扫描是检测安全的关键,尤其是对于CVE漏洞的修复。然而,常见误解认为安全由外部防护处理且不易引入问题。
|
Prometheus Kubernetes 网络协议
k8s学习笔记之CoreDNS
k8s学习笔记之CoreDNS
|
存储 Kubernetes 数据安全/隐私保护
k8s学习笔记之ConfigMap和Secret
k8s学习笔记之ConfigMap和Secret
|
Kubernetes 负载均衡 安全
在k8S中,网络模型概念是什么?
在k8S中,网络模型概念是什么?
|
Kubernetes jenkins 持续交付
jenkins学习笔记之二十一:k8s部署jenkins及动态slave
jenkins学习笔记之二十一:k8s部署jenkins及动态slave
1251 0
|
存储 Kubernetes API
Kubernetes学习-核心概念篇(三) 核心概念和专业术语
Kubernetes学习-核心概念篇(三) 核心概念和专业术语
Kubernetes学习-核心概念篇(三) 核心概念和专业术语

推荐镜像

更多