k8s(2)

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
EMR Serverless StarRocks,5000CU*H 48000GB*H
简介: k8s(2)

结构图

kubernetes cluster

  • 控制平面(Control Plane)------老板
  • kube-API-server
  • 相当于神经中枢
  • 对外暴露API,用户可以通过这个API-server与k8s的cluster交互
  • kube-scheduler
  • 收到创建容器的命令,就把容器分发给不同的node
  • etcd
  • 存储数据
  • 记录整个cluster的信息和状态
  • kube-controller-manager
  • 节点控制器(Node Controller):负责在节点出现故障时进行通知和响应
  • 任务控制器(Job Controller):监测代表一次性任务的 Job 对象,然后创建 Pods 来运行这些任务直至完成
  • 端点控制器(Endpoints Controller):填充端点(Endpoints)对象(即加入 Service 与 Pod)
  • 服务帐户和令牌控制器(Service Account & Token Controllers):为新的命名空间创建默认帐户和 API 访问令牌
  • cloud-controller-manager
  • 允许你将你的集群连接到云提供商的 API 之上, 并将与该云平台交互的组件同与你的集群交互的组件分离开来。
  • cloud-controller-manager 仅运行特定于云平台的控制器。 因此如果你在自己的环境中运行 Kubernetes,或者在本地计算机中运行学习环境, 所部署的集群不需要有云控制器管理器。
  • 下面的控制器都包含对云平台驱动的依赖:
  • 节点控制器(Node Controller):用于在节点终止响应后检查云提供商以确定节点是否已被删除
  • 路由控制器(Route Controller):用于在底层云基础架构中设置路由
  • 服务控制器(Service Controller):用于创建、更新和删除云提供商负载均衡器
  • work node----------员工
  • work node
  • kubelet
  • kubelet 会在集群中每个节点(node)上运行。 它保证容器(containers)都运行在 Pod 中。
  • kubelet 接收一组通过各类机制提供给它的 PodSpecs, 确保这些 PodSpecs 中描述的容器处于运行状态且健康。 kubelet 不会管理不是由 Kubernetes 创建的容器。
  • kube-proxy
  • kube-proxy 是集群中每个节点(node)上所运行的网络代理, 实现 Kubernetes 服务(Service) 概念的一部分。
  • kube-proxy 维护节点上的一些网络规则, 这些网络规则会允许从集群内部或外部的网络会话与 Pod 进行网络通信。
  • 如果操作系统提供了可用的数据包过滤层,则 kube-proxy 会通过它来实现网络规则。 否则,kube-proxy 仅做流量转发。
  • pod
  • pod
  • pod
  • contain-容器--一般一个pod放一个contain,也可以是多个应用程序

POD

K8S实战基础知识之POD

每个pod有一个ip,pod内的容器共享ip

在Kubernetes集群中,Pod是所有业务类型的基础,也是K8S管理的最小单位级,它是一个或多个容器的组合。这些容器共享存储、网络和命名空间,以及如何运行的规范。在Pod中,所有容器都被同一安排和调度,并运行在共享的上下文中。对于具体应用而言,Pod是它们的逻辑主机,Pod包含业务相关的多个应用容器。

总结

  • Pod是kubernetes中最小的调度单位原子单元,Kubernetes直接管理Pod而不是容器。
  • 同一个Pod中的容器总是会被自动安排到集群中的同一节点(物理机或虚拟机)上,并且一起调度
  • Pod可以理解为运行特定应用的“逻辑主机”,这些容器共享存储、网络和配置声明(如资源限制)。
  • 每个 Pod 有唯一的 IP 地址。 IP地址分配给Pod,在同一个 Pod 内,所有容器共享一个 IP 地址和端口空间,Pod 内的容器可以使用localhost互相通信。(因此pod内应用的端口不需要考虑是否与其他pod的端口内应用发生冲突)

关于POD的使用在下面k3s那里

Deployment(部署)与ReplicaSet(副本集)

Service(服务)

ServiceType 取值

  • ClusterIP(默认):将服务公开在集群内部。kubernetes会给服务分配一个集群内部的 IP,集群内的所有主机都可以通过这个Cluster-IP访问服务(负载均衡)。集群内部的Pod可以通过service名称访问服务。
  • NodePort:通过每个节点的主机IP 和静态端口(NodePort)暴露服务。 集群的外部主机可以使用节点IP和NodePort访问服务。
  • ExternalName:将集群外部的网络引入集群内部。
  • LoadBalancer:使用云提供商的负载均衡器向外部暴露服务。

关于service的使用在下面k3s那里

控制平面(Control Plane)

这个东西是k8s的大脑,他控制着k8s里运行的各种node。

同时也叫做---master node()--这个在Azure中是被微软托管的,无法查看到,同时是不收费的

一个kubernetes cluster,至少一个master node,一个或多个work node,他们都是node节点---虚拟机

CNI

CNI是一个Pod网络集成标准,简化K8s和不同Pod网络实现技术的集成

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
Ubuntu Linux 网络安全
使用Kali Linux虚拟机破解WiFi密码的一波三折及详细操作步骤
使用Kali Linux虚拟机破解WiFi密码的一波三折及详细操作步骤
2679 0
使用Kali Linux虚拟机破解WiFi密码的一波三折及详细操作步骤
|
数据可视化 应用服务中间件 数据安全/隐私保护
轻量应用服务器部署k3s,并搭建可视化高性能网关 apisix
k3s低资源占用集群,apisix 可视化高性能网关。小白教程
1717 0
|
11月前
|
Unix Linux
带你快速掌握Linux最常用的命令(图文详解)- 最新版(面试笔试常考)
带你快速掌握Linux最常用的命令(图文详解)- 最新版(面试笔试常考)
106 1
|
11月前
|
XML 开发框架 .NET
C# | Linq基本功 —— 必学的必熟的10个方法
Linq(Language Integrated Query)是C#语言中的一种查询语言,它提供了一种统一的方式来查询和操作各种数据源,如集合、数据库、XML等。Linq的出现使得开发者能够以一种更简洁、更直观的方式来处理数据,提高了代码的可读性和可维护性。
135 0
|
11月前
|
前端开发 JavaScript 容器
保姆级教程 CSS 知识点梳理大全,超详细!!!
保姆级教程 CSS 知识点梳理大全,超详细!!!
|
6月前
|
存储 Kubernetes 物联网
K3S完美部署
K3S完美部署
476 3
|
11月前
|
运维 关系型数据库 Shell
小白带你学习linux自动化运维ansible
小白带你学习linux自动化运维ansible
275 0
小白带你学习linux自动化运维ansible
|
11月前
|
存储 网络协议 Unix
小白带你学习Linux的NFS存储(二十五)
小白带你学习Linux的NFS存储(二十五)
126 0
|
机器学习/深度学习 数据采集 自然语言处理
机器翻译——基于注意力机制的seq2seq结构(上)
机器翻译——基于注意力机制的seq2seq结构
|
编译器 C语言
C语言中的运算符(全面,易懂,清晰)
C语言中的运算符(全面,易懂,清晰)
273 0
C语言中的运算符(全面,易懂,清晰)