K8s基础核心
Kubernetes (K8s) 是一个用于自动化部署、扩展和管理容器化应用程序的开源平台。下面是 Kubernetes 的一些核心概念:
-
Pod(容器组):Pod 是 Kubernetes 中最小的可调度和管理的单元 ,它可以包含一个或多个相关的容器。这些容器共享网络和存储资源,并在同一主机上运行。Pod 是临时性的,可以根据需要创建、销毁或重新创建。Pod 提供了一种抽象层,使容器可以作为一个逻辑单元来管理。
-
Replication Controller(复制控制器):Replication Controller 确保在集群中运行指定数量的 Pod 副本。如果 Pod 失败或被删除,Replication Controller 将自动创建新的 Pod 副本以替换它们。Replication Controller 可以认为是Pod的管理器。
-
Service(服务):Service 定义了一组 Pod 的访问方式。它为 Pod 提供了一个稳定的网络终结点,并通过负载均衡将请求分发到后端的 Pod。Service 可以是永久性的,即使 Pod 的 IP 地址发生变化,Service 仍然可以保持不变。
-
Namespace(命名空间):Namespace 是 Kubernetes 中用于对集群资源进行虚拟隔离的一种机制。通过将资源划分为不同的命名空间,可以将集群的逻辑上的划分、访问控制和资源配额管理进行隔离和管理。类似Java 包名称一样做隔离使用。
-
Deployment(部署):Deployment 控制 Pod 和 ReplicaSet 的创建和更新过程。它提供了一个声明式的方式来定义应用程序的部署,可以轻松地进行滚动更新和回滚操作。
-
Node(节点):Node 是 Kubernetes 集群中的工作节点。它是物理或虚拟机器,用于运行 Pod 和其他 Kubernetes 组件。每个 Node 都具有所需的容器运行时(如 Docker),并通过 Kubernetes 控制平面进行管理。
-
Cluster(集群):Cluster 是由多个节点组成的 Kubernetes 环境。它包含了用于管理、调度和运行容器化应用程序的主节点(master node)和工作节点(worker node)。
-
Volume(卷):提供了 Pod 内持久化存储的抽象。Volume 可以挂载到 Pod 中的一个或多个容器,并存储应用程序的数据。
-
ConfigMap(配置映射):用于存储应用程序的配置数据,如环境变量、命令行参数等。ConfigMap 可以被挂载到 Pod 中的容器,供应用程序读取配置信息。
-
Secret(密钥):用于存储敏感的数据,如密码、API 密钥等。Secret 以加密的方式保存,并可以被挂载到 Pod 中的容器。
-
Master 控制平面:Master 控制平面是 Kubernetes 集群的中央管理部分,包含多个组件,如 API Server、Controller Manager、Scheduler 和 etcd 等。它负责接受和处理用户请求、调度和管理 Pod、监控集群状态等。
-
Worker 节点:Worker 节点是集群中的工作节点,负责运行应用程序的容器。它接收来自 Master 节点的指令,并根据指令启动、停止和管理 Pod。
-
ReplicaSet:ReplicaSet 是 Kubernetes 中用于定义 Pod 副本数量的对象。它确保指定数量的 Pod 始终在运行,并且在 Pod 失效时能够自动替换它们。
Kubernetes 的优势在于它提供了一种可靠、强大和灵活的容器编排和管理平台,可以简化应用程序的部署、扩展和管理,提高应用程序的可靠性、可伸缩性和弹性。
-
自动化容器化应用程序的部署和扩展:Kubernetes 提供了一种简化和自动化应用程序部署的机制。它可以根据配置和规则自动创建、启动和停止容器,从而减少了手动操作的工作量。
-
弹性和可伸缩性:Kubernetes 允许根据负载情况自动扩展应用程序的副本数量。它可以根据指定的规则自动调整副本数量,从而保证应用程序的高可用性和性能。
-
负载均衡和服务发现:Kubernetes 提供了内建的负载均衡功能,可以将流量均匀地分发给后端的容器。它还提供了服务发现机制,使应用程序能够通过服务名称来访问其他容器或服务,而无需了解其具体的网络地址。
-
自我修复和健康检查:Kubernetes 可以监控容器的状态,并在发生故障或容器崩溃时自动重新启动或替换它们。它还可以执行健康检查来确保容器的正常运行,并在检测到问题时采取相应的措施。
-
跨主机和多区域部署:Kubernetes 具有跨主机和多区域部署的能力。它可以在多个节点上分布和调度容器,从而实现容器的高可用性和容错性。
-
操作简化和统一管理:Kubernetes 提供了统一的管理接口和工具,可以简化应用程序的管理和操作。它提供了丰富的命令行工具和可视化界面,使管理员和开发人员能够方便地管理和监控集群中的应用程序。
-
社区支持和生态系统:Kubernetes 是一个开源项目,拥有庞大的社区支持和活跃的开发者社区。这意味着可以从社区中获得丰富的资源、文档和解决方案,并且能够与其他工具和技术进行集成,构建更强大的容器化基础设施。
-
滚动更新和回滚:Kubernetes 具有强大的应用程序更新和回滚机制。它可以实现滚动式更新,逐步替换旧版本的容器实例,以最小化应用程序的中断时间。如果出现问题,可以快速回滚到先前的稳定版本。
-
多云和混合云支持:Kubernetes 提供了对多云和混合云环境的良好支持。它可以在不同的云提供商之间实现应用程序的移植性和可移植性,使应用程序能够在不同的云平台上运行,降低了云供应商锁定的风险。
常用的 Kubernetes (K8s) 基础命令:
-
kubectl get <资源类型>:获取特定资源类型的列表,例如kubectl get pods获取所有 Pod 的列表。 -
kubectl describe <资源类型> <资源名称>:显示指定资源的详细信息,例如kubectl describe pod my-pod显示名为 my-pod 的 Pod 的详细信息。 -
kubectl create -f <配置文件>:使用配置文件创建资源,例如kubectl create -f pod.yaml根据 pod.yaml 文件创建 Pod。 -
kubectl apply -f <配置文件>:使用配置文件创建或更新资源,例如kubectl apply -f deployment.yaml根据 deployment.yaml 文件创建或更新 Deployment。 -
kubectl delete <资源类型> <资源名称>:删除指定的资源,例如kubectl delete pod my-pod删除名为 my-pod 的 Pod。 -
kubectl edit <资源类型> <资源名称>:使用默认编辑器编辑指定的资源,例如kubectl edit pod my-pod编辑名为 my-pod 的 Pod。 -
kubectl exec -it <Pod名称> -- <命令>:在运行的 Pod 中执行命令,例如kubectl exec -it my-pod -- sh在名为 my-pod 的 Pod 中打开一个交互式终端。 -
kubectl logs <Pod名称>:查看 Pod 的日志,例如kubectl logs my-pod查看名为 my-pod 的 Pod 的日志。 -
kubectl port-forward <Pod名称> <本地端口>:<远程端口>:将本地端口和 Pod 的端口进行端口转发,例如kubectl port-forward my-pod 8080:80将名为 my-pod 的 Pod 的 80 端口转发到本地的 8080 端口。 -
kubectl scale <资源类型> <资源名称> --replicas=<副本数量>:调整资源的副本数量,例如kubectl scale deployment my-deployment --replicas=3将名为 my-deployment 的 Deployment 的副本数量调整为 3。
参考文档:
Kubernetes(k8s)中文文档 kubernetes设计理念_Kubernetes中文社区
https://kubernetes.io/
相关文章:
K8s基础核心
Kubernetes (K8s) 是一个用于自动化部署、扩展和管理容器化应用程序的开源平台。下面是 Kubernetes 的一些核心概念: Pod(容器组):Pod 是 Kubernetes 中最小的可调度和管理的单元 ,它可以包含一个或多个相关的容器。这…...
Web开发中的图片管理:策略与实践
前言 在Web开发中,图像是无法忽视的重要组成部分。然而,随着图片数量的增加和高清图像的普及,图片管理变得越来越复杂。在这篇文章中,我们将详细探讨Web开发中的图片管理策略和实践,包括图片优化、存储、分发和加载策…...
SNK施努卡 - 机器视食品检测 食品中视觉检查的作用是什么?
随着工业4.0时代的到来,机器视觉在工业领域的应用场景越来越广泛。在食品工业领域中,机器视觉的应用大大提高了食品生产企业的生产效率,有效的保证了产品品质的水准。 在智能工厂中,机器视觉系统能够实时监控生产工况。机器视觉系…...
【七】设计模式~~~结构型模式~~~桥接模式(Java)
【学习难度:★★★☆☆,使用频率:★★★☆☆】 2.1. 模式动机 在正式介绍桥接模式之前,我先跟大家谈谈两种常见文具的区别,它们是毛笔和蜡笔。假如我们需要大中小3种型号的画笔,能够绘制12种不同的颜色&am…...
Python 教程:使用 pandas 和 glob 库合并多个 Excel 文件
引言 Microsoft Excel 是一种常见的电子表格软件,可用于在表格中存储和处理数据。在某些情况下,您可能需要将多个 Excel 文件合并成单个文件,以方便数据处理和分析。 Python 是一种非常流行的编程语言,具有广泛应用和丰富的库,用于处理数据和文本文件。在本文中,我们将使…...
16. Vue-element-template记住密码
Vue-element-template 记住密码 1. 在登录页面添加记住密码按钮 新增参数 rememberMe # resources/src/views/login/index.vueloginForm: {username: admin,password: 123456,rememberMe: false},添加复选框 # resources/src/views/login/index.vue<div style"margin-…...
Python文件打包成exe文件
文章目录 背景安装pyinstaller开始打包总结 背景 今天因为在线将pdf转为word被收费了,有点不爽,所以自己动手撸一个pdf转word的小工具,想着打包成exe给朋友使用,万一哪天会用到呢? 安装pyinstaller 打开cmd命令窗口…...
【简单实用框架】【十大排序算法直接调用】【可移植】
☀️博客主页:CSDN博客主页💨本文由 萌萌的小木屋 原创,首发于 CSDN💢🔥学习专栏推荐:面试汇总❗️游戏框架专栏推荐:游戏实用框架专栏⛅️点赞 👍 收藏 ⭐留言 📝&#…...
微服务架构之RPC调用
在单体应用时,一次服务调用发生在同一台机器上的同一个进程内部,也就是说调用发生在本机内部,因此也被叫作本地方法调用。在进行服务化拆分之后,服务提供者和服务消费者运行在两台不同物理机上的不同进程内,它们之间的…...
One2Multi Graph Autoencoder for Multi-view Graph Clustering
One2Multi Graph Autoencoder for Multi-view Graph Clustering | Proceedings of The Web Conference 2020 (acm.org) 目录 Abstract 1 Introduction 2 Model 2.1 Overview 2.2 One2Multi Graph Convolutional Autoencoder Informative graph convolutional encoder M…...
Java编程实现输入数的阶乘(for循环):读入一个小于 10 的整数 n,输出它的阶乘 n。(for循环)
public class Main { public static void main(String[] args) { Scanner input new Scanner(System.in); //输入提示语句 System.out.print(“请输入一个小于10的数:”); //从键盘获取值 int num input.nextInt(); //定义一个总和 int sum 1; //开始判断输入数是…...
算法提高-搜索-FloodFill和最短路
FloodFill和最短路 FloodFillAcwing 1097. 池塘计数AcWing 1098. 城堡问题AcWing 1106. 山峰和山谷 最短路AcWing 1076. 迷宫问题AcWing 188. 武士风度的牛AcWing 1100. 抓住那头牛 FloodFill Acwing 1097. 池塘计数 //acwing 1097. 池塘计数 #include <iostream> #inc…...
【蓝桥杯单片机第八届国赛真题】
【蓝桥杯单片机第八届国赛真题】 文章目录 【蓝桥杯单片机第八届国赛真题】前言一、真题二、源码 前言 有幸进入国赛,为自己大学最后一个比赛画上完满的句号^^ 下面为蓝桥杯单片机第八届国赛程序部分,功能差不多都实现了,可能存在小bug&#…...
一种简单的Android骨架屏实现方案----0侵入0成本
对骨架屏的理解 什么是骨架屏 所谓骨架屏,就是在页面进行耗时加载时,先展示的等待 UI, 以告知用户程序目前正在运行,稍等即可。 等待的UI大部分是 loading 转圈的弹窗,有的是自己风格的小动画。其实大同小异。而骨架屏无非也是一…...
【Kubernetes 架构】了解 Kubernetes 网络模型
Kubernetes 网络使您能够在 k8s 网络内配置通信。它基于扁平网络结构,无需在主机和容器之间映射端口。 Kubernetes 网络支持容器化组件之间的通信。这种网络模型的主要优点是不需要在主机和容器之间映射端口。然而,配置 Kubernetes 网络模型并不是一件容…...
shell
一、判断当前磁盘剩余空间是否有20G,如果小于20G,则将报警邮件发送给管理员,每天检查一次磁盘剩余空间。 二、判断web服务是否运行 三、使用curl命令访问第二题的web服务,看能否正常访问,如果能正常访问,…...
springboot+ssm+java校园二手物品交易系统vxkyj
样需要经过市场调研,需求分析,概要设计,详细设计,编码,测试这些步骤,基于Java语言、Jsp技术设计并实现了校园二手物品交易系统。系统主要包括个人中心、商家管理、用户管理、商品分类管理、商品信息管理、商…...
Android系统内置应用
Android系统内置应用 背景 客户提供APK,需要集成进系统,并且不可卸载 Android原生是怎么做的? 已Launcher3为例,apk是位于/system/priv-app/Launcher3目录下 AOSP系统内置app步骤 1.在package/apps/目录下创建相应的文件夹如&…...
CMMI实施需要准备什么:
1. 人力资源 实施中会涉及到EPG过程改进小组、QA、试点项目团队等人力资源: 1) 专职人员:1-2名 即在CMMI实施推广期内,基本上100%的时间投入。 2) 质量人员:1-更多名 组建质量管理部门,实施体系执行的监控&#x…...
【ARM AMBA AXI 入门 1 - AXI 握手协议】
文章目录 1.1 AXI 双向握手机制简介1.1.1 信号列表1.1.2 双向握手目的1.1.3 握手过程 1.2 数据通路的握手要求1.2.1 读数据通路1.2.2 读地址通路1.2.3 写数据通路1.2.4 写地址通路1.2.5 写回复通路1.2.6 全信号 1.3 不同数据通路间的约束关系1.3.1 读操作约束关系1.3.2 写操作约…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
STM32---外部32.768K晶振(LSE)无法起振问题
晶振是否起振主要就检查两个1、晶振与MCU是否兼容;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容(CL)与匹配电容(CL1、CL2)的关系 2. 如何选择 CL1 和 CL…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
[论文阅读]TrustRAG: Enhancing Robustness and Trustworthiness in RAG
TrustRAG: Enhancing Robustness and Trustworthiness in RAG [2501.00879] TrustRAG: Enhancing Robustness and Trustworthiness in Retrieval-Augmented Generation 代码:HuichiZhou/TrustRAG: Code for "TrustRAG: Enhancing Robustness and Trustworthin…...
《Docker》架构
文章目录 架构模式单机架构应用数据分离架构应用服务器集群架构读写分离/主从分离架构冷热分离架构垂直分库架构微服务架构容器编排架构什么是容器,docker,镜像,k8s 架构模式 单机架构 单机架构其实就是应用服务器和单机服务器都部署在同一…...
