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

Kubernetes调度单位Pod

Kubernetes调度单位Pod

1 Pod简介

alt
alt

不直接操作容器container。

一个 pod 可包含一或多个容器(container),它们共享一个 namespace(用户,网络,存储等),其中进程之间通过 localhost 本地通信,就相当于我们在本地起两个进程。

alt

2 创建 Pod

2.1 创建yml

apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  containers:
  - name: nginx
    image: nginx
    ports:
    - containerPort: 80

2.2 按yaml创建

$ kubectl create -f pod_nginx.ymlpod/nginx created

3 查看 Pod

alt
$ kubectl get pods
NAME    READY   STATUS    RESTARTS   AGE
nginx   1/1     Running   0          5s

第一次运行状态字段为 pull,因为要先拉取 nginx 的 image,ready:

$ kubectl get pods
NAME                                          READY   STATUS      RESTARTS   AGE
nginx     0/1     ImagePullBackOff     0          57s

查看 docker 面板,已成功拉取下来 nginx 镜像,再次查看:

alt

ready 为 1,说明已启动:

$ kubectl get pods
NAME                                          READY   STATUS      RESTARTS   AGE
nginx     1/1     Running     0          5m4s

pod 里面现在运行了一个 nginx 的 container。

3.1 查看详情

$ kubectl get pods -o wide
NAME    READY   STATUS    RESTARTS   AGE   IP           NODE       NOMINATED NODE   READINESS GATES
nginx   1/1     Running   0          82s   10.244.0.4(容器的地址)   minikube(在minikube的节点上)   <none>           <none>

3.2 进入容器

如查看其imageid

Linux

因为minikube安装的 k8s 单节点:

$ minikube ssh
Last login: Wed May 10 15:23:19 2023 from 192.168.49.1
docker@minikube:~$ docker ps
CONTAINER ID   IMAGE                       COMMAND                  CREATED          STATUS          PORTS     NAMES
48f7294a924d   nginx                       "/docker-entrypoint.…"   4 minutes ago    Up 4 minutes              k8s_nginx_nginx_default_6cfb9180-9961-46f3-9298-c53d2f40cb1b_0

注意名为“k8s_nginx_nginx_default_6cfb9180”的容器,其 container id=48f7294a924d,进入它:

docker@minikube:~$ docker exec -it 48f7294a924d sh
# exit
docker@minikube:~$ 

先检查网络:

$ docker network ls
NETWORK ID     NAME                          DRIVER    SCOPE
64ad1eca60f7   bridge                        bridge    local
hzirct52ilxb   demo                          overlay   swarm
9d1d55a25a87   docker_gwbridge               bridge    local
4689aefb8f9b   docker_my-bridge              bridge    local
8f8808195e46   examplevotingapp_back-tier    bridge    local
d9026565f4d5   examplevotingapp_front-tier   bridge    local
a18dcc0c886d   flaskredis_default            bridge    local
f2f555bed377   host                          host      local
muao6in9raiq   ingress                       overlay   swarm
103c61be6a54   minikube                      bridge    local
d02380dd3da4   none                          null      local

$ docker network  inspect bridge
...

进入容器:

$ kubectl exec -it nginx-1 -- sh
# ls
bin   dev                  docker-entrypoint.sh  home  lib64  mnt  proc  run   srv  tmp  var
boot  docker-entrypoint.d  etc                   lib   media  opt  root  sbin  sys  usr

若有两个 Nginx,默认进入第一个,-c 选项可指定进入哪一个。

Mac
alt

直接点击 cli 工具进入:

alt

须通过 dockercli 才能访问里面的 nginx:

alt

无法在本地命令行直接通信:

# 本地 PC 执行
$  curl 100.65.143.216:80
curl: (28) Failed to connect to 100.65.143.216 port 80 after 75813 ms: Couldn't connect to server
$ ping 100.65.143.216
PING 100.65.143.216 (100.65.143.216): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1

3.3 本地PC通信

咋才能映射一个可访问ip,本地也能与 nginx 通信?

本地 PC:

# 建立本地与Pod之间的连接: 将本地机器的8086端口与Pod nginx的80端口连接起来
# 实现远程访问: 通过访问本地的8086端口,就可以访问到Pod nginx的80端口上运行的服务
$ pod-basic kubectl port-forward nginx 8086:80

Forwarding from 127.0.0.1:8086 -> 80
Forwarding from [::1]:8086 -> 80
Handling connection for 8086
Handling connection for 8086
**Forwarding from ...:** 表示正在将本地端口转发到Pod端口。

**127.0.0.1:** 本地回环地址,表示本地机器。

**[::1]:** IPv6的回环地址,也表示本地机器。

**Handling connection:** 表示正在处理连接。
应用场景
  • 调试Pod中的服务: 在开发过程中,可以通过端口转发来方便地调试Pod中运行的服务
  • 访问Pod内部的Web服务: 如果Pod中运行了一个Web服务,可以通过端口转发来从本地访问这个服务
alt

但这样如果把该命令停止,就无法访问。

4 删除 pod

4.1 若已存在

删除失败:

$ kubectl create -f pod_nginx.yml
Error from server (AlreadyExists): error when creating "pod_nginx.yml": pods "nginx" already exists

4.2 就想删除

$ kubectl delete -f pod_nginx.yml
pod "nginx" deleted
$ kubectl get pods
No resources found in default namespace.

获取更多干货内容,记得关注我哦。

本文由 mdnice 多平台发布

相关文章:

Kubernetes调度单位Pod

Kubernetes调度单位Pod 1 Pod简介 不直接操作容器container。 一个 pod 可包含一或多个容器&#xff08;container&#xff09;&#xff0c;它们共享一个 namespace&#xff08;用户&#xff0c;网络&#xff0c;存储等&#xff09;&#xff0c;其中进程之间通过 localhost 本地…...

C语言指针篇

要想学好C语言&#xff0c;作为灵魂的指针那是必须要掌握的&#xff0c;而要想搞定指针&#xff0c;就不得不讲一下内存和地址之间的关系 内存和地址 计算机上的CPU&#xff08;中央处理器&#xff09;在处理数据的时候&#xff0c;需要的数据是在内存中读取的&#xff0c;处…...

Unity 使用Editor工具查找 Prefab 中的指定脚本

在 Unity 项目中&#xff0c;随着项目规模的扩大和 Prefab 数量的增加&#xff0c;管理和定位 Prefab 中的脚本变得更加复杂。为了提高开发效率&#xff0c;所以需要编写一个自定义的 Unity Editor 工具&#xff0c;帮助查找某个 Prefab 中是否使用了指定的脚本。本文将介绍如何…...

Frida-JSAPI:Interceptor使用

拦截器 Interceptor.attach(target, callbacks[, data]) 参数分析 target &#xff1a;target是一个NativePointer&#xff0c;用于指定想要拦截的函数的地址。callbacks &#xff1a;参数是一个包含一个或多个回调函数的对象。 onEnter(args) 回调函数&#xff0c;接收一个参…...

【深度学习】(3)--损失函数

文章目录 损失函数一、L1Loss损失函数1. 定义2. 优缺点3. 应用 二、NLLLoss损失函数1. 定义与原理2. 优点与注意3. 应用 三、MSELoss损失函数1. 定义与原理2. 优点与注意3. 应用 四、BCELoss损失函数1. 定义与原理2. 优点与注意3. 应用 五、CrossEntropyLoss损失函数1. 定义与原…...

git学习报告

文章目录 git学习报告如何配置vscode终端安装PowerShell安装 Microsoft.Powershell.Preview使用 git的使用关于团队合作 git指令本地命令&#xff1a;云端指令 git学习报告 如何配置vscode 安装powershell调教window终端&#xff0c;使其像Linux一样&#xff0c;通过Linux命令…...

Spring MVC的应用

目录 1、创建项目与maven坐标配置 2、核心配置 3、启动项目测试 4、不同请求参数在controller的配置 4.1 servlet API 4.2 简单类型 4.3 pojo类型 4.4 日期类型 4.5 restful风格4种操作类型 4.5.1 GET&#xff1a;获取资源 4.5.2 POST&#xff1a;新建资源 4.5.3 P…...

JavaEE: 深入探索TCP网络编程的奇妙世界(六)

文章目录 TCP核心机制TCP核心机制九: 面向字节流TCP核心机制十: 异常处理 小小的补充(URG 和 PSH)~TCP小结TCP/UDP 对比用UDP实现可靠传输(经典面试题) 结尾 TCP核心机制 上一篇文章JavaEE: 深入探索TCP网络编程的奇妙世界(五) 书接上文~ TCP核心机制九: 面向字节流 TCP是面…...

探秘 Web Bluetooth API:连接蓝牙设备的新利器

引言 随着物联网技术的快速发展&#xff0c;蓝牙设备在日常生活中扮演着越来越重要的角色。而在 Web 开发领域&#xff0c;Web Bluetooth API 的出现为我们提供了一种全新的方式来连接和控制蓝牙设备。本文将深入探讨 Web Bluetooth API 的使用方法和原理&#xff0c;帮助开发…...

Kubernetes Pod调度基础(kubernetes)

实验环境依旧是k8s快照&#xff0c;拉取本次实验所需的镜像文件&#xff1b; 然后在master节点上传已经编写好的yaml文件&#xff1b; 然后同步会话&#xff0c;导入镜像&#xff1b; pod控制器&#xff1a; 标签选择器--》标签&#xff1a; 标签&#xff1a; 在Kubernetes&…...

Angular由一个bug说起之十:npm Unsupported engine

我们在用npm下载包的时候&#xff0c;有时候会碰到这样的提示 这是npm的警告&#xff0c;说我们使用的nodejs版本与下载的包所要求的nodejs版本不一致。 这是因为有些包它对nodejs的版本有要求&#xff0c;然后就会在package.json文件里的engines字段里声明它所要求的nodejs版本…...

Android 开发高频面试题之——Flutter

Android开发高频面试题之——Java基础篇 flutter高频面试题记录 Flutter1. dart中的作用域与了解吗2. dart中. .. ...分别是什么意思?3. Dart 是不是单线程模型?如何运行的?4. Dart既然是单线程模型支持多线程吗?5. Future是什么6. Stream是什么7. Flutter 如何和原生交互…...

视频单目标跟踪研究

由于对视频单目标跟踪并不是很熟悉&#xff0c;所以首先得对该领域有个大致的了解。 视频目标跟踪是计算机视觉领域重要的基础性研究问题之一&#xff0c;是指在视频序列第一帧指定目标 后&#xff0c;在后续帧持续跟踪目标&#xff0c;即利用边界框&#xff08;通常用矩形框表…...

若依vue3.0表格的增删改查文件封装

一、因若依生成的文件没进行封装&#xff0c;维护起来比较麻烦。所以自己简单的进行封装了一下 gitee代码&#xff08;文件&#xff09;地址&#xff1a;https://gitee.com/liu_yu_ting09/ruo_yi.git 二、封装的方法&#xff08;下面绿色按钮进行全局封装一个JeecgListMixin.js…...

【已解决】如何使用JAVA 语言实现二分查找-二分搜索折半查找【算法】手把手学会二分查找【数据结构与算法】

文章目录 前言任务描述编程要求 输出样例:未查找到11元素&#xff01; 二、代码实现总结理解不了考试的时候直接背下来就好了。 前言 [TOC]二分搜索 任务描述 折半查找&#xff08;二分搜索&#xff09; 设a[low..high]是当前的查找区间&#xff0c;首先确定该区间的中点位置…...

ERROR 1524 (HY000): Plugin ‘mysql_native_password‘ is not loaded

你遇到的错误是由于 MySQL 版本不再默认支持 mysql_native_password 认证插件导致的。从 MySQL 8.0 开始&#xff0c;默认的认证插件是 caching_sha2_password&#xff0c;而不是 mysql_native_password。 解释&#xff1a; 错误 ERROR 1524 (HY000): Plugin mysql_native_pa…...

.NET 6.0 WebAPI 使用JWT生成Token的验证授权

1.引入相关程序包JwtBearer注意版本: 2.配置文件appsettings.json写相关配置参数(也可不写&#xff0c;写在程序里面&#xff0c;数据库读取也是一样的) , //JWT加密"JWTToken": {"SecretKey": "jsaduwqe6asdjewejdue7dfmsdfu0sdfmwmsd8wfsd6",…...

M9410A VXT PXI 矢量收发信机,300/600/1200MHz带宽

M9410A PXI 矢量收发信机 -300/600/1200MHz带宽- M9410A VXT PXI 矢量收发信机&#xff0c;300/600/1200MHz带宽支持 5G 的 PXI 矢量收发信机&#xff08;VXT&#xff09;是一个 2 插槽模块&#xff0c;具有 1.2 GHz 的瞬时带宽 主要特点 Keysight M9410A VXT PXIe 矢量收发…...

用工厂模式演示springboot三种注入方式 | @Autowired

背景&#xff1a;看了个demo工厂模式&#xff0c;示例代码的工厂类是new出来的&#xff0c;但是实际项目中都是用springboot框架、bean都是会给容器管理的&#xff0c;所以在思考这个工厂类要交给springboot托管要怎么改。以下是总结笔记 依赖注入 1.工厂类用new实现2.工厂类用…...

es查询语法

查询关键词的含义&#xff1a; match: 用于进行全文搜索&#xff0c;分析查询文本并与倒排索引中的词项进行匹配。 term: 精确匹配&#xff0c;适用于非分析字段&#xff0c;如 keyword 类型。用于查找字段值完全相等的文档。 bool: 组合多个查询条件。可以使用 must&#xf…...

Linux内核随机数API

Linux内核为不同需求的场景&#xff08;如密码学安全、高性能模拟、概率采样等&#xff09;提供了多种获取随机数的方式&#xff0c;同时也支持生成概率值&#xff08;例如按一定概率选择分支&#xff09;。下面分类介绍&#xff1a; 一、内核态可用的随机数API 1. 密码学安全的…...

中文大模型实战测评:MiniMax、GLM、Kimi谁更适合你的需求?(附详细对比表)

中文大模型实战测评&#xff1a;MiniMax、GLM、Kimi谁更适合你的需求&#xff1f; 当企业技术团队或个人开发者面临中文大模型选型时&#xff0c;往往陷入"参数崇拜"与"场景适配"的矛盾中。本文基于三个月真实项目测试数据&#xff0c;从工程落地视角拆解三…...

Subtitle Edit:实现专业级字幕制作的7大创新方法指南

Subtitle Edit&#xff1a;实现专业级字幕制作的7大创新方法指南 【免费下载链接】subtitleedit the subtitle editor :) 项目地址: https://gitcode.com/gh_mirrors/su/subtitleedit 在视频内容创作与传播领域&#xff0c;字幕不仅是辅助理解的工具&#xff0c;更是提升…...

wordpress数据迁移---没有验证

迁移 WordPress 完整数据&#xff08;文章、页面、媒体、主题、插件、设置、评论、用户&#xff09;&#xff0c;核心是 备份旧站文件 数据库 → 新服务器配置环境 → 上传文件 导入数据库 → 修改配置 替换域名 / URL → 测试。下面分 插件一键迁移&#xff08;新手推荐&am…...

明天武汉!用好“龙虾”的关键要素全在这儿

...

别只盯着Flag!从‘金盾信安杯’赛题看企业级安全实战:文件上传、源码泄露与RSA的坑

企业安全实战&#xff1a;从CTF赛题到真实威胁的防御之道 当安全工程师们在CTF竞赛中破解一道道赛题时&#xff0c;很少有人意识到这些看似游戏化的挑战背后&#xff0c;隐藏着企业安全防护体系中最致命的漏洞原型。本文将带您穿越虚拟赛场与真实战场之间的界限&#xff0c;揭示…...

深度学习框架YOLOV8模型如何训练水下生物检测数据集 构建基于YOLOv8➕pyqt5的水下生物检测系统 海胆‘, ‘海参‘, ‘扇贝‘, ‘海星‘, ‘水草

享基于YOLOv8➕pyqt5的水下生物检测系统内含7600张水下生物数据集 包括[‘海胆’, ‘海参’, ‘扇贝’, ‘海星’, ‘水草’]&#xff0c;5类也可自行替换模型&#xff0c;使用该界面做其他检测 这是一个非常经典的计算机视觉应用项目&#xff0c;结合了深度学习的目标检测&…...

【AI智能体】Dify 实战:构建企业级自然语言SQL查询引擎

1. 从个人工具到企业级解决方案的跨越 第一次接触Dify的自然语言转SQL功能时&#xff0c;我被它的便捷性惊艳到了。只需要输入"显示上季度销售额最高的产品"&#xff0c;系统就能自动生成正确的SQL语句。但当我尝试在团队中推广使用时&#xff0c;各种问题接踵而至&a…...

基于多维特征与随机森林的就业状态预测模型构建与优化实践

1. 就业预测模型的应用场景与价值 就业状态预测听起来高大上&#xff0c;但说白了就是帮我们判断一个人接下来会不会失业&#xff0c;或者帮失业的人找到合适工作。我在金融行业做数据分析时&#xff0c;就遇到过银行需要评估贷款申请人还款能力的情况——其实核心就是预测对方…...

GPEN多场景实战落地:覆盖个人、企业、政府的图像增强应用

GPEN多场景实战落地&#xff1a;覆盖个人、企业、政府的图像增强应用 1. 引言&#xff1a;从模糊到清晰&#xff0c;AI如何重塑我们的视觉记忆 你有没有翻出过一张老照片&#xff0c;画面里的人脸模糊得只剩下轮廓&#xff0c;想看清细节却无能为力&#xff1f;或者&#xff…...