k8s(2)

本文涉及的产品
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
简介: 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搭建和管理企业级网站应用
目录
相关文章
|
数据可视化 应用服务中间件 数据安全/隐私保护
轻量应用服务器部署k3s,并搭建可视化高性能网关 apisix
k3s低资源占用集群,apisix 可视化高性能网关。小白教程
1745 0
|
存储 Kubernetes 关系型数据库
|
网络协议 算法 Ubuntu
BBR一键安装脚本 BBR/魔改/暴力/BBRplus/锐速(Lotsever)
BBR是 Google 提出的一种新型拥塞控制算法,可以使 Linux 服务器显著地提高吞吐量和减少 TCP 连接的延迟
66501 4
BBR一键安装脚本 BBR/魔改/暴力/BBRplus/锐速(Lotsever)
|
6月前
|
存储 前端开发 测试技术
Web实战丨基于django+html+css的在线购物商城
Web实战丨基于django+html+css的在线购物商城
129 2
|
7月前
|
存储 Kubernetes 物联网
K3S完美部署
K3S完美部署
561 3
|
4月前
|
安全 编译器 C++
【剑指offer】2.2编程语言(p22-p25)——面试题1:string赋值运算函数
【剑指offer】2.2编程语言(p22-p25)——面试题1:string赋值运算函数
|
7月前
|
存储 Kubernetes 监控
|
弹性计算 安全
阿里云服务器快速配置安全组放行端口方法
小编在前天有分享过"阿里云服务器选择和设置自定义安全组配置方法",我们可以看到大部分云服务器商家都开始注重安全方面的设置。我们可以开放需要用到的端口,不用到的端口就直接给不开通或者屏蔽掉,这样可以确保服务器的安全。
10151 5
|
弹性计算 网络安全
阿里云服务器开放端口教程(通过配置安全组规则)
阿里云服务器开放端口是通过配置安全组规则来实现的,安全组是一种虚拟防火墙
81912 5
阿里云服务器开放端口教程(通过配置安全组规则)
|
弹性计算 Kubernetes Docker