研发工程师玩转Kubernetes——通过文件创建Pod

news2024/11/18 14:42:56

在《研发工程师玩转Kubernetes——部署应用》中,我们使用kubectl run命令启动了一个可以在kubernetes集群内部访问的nginx——它不可以通过物理机访问。而我们使用文件创建时,则可以通过设置相关参数,让nginx可以通过物理机地址访问。

创建Pod

将下列内容保存到nginx.yaml文件中。

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

然后在文件所在目录执行

kubectl create -f nginx.yaml

创建成功后,我们可以通过下面指令查看创建的Pod

kubectl describe pod nginx 

得到如下信息

Name:             nginx
Namespace:        default
Priority:         0
Service Account:  default
Node:             fangliang-virtual-machine/172.30.45.36
Start Time:       Fri, 19 May 2023 17:49:51 +0800
Labels:           name=nginx
Annotations:      cni.projectcalico.org/containerID: 8c93ff15e90728d2faa31a0d2a8eb80d7524b6d97764367f35723bf9eca2735a
                  cni.projectcalico.org/podIP: 10.1.62.143/32
                  cni.projectcalico.org/podIPs: 10.1.62.143/32
Status:           Running
IP:               10.1.62.143
IPs:
  IP:  10.1.62.143
Containers:
  nginx-container:
    Container ID:   containerd://411e75f4552ffce498b53cc459e31c1418ac363ba0c5b6ed93de2ffb2a8e31e1
    Image:          nginx
    Image ID:       docker.io/library/nginx@sha256:480868e8c8c797794257e2abd88d0f9a8809b2fe956cbfbc05dcc0bca1f7cd43
    Port:           80/TCP
    Host Port:      80/TCP
    State:          Running
      Started:      Fri, 19 May 2023 17:49:55 +0800
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-2dxzr (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             True 
  ContainersReady   True 
  PodScheduled      True 
Volumes:
  kube-api-access-2dxzr:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type    Reason     Age    From               Message
  ----    ------     ----   ----               -------
  Normal  Scheduled  2m14s  default-scheduler  Successfully assigned default/nginx to fangliang-virtual-machine
  Normal  Pulling    2m13s  kubelet            Pulling image "nginx"
  Normal  Pulled     2m10s  kubelet            Successfully pulled image "nginx" in 2.999139058s (2.999143958s including waiting)
  Normal  Created    2m10s  kubelet            Created container nginx-container
  Normal  Started    2m10s  kubelet            Started container nginx-container

我们看到Host Port被设置成80了,这样我们就可以通过物理机地址172.30.45.36访问到nginx。
在这里插入图片描述

文件解读

Kubernetes的资源描述文件一般分成“类型信息”、“元信息”和“规约信息”。

类型信息

apiVersion: v1
kind: Pod

作为一种协议,不同的版本会有不同的格式。于是最开始需要apiVersion字段传递整个的文件协议版本,这样解析逻辑就不会出错。
kind字段用于表达这个文件描述的是什么资源,它可以是Pod、Service等。

元信息

metadata:
  name: nginx
  labels:
    name: nginx

元信息页比较统一,它主要用来描述两个信息

  • 名称(name),即这个资源叫什么。
  • 标签(labels),用于表示这个资源的特异性信息。它非常有用,因为我们可以通过它来检索对象。

规约信息

不同类型(kind)的资源的规约信息不一样。比如比较简单的Pod信息如下

spec:
  containers:
 - name: nginx-container
    image: nginx
    ports:
      - containerPort: 80
        hostPort: 80

containers下面描述的是一个数组,即一组容器信息。name表示容器名称,image表示需要拉取的镜像名称。ports用于描述端口:containerPort是容器开放的端口号,hostPort是将容器端口号映射到Node(本例我们可以理解为物理机)的端口号。

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

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

相关文章

【社工】NodeJS 应用仓库钓鱼

前言 城堡总是从内部攻破的。再强大的系统&#xff0c;也得通过人来控制。如果将入侵直接从人这个环节发起&#xff0c;那么再坚固的防线&#xff0c;也都成为摆设。 下面分享一个例子&#xff0c;利用应用仓库&#xff0c;渗透到开发人员的系统中。 应用仓库 应用仓库对于开…

手写决策树算法——基于决策树的XX联盟游戏胜负预测

机器学习 基于决策树的 XX联盟游戏胜负预测 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263?spm1001.2101.3001.5343 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/ar…

用Powerpoint (PPT)制作并导出矢量图、高分辨率图

论文写作时经常需要导入矢量图&#xff0c;正规军都是用AI或者Inkscape&#xff0c;但是PPT更加适合小白用户&#xff0c;或者一些简单的构图需求&#xff0c;而且不得不承认PPT的某些功能是真的香&#xff0c;例如&#xff1a;简单的对齐、文字插入和格式修改等等。但是PPT是不…

Ansys仿真TDR

1、TDR测量的原理&#xff1a; 2、时域反射计TDR的电路仿真 打开Ansys的TDR电路例程&#xff0c;单端电路和TDR源的设置如下图所示&#xff0c;被测的DUT为4段传输线和一个电容&#xff0c;一个电感。 TDR测的结果如下&#xff1a; 信号到负载电容的时间为1.5ns&#xff0c;然…

Cesium源码分享--气泡窗

Cesium气泡窗插件 在线api文档说明 在线体验地址 更多案例地址 免费gis数据 ps&#xff1a;如果可以的话&#xff0c;希望大家能给我个star&#xff0c;好让我有更新下去的动力&#xff1b; 实现原理&#xff1a; Cesium和我们平时常见的leaflet、ol以及arcgis api是不一样…

组合数学公式

1、8个相同的球放进4个相同的盒子里&#xff0c;每盒至少一个&#xff0c;有几种方法 &#xff1f; 公式&#xff1a;球相同&#xff0c;盒相同&#xff0c;拆分公式。 P4(8)P1(4)P2(4)P3(4)P4(4) 1211 5 2、8个相同的球放进4个不同的盒子里&#xff0c;每盒至少一个&#xff…

GPT学习笔记-聚类(clustering)

1. 什么是clustering 聚类是一种非常有用的无监督学习技术&#xff0c;它的主要目的是发现数据的内在结构和模式。在许多实际应用中&#xff0c;我们可能没有明确的目标变量或预测目标&#xff0c;但我们仍希望了解数据的组织方式&#xff0c;或者找出数据中的特定模式或组。这…

如何构造HTTP请求

直接通过浏览器地址栏 具体的流程,直接通过浏览器地址栏,输入一个url >构造出一个GET请求 html中,一些特殊标签,也会触发GET请求 1) link 2) script 3) img 4) a以上的几个标签都会触发Get请求了. form表单,可以触发GET和POST请求 form 的重要参数: action: 构造的 HTT…

【Redis面试点总结】

1、缓存 1.1、穿透 查询一个空数据&#xff0c;mysql也查不到也不会写入缓存可能导致多次请求数据库 方案一&#xff1a;缓存设空即可&#xff08;可能发生数据不一致就是这条数据有了但此时缓存是空&#xff0c;消耗内存&#xff09; 方案二&#xff1a;布隆过滤器&#x…

hive数据库hql基础操作02

1.内部表和外部表 默认情况下创建的表就是内部表&#xff0c;Hive拥有该表的结构和文件。换句话说&#xff0c;Hive完全管理表&#xff08;元数据和数据&#xff09;的生命周期&#xff0c;类似于RDBMS中的表。当你删除内部表时&#xff0c;它会删除数据以及表的元数据。可以使…

【python】价值25~30K的国外企业招聘面试考题

目录标题 前言案例介绍网站分析代码展示尾语 &#x1f49d; 前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! 今天的这个案例&#xff0c;是一位同学的面试题&#xff0c;人在国外&#xff0c;月薪25~30K 本来以为是难度很大的反pa、逆向或者算法之类的&#xff0c; 谁知道…

深度学习笔记1——CNN识别黑白手写数字

文章目录 摘要手写数字数据集&#xff08;MNIST&#xff09;卷积神经网络&#xff08;Convolution Neural Network, CNN&#xff09;模型架构搭建Softmax函数和CrossEntropy损失函数Adam 优化器 构造数据迭代器训练、验证、测试模型训练结果可视化 摘要 本文将介绍CNN的开山之…

读书笔记--读数学之美有感

大概是在10年前&#xff0c;无意间读到吴军老师撰写得数学之美&#xff0c;感觉吴老师对数学与信息论的结合讲述的太好了&#xff0c;吴老师结合自身的多年工作经历将信息技术中用到的数学&#xff0c;特别是数学里面的很多概率论、线性代数、模型算法、编解码规则等&#xff0…

gunicorn常用参数命令

Gunicorn 是一个 Python 的 WSGI HTTP 服务器。具有实现简单,轻量级,高性能等特点。更多介绍内容参考官网&#xff0c;这里介绍几个常用参数。 安装 pip3 install gunicorn通过输入gunicorn -v查看版本。 最简洁的启动。首先进入到项目目录&#xff0c;例如django项目和mana…

Vue中通过集成Quill富文本编辑器实现公告的发布。Vue项目中vue-quill-editor的安装与使用【实战开发应用】

前言 闲的无聊、给原有的系统添加一个公告的功能。就是后台可以写一些公告信息&#xff0c;然后前台可以看到发布的信息。一般来说一个公告就是一些文字描述图片视频等。还有排版样式啥的。使用文本编辑器就可以实现。然后正好用到了Quill&#xff0c;通过Quill富文本编辑器集成…

JS逆向 -- 某视频vurl值的加密分析

接上节课内容 JS逆向 -- 某视频vid值的加密分析 JS逆向 -- 某视频val值和pid值的加密分析 一、在上节课中有个vurl的值需要分析&#xff0c;具体内容如下 vurl: https://mp4play-hs-cdn.ysp.cctv.cn/o000017kuww.jbZe10002.mp4? sdtfrom4330701& guidlhsuf6ia_0rieucp…

进程性能分析工具 pidstat 和用 python 的 matplotlib 库输出分析图表

文章目录 前情提要效果展示pidstat 简介matplotlib 简介认识 figure 和 axes绘制曲线图绘制柱形图创建两个轴&#xff0c;将上面两种图形放到一个 figure 中Backends of matplotlib如何使用 WebAgg注意事项 前情提要 这段时间在忙服务器压测的工作&#xff0c;虽然我们程序里面…

五种高效的原型设计工具推荐

软件产品的诞生注定要经历一个过程&#xff1a;需求分析、设计、开发、测试和在线。在设计阶段&#xff0c;原型设计是软件设计和开发的重要保证。与其他工作一样&#xff0c;高效的原型设计需要相应工具的帮助来完成原型设计。在许多原型设计工具中&#xff0c;这里推荐了五种…

洛谷P1420-最长连号

洛谷P1420-最长连号 这个题目很入门&#xff0c;但是我第一次做怎么做都做不出来&#xff0c;看了几个代码&#xff0c;方法各式各样&#xff0c;这个我是我觉得最通俗易懂的一个, 循环外面的两个输入第一个cin是个数第二个是输入的第一个数&#xff0c;所以下面for循环的条件…

毕业论文之转化为三线表格(wps)

目录 一、前言 1.修改之前的表格 2. 修改完成后&#xff08;三线表格式&#xff09; 二、操作步骤 一、前言 在论文里面的表格要求是三线表格式的时候&#xff0c;就需要我们去把这个表格修改成三线表格式。 1.修改之前的表格 2. 修改完成后&#xff08;三线表格式&…