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

K8S容器编排基本使用

Kubernetes容器编排技术基本使用

1.部署模式发展历程

物理单机 – 虚拟机(VMware)-- IAAS(基础设施即服务 比如够买jsp主机模式)-- OPENSTACK(多个机器分片使用思想)-- docker(容器化) – K8S(云原生自动化部署自动化编排)

2.K8S概述

kubernetes k和s之间有8个字母所以命名为K8S,用于自动部署、扩展、统一管理容器化应用集群,支持云平台的部署。 负责在大规模服务器环境中管理容器组(pod)的扩展、复制、健康,并解决 pod 的启动、负载均衡等问题。目前K8S新版本已经废弃了docker容器使用的是containerd如果要使用docker容器在安装K8S的时候要修改配置。k8s中操作指令和docker类似把docker换做crictl。如果使用图形化操作工具可以用Rancher、kubesphere。

1.K8S优势

1.云环境迁移

一个K8S可以管理多个跨平台的云服务比如不同的服务在阿里云、腾讯云、谷歌云、华为云都是可以统一管理的,可以云环境无缝迁移。

2.高效资源利用

K8S可以监控系统负载可以自动平衡各个云服务之间的负载,比如有的服务器资源很空闲有的服务器资源紧张K8S可以自动使管理的服务器资源平衡。

3.自动缩放能力

pod 是无状态运行的,pod 宕机立马会有其他 pod 接替它的工作,用户完全感觉不到。如果用户量突然暴增,现有的 pod 规模不足了,那么会自动创建出一批新的 pod,以适应当前的需求。当负载降下来的时候,Kubernetes 也会自动缩减 pod 的数量。

4.可靠性

K8S可靠性非常高,服务几乎不会被服务器宕机中断,系统Pod出现故障,Kubernetes 会创建必要数量的应用镜像,并分配到健康的 pod 或节点中,直到系统恢复。

5.健康检测

强大的自愈能力是Kubernetes这类容器编排引擎的一个重要特性,自愈的默认实现方式是自动重启发生故障的容器,有存活检测和就绪检测可以配置启动多久后开始检测每隔多少秒检测一次。

2.K8S核心组件

1.节点
1.master节点

控制节点负责指令的分发负责整个集群的管理控制

1.api server

主要复制和其它节点通信

2.controller manager

所有资源对象的自动化控制中心

3.scheduler

自动化调度控制中心,接受到controller manager下发的命令后scheduler负责调配。

4.etcd

k8s的注册发现中心

2.node节点

接收master节点的工作负载

1.kubelet

pod对应容器的创建启停

2.kube-proxy

实现k8s集群通信负载均衡

2.pod

pod是k8s管理的一个最小单元也就k8s中最重要的概念一个pod代表集群中运行的一个进程。

k8s不直接管理容器,而是管理pod,由pod管理容器,pod中可以有1个到多个容器,这些容器共享一个ip一个挂载路径,pod是k8s对容器的包装是容器的上层结构,容器只是pod调度的一个资源对象。

pod中有一个自带的pause container和服务器自己的容器

1.特点
1.网络

一个pod有一个唯一的ip地址,在pod中共享网络命名空间,同一个pod的容器可以用localhost互相通信

2.存储

pod能够配置共享存储卷。pod中的所有容器能够访问共享存储卷,共享存储卷防止pod容器重启数据丢失

2.使用方式
1.自主式pod

这种Pod本身是不能自我修复的,当Pod被创建后都会被Kuberentes调度到集群的Node上,直到Pod的进程终止、被删掉、因为缺少资源而被驱逐、或者Node故障之前这个Pod都会一直保持在那个Node上,Pod不会自愈。

如果Pod运行的Node故障,或者是调度器本身故障,这个Pod就会被删除,同样的,如果Pod所在Node缺少资源或者Pod处于维护状态,Pod也会被驱逐。

2.控制器管理pod

K8S使用controller manager来管理Pod实例,Controller可以创建和管理多个Pod,提供副本管理、滚动升级和集群级别的自愈能力。

如果一个Node故障,Controller就能自动将该节点上的Pod调度到其他健康的Node上。K8S使用controller manager来管理Pod。

3.pod容器探测

探测容器是否存活比如是否存在假死、死锁。如果不返回success会杀掉pod重启一个新的pod。

3.资源清单

k8s依赖资源清单配置管理容器信息

vi *-pod.yml 可以创建一个yml资源清单配置pod容器信息

4.创建pod

kubectl apply -f *pod.yml

5.查看pod

kubectl get pods -o wide

6.删除pod

kubectl delete pod + pod名称

3.label

k8s中有很多个pod,k8s是依赖label来管理的pod,label的概念就是一个标签。比如很多个pod都是dev,那dev就是pod的一个标签

4.replica set

期望值,代表期望pod的数量,保证pod数量和期望值一致

5.service

service就是用来做k8s的服务发现的,service创建以后ip不会变化,pod随时有可能变化,pod变化后通知service,类似微服务中的nacos提供了一个服务访问的入口。

6.namespace

命名空间,不同项目组创建不同的namespace,k8s中可以有多个不同的namespace,通过namespace做一个软隔离,不同的namespace不互通资源隔离。

相关文章:

K8S容器编排基本使用

Kubernetes容器编排技术基本使用 1.部署模式发展历程 物理单机 – 虚拟机(VMware)-- IAAS(基础设施即服务 比如够买jsp主机模式)-- OPENSTACK(多个机器分片使用思想)-- docker(容器化&#xf…...

PyTorch 各种池化层函数全览与用法演示

目录 torch.nn.functional子模块Pooling层详解 avg_pool1d 用法与用途 参数 注意事项 示例代码 avg_pool2d 用法与用途 参数 注意事项 示例代码 avg_pool3d 用法与用途 参数 注意事项 示例代码 max_pool1d 用法与用途 参数 注意事项 示例代码 max_pool2d…...

Redis:原理速成+项目实战——Redis实战7(优惠券秒杀+细节解决超卖、一人一单问题)

👨‍🎓作者简介:一位大四、研0学生,正在努力准备大四暑假的实习 🌌上期文章:Redis:原理速成项目实战——Redis实战6(封装缓存工具(高级写法)&&缓存总…...

【刷题笔记3】

笔记3 输出小数位数控制。&#xff08;自动四舍五入&#xff0c;不够就自动补0&#xff09; double a123.456; cout<<fixed<<setprecision(2)<<a;递归题目的记录 &#xff08;1&#xff09;&#xff1a;n*m的棋盘格子&#xff08;n为横向的格子数&#xf…...

YOLOv8优化策略:轻量化改进 | 华为Ghostnet,超越谷歌MobileNet | CVPR2020

🚀🚀🚀本文改进:Ghost bottleneck为堆叠Ghost模块 ,与YOLOV8建立轻量C2f_GhostBottleneck 🚀🚀🚀YOLOv8改进专栏:http://t.csdnimg.cn/hGhVK 学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定科研; 1.Ghostnet介绍 论文: https://arxiv.org/pdf/1911.11907.…...

格雷希尔G65系列快速接头满足汽车减震器的气压、油压测试要求

当汽车经过不平路面时&#xff0c;汽车减震器可以抑制弹簧吸震后因反弹带来的震荡和来自路面的冲击&#xff0c;为乘客带来平稳舒适的行车体验。减震器在出厂之前&#xff0c;需要模拟汽车的真实行驶环境&#xff0c;在模拟当中需要对它们进行气压和油压的轮番测试。 客户的测试…...

php中常用的几个安全函数

1. mysql_real_escape_string() 这个函数对于在PHP中防止SQL注入攻击很有帮助&#xff0c;它对特殊的字符&#xff0c;像单引号和双引号&#xff0c;加上了“反斜杠”&#xff0c;确保用户的输入在用它去查询以前已经是安全的了。但你要注意你是在连接着数据库的情况下使用这个…...

【K8S 云原生】Kurbernets集群的调度策略

目录 一、Kubernetes的list-watch机制 1、List-watch 2、创建pod的过程&#xff1a; 二、scheduler调度的过程和策略&#xff1a; 1、简介 2、预算策略&#xff1a;predicate 3、优先策略&#xff1a; 3.1、leastrequestedpriority&#xff1a; 3.2、balanceresourceal…...

vue-office 支持多种文件(docx、excel、pdf)预览的vue组件库

一、文档链接 https://gitcode.com/mirrors/501351981/vue-office/overview?utm_sourcecsdn_github_accelerator&isLogin1 二、安装 #docx文档预览组件 npm install vue-office/docx vue-demi0.13.11#excel文档预览组件 npm install vue-office/excel vue-demi0.13.11#…...

如何使用GaussDB创建脱敏策略(MASKING POLICY)

目录 一、前言 二、GaussDB中的脱敏策略 1、数据脱敏的定义 2、创建脱敏策略的语法说明 三、在GaussDB中如何创建数据脱敏策略(示例) 1、创建脱敏策略的一般步骤 2、GaussDB数据库中创建脱敏策略的完整示例 1&#xff09;开启安全策略开关&#xff0c;以初识用户omm登录…...

【Golang map并发报错】panic: assignment to entry in nil map

go并发写map[string]interface{}数据的时候&#xff0c;报错&#xff1a;panic: assignment to entry in nil map 多个key同时操作一个map时&#xff0c;如&#xff1a; test[key1] 1 test[key2] "a" test[key3] true 就会遇到并发nil值报错&#xff0c;什么…...

【GO语言依赖】Go语言依赖管理简述

在运行环境中&#xff0c;遭遇报错&#xff0c;显示找不到函数 经过研究后发现需要进行依赖管理&#xff0c;进行如下操作后解决&#xff1a; 起源 最早的时候&#xff0c;Go所依赖的所有的第三方库都放在GOPATH这个目录下面。这就导致了同一个库只能保存一个版本的代码。如…...

论文阅读记录SuMa SuMa++

首先是关于SuMa的阅读&#xff0c;SuMa是一个完整的激光SLAM框架&#xff0c;核心在于“基于面元(surfel)”的过程&#xff0c;利用3d点云转换出来的深度图和法向量图来作为输入进行SLAM的过程&#xff0c;此外还改进了后端回环检测的过程&#xff0c;利用提出的面元的概念和使…...

性能分析与调优: Linux 内存观测工具

目录 一、实验 1.环境 2.vmstat 3.PSI 4.swapon 5.sar 6.slabtop 7.numstat 8.ps 9.top 10.pmap 11.perf 12.bpftrace 二、问题 1.接口读写报错 2.slabtop如何安装 3.numactl如何安装 4.numad启动服务与关闭NUMA 5. perf如何安装 6. kernel-lt-doc与kern…...

【ARM 嵌入式 编译系列 3.4 -- 查看所依赖库文件的路径 详细介绍】

文章目录 问题背景库文件路径查看库文件路径信息打印显示连接标准库不使用标准库 libgcc.a问题背景 在自己构建的 Makefle系统中对 cortex-m33 代码编译时,在链接阶段总是报出下面问题 ... arm-none-eabi-ld: cannot find libgcc.a: No such file or directory arm-none-eab…...

分布式锁3: zk实现分布式锁3 使用临时顺序节点+watch监听实现阻塞锁

一 zk实现分布式锁 1.1 使用临时顺序节点 的问题 接上一篇文章&#xff0c;每个请求要想正常的执行完成&#xff0c;最终都是要创建节点&#xff0c;如果能够避免争抢必然可以提高性能。这里借助于zk的临时序列化节点&#xff0c;实现分布式锁 1. 主要修改了构造方法和lock方…...

google drive api

1.创建oauth2 json 文件 https://developers.google.com/drive/api/quickstart/pythoncchttps://developers.google.com/drive/api/quickstart/python这里要注意quickstart的code会经常更新&#xff0c;有可能之前的版本不能用了 比方说下面这个包 from google.oauth2.crede…...

3_代理模式(动态代理JDK原生和CGLib)

一.代理模式 1.概念 代理模式(Proxy Pattern )是指为其他对象提供一种代理&#xff0c;以控制对这个对象的访问&#xff0c;属于结构型模式。 在某些情况下&#xff0c;一个对象不适合或者不能直接引用另一个对象&#xff0c;而代理对象可以在客户端和目标对象之间起到中介的…...

Linux的权限(1)

目录 操作系统的"外壳"程序 外壳程序是什么&#xff1f; 为什么存在外壳程序&#xff1f; 外壳程序怎么运行操作&#xff1f; 权限 什么是权限&#xff1f; 权限的本质&#xff1f; Linux中的&#xff08;人&#xff09;用户权限&#xff1f; su和su -的区别…...

数据安全保障的具体措施有哪些

随着信息化时代的到来&#xff0c;数据已经成为企业和社会发展的重要资产。然而&#xff0c;数据安全问题也日益突出&#xff0c;如何保障数据的安全性、完整性和可用性成为了亟待解决的问题。以下将详细探讨数据安全保障的各个方面&#xff0c;以期为企业和社会提供更好的数据…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

微服务商城-商品微服务

数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多&#xff0c;如何一步解决&#xff0c;采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集&#xff08;每个目录代表一个类别&#xff0c;目录下是该类别的所有图片&#xff09;&#xff0c;你需要进行以下配置步骤&#x…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下&#xff0c;风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...