K8S哲学 - Pod、RC、RS、deployment

pod(最小的可部署单元)

容器组(运行一个或多个容器)

Pod(容器组)是Kubernetes 中最小的可部署单元。
一个Pod(容器组)包含了一个应用程序容器(某些情况下是多个容器)、存储资源、
一个唯一的网络 iP 地址、以及一些确定容器该如何运行的选项。Pod 容器组代表了 Kubernetes 中一个独立的应用程中运行实例,该实例可能由单个容器或几个紧藕合在一
起的容器组成。


Docker 是 Kubernetes Pod 中使用最广泛的容器引擎;
Kubernetes Pod 同时也支诗其他类型的容器引擎

Kubernetes 集群中的Pod 存在如下两种使用途径

一个Pod 中只运行一个容器。"one-container-per-pod " 是Kubernetes 中最常见的使用方式。此时、可以认为 Pod容器组是该容器的 wrapper. Kubernetes 通过 Pod 管理容器,而不是直接管理容器。


一个pod中运行多个需要互相协作的容器。可以将多个紧密耦合、共享资源且始终

在一起运行的容器编排在同一个Pod 中,

pod 副本(replicas)

一个pod可以被复制成多份,每一份可被称之为一个"副本”,这些副本-除了一些描述性的信息 (Pod的名字、uid 等)不一样以外,其它信息都是一样的,譬如Pod
内部的容器 容器数量,容器里面运行的应用等的这些信息都是一样的,这些副本提供同样的功能。
Pod 的“控制器“通常包含一个名为“replicas” 的厲性。“replicas”属性则指定了特定 Pod 的副本的数量,当前集群中该 Pod 的数量与该属性指定的值不一致时,k8s 会采取一些策路去使得当前状态满足配置的要求。

如何共享容器间的 网络?

每个容器有自己独立的网络,

java(容器一) 和 mysql (容器二) 不能通过  locallost连接(相当于容器一本身)

docker 连接同一网络 或  容器间  --links (/etc/host加链接容器ip)

如何共享文件系统? 

docker  连接同一个 volume、

k8s 延伸出pod 来实现 网络、文件系统共享

pod 里面的 基础服务 pause 容器 是 多容器间实现 网络、文件系统共享的基础

控制器

在 Kubernetes 中,Pod 控制器是用于管理 Pod 生命周期的对象。它们可以确保指定数量和类型的 Pod 始终在运行。

无状态:nginx

有状态(statefulSet):mysql、redies

守护进程:日志收集

定时任务:

rc:replicationController 

动态更新 pod副本数 、v1.11后被废弃,用replicaSet替代

repilcas = 3

Kubernetes 官方建议使用 RS (Replicaset)替代RC(ReplicationController)进行部署,RS 跟 RC 没有本质的不同,只是名字不一样,井且 RS 支持集合式的 selector

rs:replicaSet

相较于 replicationController 增加了 lable 和 selector 的机制、可以更为精确对某一个 pod打标签,后期可以只对 选中标签的pod进行操作

lable :app1 、app2 ,将lable为app2的pod的副本设置为 3个 

如果你在 Pod 模板的 metadata.labels 部分定义了多个标签,
如 app=nginx、app2=gyk 和 app3=cnm,
那么 Kubernetes 将在创建每个 Pod 时都会包含这些标签。
这意味着,如果 replicas=3,
那么将会有三个 Pod,每个 Pod 
都包含 app=nginx、app2=gyk 和 app3=cnm 这三个标签在这个例子中,Deployment 将创建三个 Pod,
每个 Pod 都包含 app=nginx、app2=gyk 和 app3=cnm 这三个标签。apiVersion: apps/v1
kind: Deployment
metadata:name: nginx-deployment1
spec:replicas: 3selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxapp2: gykapp3: cnmspec:containers:- name: nginximage: nginx:1.14.2ports:- containerPort: 80在 Kubernetes 的 Deployment 配置中,
selector.matchLabels 定义了 Deployment 
如何找到它应该管理的 Pod。selector.matchLabels 是一个标签选择器,
它会匹配所有具有指定标签的 Pod。在你的例子中,
selector.matchLabels 是 {app: nginx},
这意味着这个 Deployment 
将管理所有带有 app=nginx 标签的 Pod。在你的配置中,template.metadata.labels 
定义了由这个 Deployment 
创建的每个 Pod 的标签,
包括 app: nginx、app2: gyk 和 app3: cnm。
因为这些 Pod 都有 app=nginx 标签,
所以它们都会被这个 Deployment 管理。

deployment

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/1209.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++练级之路——类和对象(中二)

1、运算符重载 C为了增强代码的可读性引入了运算符重载,运算符重载是具有特殊函数名的函数,也是具有其返回值类型,函数名字以及参数列表,其返回值类型和参数列表与普通的函数类似。 函数名字为:关键字operator后面接需…

【C++初识继承】

博主首页: 有趣的中国人 专栏首页: C进阶 本篇文章主要讲解 继承 的相关内容 目录 1. 继承的概念和定义 1.1 继承的概念 1.2 继承的定义 1.2.1 继承定义格式 1.2.2 继承方式与访问修饰限定符 2. 基类和派生类对象赋值转换 3. 继承中的作用域 …

linux离线安装mysql

一、下载mysql 地址:MySQL 这里选择64为还是32为要根据操作系统来 uname -m 二、上传解压配置mysql 使用root账户登录linux服务器,在opt文件下创建mysql文件夹 cd /opt sudo mkdir mysql 使用Xftp上传mysql压缩包到此文件夹下(自行决定路径) cd mysql/…

基于Kubernetes集群构建MongoDB

基于Kubernetes集群构建MongoDB 作者:行癫(盗版必究) 一:基础环境 1.Kubernetes集群正常运行 2.Harbor私有仓库正常运行 二:MongoDB项目部署 ​ MongoDB项目对应Kubernetes的yaml文件: --- apiVersion: v1 kind: Namespace metadata:name: m

力扣:104. 二叉树的最大深度(Java,DFS,BFS)

目录 题目描述:输入:输出:代码实现:1.深度优先搜索(递归)2.广度优先搜索(队列) 题目描述: 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从…

【QT进阶】Qt http编程之后端API测试工具postman使用介绍

往期回顾 【QT进阶】Qt Web混合编程之使用ECharts显示各类折线图等-CSDN博客 【QT进阶】Qt Web混合编程之实现ECharts数据交互动态修改-CSDN博客 【QT进阶】Qt http编程之http与https简单介绍-CSDN博客 【QT进阶】Qt http编程之后端API测试工具postman使用介绍 其实这个工具的…

Pytorch的下载安装

本文为自己整理的Pytorch下载相关的内容笔记,以便日后查阅 一. 基本命令 1.查看conda版本 conda --version2.创建conda新环境 conda create –n 名称 python版本3.查看已经创建的conda环境 conda info --envs4.进入虚拟环境 conda activate 环境名称 为了避免…

【Day 3】Ajax + Vue 项目、路由 + Nginx

1 Ajax Asynchronous JavaScript And XML 异步的 JavaScript 和 XML 作用: 数据交换 通过 Ajax 可以给服务器发送请求,并获取服务器响应的数据 异步交互 可以在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术&#xf…

【大模型应用极简开发入门(1)】LLM概述:LLM在AI中所处位置、NLP技术的演变、Transformer与GPT、以及GPT模型文本生成逻辑

文章目录 一. AI中大语言模型的位置与技术发展1. 从AI到Transformer2. NLP:自然语言处理3. LLM大型语言模型:NLP的一种特定技术3.1. LLM定义3.2. LLM的技术发展3.2.1. n-gram模型3.2.2. RNN与LSTM 二. Transformer在LLM中脱颖而出1. Transformer架构能力…

编译一个基于debian/ubuntu,centos,arhlinux第三方系统

目录 前言 准备工作 下载linux源码进行编译 linux源码下载 网站 问题 解决办法 编译 可能会遇到的问题 chroot下载debian环境 进入虚拟环境 把chroot的根目录文件打包为.gz文件 编译init文件(用于系统启动时的一系列引导) 给予文件夹权限 …

碎碎笔记01

凹凸性 一元函数 凸函数&#xff1a;二阶导数>0 f ( x ) x 2 f(x) x^2 f(x)x2的二阶导数是 2&#xff0c;>0凹函数&#xff1a;二阶导数<0 驻点&#xff0c;拐点 驻点&#xff1a;增减性的交替点 拐点&#xff1a;凹凸性的交替点 脑补 f ( x ) s i n x f(x) …

【树莓派学习】hello,world!

系统安装及环境配置详见【树莓派学习】系统烧录及VNC连接、文件传输-CSDN博客 树莓派内置python3&#xff0c;可以直接利用python输出。

Docker 部署 MongoDB 数据库

文章目录 官网地址docker 网络mongod.conf部署 MongoDB部署 mongo-expressdocker-compose.ymlMongoDB shell 官网地址 https://www.mongodb.com/zh-cn docker 网络 # 创建 mongo_network 网络 docker network create mongo_network # 查看网络 docker network list # 容器连…

Don‘t fly solo! 量化之路,AI伴飞

在投资界&#xff0c;巴菲特与查理.芒格的神仙友谊&#xff0c;是他们财富神话之外的另一段传奇。巴菲特曾这样评价芒格&#xff1a;他用思想的力量拓展了我的视野&#xff0c;让我以火箭的速度&#xff0c;从猩猩进化到人类。 人生何幸能得到一知己。如果没有这样的机缘&…

【C++初阶】List使用特性及其模拟实现

1. list的介绍及使用 1.1 list的介绍 1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。 2. list的底层是双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向其前…

学习在Debian系统上安装Shadowsocks教程

学习在Debian系统上安装Shadowsocks教程 安装shadowsocks-libev及其所需的依赖启动Shadowsocks服务&#xff1a;如果你想要通过代理本地流量&#xff0c;你可以使用ss-local&#xff1a;启动并设置ss-local&#xff1a;查看状态本地连接 安装shadowsocks-libev及其所需的依赖 …

如何创建响应式HTML电子邮件模板

在这个适合初学者的指南中&#xff0c;你将学习如何创建一个响应式电子邮件模板。你将跟随逐步说明以及代码片段设计一个在任何设备上都看起来很棒的电子邮件模板。 这个项目非常适合渴望掌握电子邮件设计基础的新手&#xff01; &#xff08;本文视频讲解&#xff1a;java56…

力扣112,路径总和

给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径&#xff0c;这条路径上所有节点值相加等于目标和 targetSum 。如果存在&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 叶子节点 是指没有子节点…

Python 比较文本文件

1、问题背景 我们需要比较一个文本文件 F 与路径下多个其他文本文件之间的差异。我们已经编写了以下代码&#xff0c;但只能输出一个文件的比较结果。我们需要修改代码&#xff0c;以便比较所有文件并打印所有结果。 import difflib import fnmatch import osfilelist[] f op…

Lobechat 的基本使用流程

一、安装 下载lobechart的页面代码 $ git clone https://github.com/lobehub/lobe-chat.git $ cd lobe-chat $ pnpm install $ pnpm run dev注意&#xff1a;node环境要18以上 二、使用本地模型 1.安装ollama 2.通过ollama 下载本地模型 llama2&#xff08;选择合适的本地模型…