了解k8s容器组pods

news2024/11/26 0:30:57

一:Pods概述

在 部署第一个应用程序 中创建 Deployment 后,k8s创建了一个 Pod(容器组) 来放置应用程序实例(container 容器)
在这里插入图片描述
Pod 容器组 是一个k8s中一个抽象的概念,用于存放一组 container(可包含一个或多个 container 容器,即图上正方体),以及这些 container (容器)的一些共享资源。这些资源包括:

  • 共享存储,称为卷(Volumes),即图上紫色圆柱
  • 网络,每个 Pod(容器组)在集群中有个唯一的 IP,pod(容器组)中的 container(容器)共享该IP地址
  • container(容器)的基本信息,例如容器的镜像版本,对外暴露的端口等

例如,Pod可能既包含带有Node.js应用程序的 container 容器,也包含另一个非 Node.js 的 container 容器,用于提供 Node.js webserver 要发布的数据。Pod中的容器共享 IP 地址和端口空间(同一 Pod 中的不同 container 端口不能相互冲突),始终位于同一位置并共同调度,并在同一节点上的共享上下文中运行。(同一个Pod内的容器可以使用 localhost + 端口号互相访问)

Pod(容器组)是 k8s 集群上的最基本的单元。当我们在 k8s 上创建 Deployment 时,会在集群上创建包含容器的 Pod (而不是直接创建容器)。每个Pod都与运行它的 worker 节点(Node)绑定,并保持在那里直到终止或被删除。如果节点(Node)发生故障,则会在群集中的其他可用节点(Node)上运行相同的 Pod(从同样的镜像创建 Container,使用同样的配置,IP 地址不同,Pod 名字不同)。如下图:
在这里插入图片描述

1、Pod 是一组容器(可包含一个或多个应用程序容器),以及共享存储(卷 Volumes)、IP 地址和有关如何运行容器的信息。
2、如果多个容器紧密耦合并且需要共享磁盘等资源,则他们应该被部署在同一个Pod(容器组)中

二:Node(节点)

下图显示一个 Node(节点)上含有4个 Pod(容器组)
在这里插入图片描述
Pod(容器组)总是在 Node(节点) 上运行。Node(节点)是 kubernetes 集群中的计算机,可以是虚拟机或物理机。每个 Node(节点)都由 master 管理。一个 Node(节点)可以有多个Pod(容器组),kubernetes master 会根据每个 Node(节点)上可用资源的情况,自动调度 Pod(容器组)到最佳的 Node(节点)上。
每个 Kubernetes Node(节点)至少运行:

  • Kubelet,负责 master 节点和 worker 节点之间通信的进程;管理 Pod(容器组)和 Pod(容器组)内运行的 Container(容器)
  • 容器运行环境(如Docker)负责下载镜像、创建和运行容器等

三:实战:故障排除

方式一:使用kuboard

在名称空间中查看部署

Kuboard 中的名称空间首页如下图所示,在右上角的 自定义名称空间布局 按钮,可以调整名称空间的布局结构。

左侧 工作负载 菜单,可以按列表的形式展示 Deployment、StatefulSet、DaemonSet 等工作负载。
在这里插入图片描述
查看部署及其容器组
在这里插入图片描述
查看日志:
点击追踪日志
在这里插入图片描述
在这里插入图片描述

方式二:使用kubectl

在部署第一个应用程序 中,我们使用了 kubectl 命令行界面部署了 nginx 并且查看了 Deployment 和 Pod。kubectl 还有如下四个常用命令,在我们排查问题时可以提供帮助:

  • kubectl get - 显示资源列表
# kubectl get 资源类型

#获取类型为Deployment的资源列表
kubectl get deployments

#获取类型为Pod的资源列表
kubectl get pods

#获取类型为Node的资源列表
kubectl get nodes

在这里插入图片描述

名称空间

在命令后增加 -A 或 --all-namespaces 可查看所有 名称空间中 的对象,使用参数 -n 可查看指定名称空间的对象,例如

# 查看所有名称空间的 Deployment
kubectl get deployments -A
kubectl get deployments --all-namespaces
# 查看 kube-system 名称空间的 Deployment
kubectl get deployments -n kube-system

在这里插入图片描述

  • kubectl describe - 显示有关资源的详细信息
# kubectl describe 资源类型 资源名称

#查看名称为nginx-XXXXXX的Pod的信息
kubectl describe pod nginx-XXXXXX	

#查看名称为nginx的Deployment的信息
kubectl describe deployment nginx	

在这里插入图片描述
kubectl logs - 查看pod中的容器的打印日志(和命令docker logs 类似)

# kubectl logs Pod名称

#查看名称为nginx-pod-XXXXXXX的Pod内的容器打印的日志
#本案例中的 nginx-pod 没有输出日志,所以您看到的结果是空的
kubectl logs -f nginx-pod-XXXXXXX
  • kubectl exec - 在pod中的容器环境内执行命令(和命令docker exec 类似)
# kubectl exec Pod名称 操作命令

# 在名称为nginx-pod-xxxxxx的Pod中运行bash
kubectl exec -it nginx-pod-xxxxxx /bin/bash

Worker节点是k8s中的工作计算机,可能是VM或物理计算机,具体取决于群集。多个Pod可以在一个节点上运行。

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

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

相关文章

yolov5增加AFPN-全新特征融合模块AFPN,效果完胜PAFPN

论文学习:AFPN: Asymptotic Feature Pyramid Network for Object Detection-全新特征融合模块AFPN,完胜PAFPN_athrunsunny的博客-CSDN博客 先上配置文件yolov5s-AFPN.yaml # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license# Parameters nc: 80…

Nginx安装与介绍

Nginx概述 Nginx (“engine x”) 是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能力强,事实上 Nginx 的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用 Nginx 网站用户有:百度、京东、新浪…

Windows11最新版官网制作系统盘

在百度里搜索"windows11官网下载",然后选择微软官网的链接: 下載 Windows 11https://www.microsoft.com/zh-tw/software-download/windows11 然后就可以制作U盘windows11官网系统的安装U盘了。

进行APP广告变现之前,媒体需要关注哪些APP运营的信息指标

在进行广告变现之前,媒体商务或运营人员首先要知道自家 APP 的一些基本体量信息及基本用户使用情况信息。唯有充分而全面的掌握并罗列出这些基础 APP 运营指标,才能便于媒体通过自家真实流量规模、实力等来预估广告位价值,或更好的像广告需求…

设计模式--------创建型模式

创建型模式 用于描述“怎样创建对象”,它的主要特点是“将对象的创建与使用分离”。GoF(四人组)书中提供了单例、原型、工厂方法、抽象工厂、建造者等 5 种创建型模式。 1.单例设计模式 单例模式(Singleton Pattern&#xff09…

如何截取视频中的一段视频?简单的截取方法分享

如果我们只需要处理视频中的某一部分,就可以将这一部分的内容截取下来,可以省去处理整个视频文件的时间和精力。此外,截取视频也可以让更加方便地分享和保存视频内容。此外,如果我们只需要分享视频中的一部分给他人观看&#xff0…

二、MongoDB 安装集

一、MongoDB—Docker mongoNoSQL Manager for MongoDB: L1、L2 1. 创建容器 docker search mongo docker pull mongodocker run -d --namemongo_1 -p 27017:27017 \-v /root/mongo/configdb:/data/configdb/ \-v /root/mongo/db/:/data/db/ \[镜像ID] --auth2. 登…

【软件测试】盘一盘工作中遇到的 Redis 异常测试

目录 前言: 一、更新 Key 异常 二、Key的删除和丢失 三、KEY 过期策略不当造成内存泄漏 四、查询Redis异常时处理 五、redis 穿透、击穿、雪崩 六、Redis死锁 七、Redis持久化 八、缓存与数据库双写时的数据一致性 前言: 在软件测试过程中&…

第八章、【Linux】文件与文件系统的压缩,打包与备份

8.1 压缩文件的用途与技术 8.2 Linux 系统常见的压缩指令 列几个常见的压缩文件扩展名: 8.2.1 gzip, zcat/zmore/zless/zgrep gzip 可以说是应用度最广的压缩指令了!目前 gzip 可以解开 compress, zip 与 gzip 等软件所压缩的文件。 当你使用 gzip 进…

Error: 系统错误,错误码:80051,source size 2649KB exceed max limit 2MB [202306

小程序主包体积过大,预览到手机失败 把这个勾选一下,上限调整到4MB

Android性能优化问题方案的总结~

虽然总说“英雄不问出处”,但大厂卡学历是默认的“潜规则”。不过最近一个老弟,让我挺振奋的!人家完全靠实力上岸。他就属于死磕型的,是我近2年见过的少有的Android性能优化高手。 要说他也挺聪明,贼会选领域。你出去随…

力扣 -- 740. 删除并获得点数

题目链接&#xff1a;740. 删除并获得点数 - 力扣&#xff08;LeetCode&#xff09; 下面是用动态规划的思想解决这道题的过程&#xff0c;相信各位小伙伴都能看懂并且掌握这道经典的动规题目滴。 参考代码&#xff1a; class Solution { public:int deleteAndEarn(vector<…

【MySQL】 MySQL安装

文章目录 1. MySQL安装配置内置环境关闭MySQL卸载MySQL确认环境是否干净 配置MySQL yum源yum源 的安装注意事项检测是否安装成功 MySQL的启动MySQL的登录登录方案一 获取临时密码登录方案二 免密码登录 MySQL的配置文件 1. MySQL安装 配置内置环境 输入 ps axj | grep mysql …

SpringBoot教学补充资料3-Maven安装

Maven下载地址&#xff1a;https://maven.apache.org/download.cgi 下载后进行解压&#xff0c;记住解压路径。 mvn -v

大文件下载

背景 google chrome下载大文件的时候&#xff0c;没有断点续传的功能&#xff0c;会因为网络不稳定多次下载失败。 google drive大文件 安装google drive客户端 点开别人的goole drive链接&#xff0c;保存在自己的文件夹下 本人的goole drive获取file_id # 链接格式 h…

mapbox icon-allow-overlap 和 icon-ignore-placement的区别

icon-allow-overlap 和 icon-ignore-placement的区别 官网解释&#xff1a;If true, the icon will be visible even if it collides with other previously drawn symbols. 翻译&#xff1a;如果该属性为true那么他会显示即便会冲突和在它之前已经添加的图层。 官网解释&am…

NSS [鹏城杯 2022]简单包含

NSS [鹏城杯 2022]简单包含 看代码觉得不就直接post flagdata://text/plain,<?php system(ls);?>行了。 但是事实上没有什么软用。 用了php://伪协议之后发现有WAF。 可以读源码 解码得到 <?php$path $_POST["flag"];if (strlen(file_get_contents(ph…

UE5 MetaHuman SDK插件的使用【一、编辑器创建音波与蓝图创建获取音波,语音与嘴唇口型的同步】

目录 打开插件 创建音频 编辑器这直接创建音频&#xff1a; 蓝图中创建和获取音频&#xff1a; 唇语&#xff1a; 声音与嘴唇同步&#xff1a; 方法一【效果不是很好】&#xff1a; 方法二【效果很好&#xff0c;但有一段时间延迟在处理】&#xff1a; 逻辑&#xff1…

Mysql数据库,Navicat上给表创建索引一直等待

问题背景&#xff1a; 对查询语句进行索引优化&#xff0c;针对以下表添加联合索引&#xff0c;语句如下&#xff1a; ALTER TABLE hzz_patrol_period_config add index IDX_PERIOD_CONFIG_YEAR_TYPE_VAL (EFFECT_YEAR,CHECK_CYCLE_TYPE,CHECK_CYCLE_VAL); Navicat上执行一直…

linux_driver_day02

作业1 题目&#xff1a; 映射 GPIOE、GPIOF、RCC 虚拟地址&#xff0c;实现控制三盏LED的驱动 效果&#xff1a; 代码&#xff1a; mycdev.h #ifndef _MYCDEV_H_ #define _MYCDEV_H_#include <linux/fs.h> #include <linux/init.h> #include <linux/io.h&g…