【4】k8s_NameSpacePod

news2025/3/1 3:08:36

目录

一、NameSpace

二、Pod

【1】命令式对象管理: 直接使用命令去操作kubernetes资源

【2】命令式对象配置: 通过命令配置和配置文件去操作作kubernetes资源

1、写一个ymal文件

2、然后运行yaml文件(提前创建好了命名空间string)

3、用bashboard创建pod

4、一个pod里面运行多个容器


一、NameSpace

  • 命名空间,用来对集群资源进行隔离划分。默认只隔离资源,不隔离网络
[root@master ~]# kubectl create ns dev
namespace/dev created
[root@master ~]#  kubectl get ns
NAME                   STATUS   AGE
default                Active   23h
dev                    Active   6s
kube-node-lease        Active   23h
kube-public            Active   23h
kube-system            Active   23h
kubernetes-dashboard   Active   77m

二、Pod

  • 运行中的一组容器,Pod是kuberneres中应用的最小单位

【1】命令式对象管理: 直接使用命令去操作kubernetes资源

[root@master ~]# kubectl get pod -A
NAMESPACE              NAME                                         READY   STATUS    RESTARTS   AGE
kube-system            calico-kube-controllers-56c7cdffc6-trxkj     1/1     Running   1          23h
kube-system            calico-node-8zsdw                            1/1     Running   1          22h
kube-system            calico-node-khp6k                            1/1     Running   1          22h
kube-system            calico-node-vkqhc                            1/1     Running   1          23h
kube-system            coredns-7f89b7bc75-65jnr                     1/1     Running   1          23h
kube-system            coredns-7f89b7bc75-lrtqq                     1/1     Running   1          23h
kube-system            etcd-master                                  1/1     Running   1          23h
kube-system            kube-apiserver-master                        1/1     Running   1          23h
kube-system            kube-controller-manager-master               1/1     Running   1          23h
kube-system            kube-proxy-9k8ps                             1/1     Running   1          23h
kube-system            kube-proxy-nvzmj                             1/1     Running   1          22h
kube-system            kube-proxy-zph7s                             1/1     Running   1          22h
kube-system            kube-scheduler-master                        1/1     Running   1          23h
kubernetes-dashboard   dashboard-metrics-scraper-79c5968bdc-l4fjp   1/1     Running   0          70m
kubernetes-dashboard   kubernetes-dashboard-658485d5c7-dj8qn        1/1     Running   0          70m
[root@master ~]# kubectl run mynginx --image=nginx
pod/mynginx created
[root@master ~]# kubectl get pod
NAME      READY   STATUS              RESTARTS   AGE
mynginx   0/1     ContainerCreating   0          10s
[root@master ~]# kubectl describe pod mynginx
Name:         mynginx
Namespace:    default
Priority:     0
Node:         node02/172.31.0.2
Start Time:   Fri, 06 Jan 2023 23:27:42 +0800
Labels:       run=mynginx
Annotations:  cni.projectcalico.org/containerID: 2eec547318e2d978dfbbf589915cd684fbd2f8450609583cfe20e43c3d5e39df
              cni.projectcalico.org/podIP: 192.168.140.71/32
              cni.projectcalico.org/podIPs: 192.168.140.71/32
Status:       Running
IP:           192.168.140.71
IPs:
  IP:  192.168.140.71
Containers:
  mynginx:
    Container ID:   docker://8f0e73fc980847280fe363558dd6dbae3fd1f803a3823a982208e32d87827f8b
    Image:          nginx
    Image ID:       docker-pullable://nginx@sha256:0d17b565c37bcbd895e9d92315a05c1c3c9a29f762b011a10c54a66cd53c9b31
    Port:           <none>
    Host Port:      <none>
    State:          Running
      Started:      Fri, 06 Jan 2023 23:28:52 +0800
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-dcw8j (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             True 
  ContainersReady   True 
  PodScheduled      True 
Volumes:
  default-token-dcw8j:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-dcw8j
    Optional:    false
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  86s   default-scheduler  Successfully assigned default/mynginx to node02
  Normal  Pulling    85s   kubelet            Pulling image "nginx"
  Normal  Pulled     20s   kubelet            Successfully pulled image "nginx" in 1m5.956007089s
  Normal  Created    16s   kubelet            Created container mynginx
  Normal  Started    16s   kubelet            Started container mynginx

进入pod

[root@master ~]# kubectl exec -it mynginx -- /bin/bash
root@mynginx:/# 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

查看log 加上f表示实时查看

[root@master ~]# kubectl logs mynginx
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2023/01/09 09:25:47 [notice] 1#1: using the "epoll" event method
2023/01/09 09:25:47 [notice] 1#1: nginx/1.21.5
2023/01/09 09:25:47 [notice] 1#1: built by gcc 10.2.1 20210110 (Debian 10.2.1-6) 
2023/01/09 09:25:47 [notice] 1#1: OS: Linux 3.10.0-1127.el7.x86_64
2023/01/09 09:25:47 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2023/01/09 09:25:47 [notice] 1#1: start worker processes
2023/01/09 09:25:47 [notice] 1#1: start worker process 32
2023/01/09 09:25:47 [notice] 1#1: start worker process 33
192.168.219.64 - - [09/Jan/2023:09:33:45 +0000] "GET / HTTP/1.1" 200 

【2】命令式对象配置: 通过命令配置和配置文件去操作作kubernetes资源

1、写一个ymal文件

apiVersion: v1          # API版本号,注意:具有多个,不同的对象可能会使用不同API
kind: Pod               # 对象类型,pod
metadata:               # 元数据
  name: mynginx         # POD名称

spec:                   # specification of the resource content(资源内容的规范)
  containers:           # 容器列表
    - name: mynginx     # 容器名称
      image: nginx      # 容器镜像
                                    

2、然后运行yaml文件(提前创建好了命名空间string)

[root@master ~]# vi pod.yaml 
[root@master ~]# kubectl apply -f pod.yaml 
pod/mynginx created
[root@master ~]# kubectl get pod -n string
NAME      READY   STATUS             RESTARTS   AGE
mynginx   1/1     Running            0          27s

[root@master ~]# kubectl describe pod mynginx -n string
Name:         mynginx
Namespace:    string
Priority:     0
Node:         node02/172.31.0.2
Start Time:   Mon, 09 Jan 2023 17:10:22 +0800
Labels:       <none>
Annotations:  cni.projectcalico.org/containerID: 5a1eefb7be0f61fc7cceca2c8bfe67e72fe104db89a13b9f58921804278a2904
              cni.projectcalico.org/podIP: 192.168.140.74/32
              cni.projectcalico.org/podIPs: 192.168.140.74/32
Status:       Running
IP:           192.168.140.74
IPs:
  IP:  192.168.140.74
Containers:
  mynginx:
    Container ID:   docker://613b31a4f4736788af136f9187bf78d64ac0f6e0b3960a34087ed481ebed7847
    Image:          nginx
    Image ID:       docker-pullable://nginx@sha256:0d17b565c37bcbd895e9d92315a05c1c3c9a29f762b011a10c54a66cd53c9b31
    Port:           <none>
    Host Port:      <none>
    State:          Running
      Started:      Mon, 09 Jan 2023 17:10:23 +0800
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-tv5f7 (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             True 
  ContainersReady   True 
  PodScheduled      True 
Volumes:
  default-token-tv5f7:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-tv5f7
    Optional:    false
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  52s   default-scheduler  Successfully assigned string/mynginx to node02
  Normal  Pulling    51s   kubelet            Pulling image "nginx"
  Normal  Pulled     51s   kubelet            Successfully pulled image "nginx" in 429.471972ms
  Normal  Created    51s   kubelet            Created container mynginx
  Normal  Started    51s   kubelet            Started container mynginx
[root@master ~]# kubectl delete -f pod2.yaml 
pod "mynginx" deleted

3、用bashboard创建pod

4、一个pod里面运行多个容器

先创建一个yaml

apiVersion: v1          # API版本号,注意:具有多个,不同的对象可能会使用不同API
kind: Pod               # 对象类型,pod
metadata:               # 元数据
  name: mynginx         # POD名称
  namespace: string     # 所属的命名空间
spec:                   # specification of the resource content(资源内容的规范)
  containers:           # 容器列表
    - name: mynginx     # 容器名称
      image: nginx      # 容器镜像
 
    - name: mytomcat
      image: tomcat                                                

运行容器

[root@master ~]# kubectl apply -f pod.yaml 
pod/mynginx created
[root@master ~]# kubectl get pod -n string
NAME      READY   STATUS              RESTARTS   AGE
mynginx   0/2     ContainerCreating   0          23s
[root@master ~]# kubectl get pod -n string -o wide
NAME      READY   STATUS              RESTARTS   AGE   IP       NODE     NOMINATED NODE   READINESS GATES
mynginx   0/2     ContainerCreating   0          33s   <none>   node01   <none>           <none>
[root@master ~]# kubectl get pod mynginx -n string -o wide
NAME      READY   STATUS    RESTARTS   AGE     IP                NODE     NOMINATED NODE   READINESS GATES
mynginx   2/2     Running   0          7m40s   192.168.196.139   node01   <none>           <none>

进入容器查看

[root@master ~]# kubectl exec -it mynginx -n string -- /bin/bash
Defaulting container name to mynginx.
Use 'kubectl describe pod/mynginx -n string' to see all of the containers in this pod.


root@mynginx:/# curl 127.0.0.1
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>
root@mynginx:/# curl 127.0.0.1:8080
<!doctype html><html lang="en"><head><title>HTTP Status 404 – Not Found</title><style type="text/css">body {font-family:Tahoma,Arial,sans-serif;} h1, h2, h3, b {color:white;background-color:#525D76;} h1 {font-size:22px;} h2 {font-size:16px;} h3 {font-size:14px;} p {font-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 404 – Not Found</h1><hr class="line" /><p><b>Type</b> Status Report</p><p><b>Description</b> The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.</p><hr class="line" /><h3>Apache Tomcat/10.0.14</h3></body></html>root@mynginx:/# 

!!注意在一个pod里不能有多个应用都用同一个端口

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

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

相关文章

案例分享|方形锂电池铝壳外观缺陷检测

SNE Research最新披露的数据显示&#xff0c;2022年1-11月&#xff0c;宁德时代、比亚迪和中航锂电三家中国企业合计占全球动力电池市场份额的54.7%&#xff0c;排名前十的动力电池企业中&#xff0c;中国企业占据6席&#xff0c;合计市场份额达到64.5%。随着动力电池企业的强势…

数据库管理-第五十二期 有感~而发(20230113)

数据库管理 2023-01-13第五十二期 有感~而发1 AHF2 系统3 文档总结第五十二期 有感~而发 再过一周就过年了&#xff0c;感觉时间过得好快&#xff0c;但是又好忙&#xff0c;总在协助处理紧急时间和异常&#xff0c;忙的停不下来。 1 AHF 最近对X9M那台一体机&#xff0c;主…

力扣16.最接近的三数之和

力扣16.最接近的三数之和 题目描述 给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数&#xff0c;使它们的和与 target 最接近。 返回这三个数的和。 假定每组输入只存在恰好一个解。 示例 1&#xff1a; 输入&#xff1a;nums [-1,…

(1)python pyinstaller打包exe添加版本信息(2)python获取exe版本信息(3)pyqt5开发exe添加检查版本更新功能

笔者总结不容易点个关注吧 一键三联哦! 感谢您! python pyinstaller打包exe添加版本信息 打包并添加版本信息 注意!这里有个坑 如果第二次要修改版权信息 要将file_version_info.txt改为新的名称才生效 pyinstaller --version-file file_version_info.txt -D -w …

【bug】【vxe-table】设置固定列,表头后端返,样式错乱已解决

bug产生的原因以及解决的方法都很简单 但是要复现bug&#xff0c;就得把前因都铺垫清楚才行 一、前因 项目用的是vxe-table&#xff0c;并且封装成了组件&#xff0c;方便大量调用 并且column是后端动态返的&#xff0c;只需要绑定指定id给后端就行&#xff0c;大概就是这样&a…

npm ERR! Unexpected token ‘.‘ 报错解决办法

报错截图如下&#xff1a; 每次使用 nvm 将 node 切换到高版本后&#xff0c;运行 npm 相关的命令就报这个错&#xff0c;网上搜寻一番后&#xff0c;现将解决办法进行记录。 解决办法&#xff1a; 1、通过 nvm uninstall [version] 命令将已经安装的 node 版本依次删除。 [v…

CHAPTER 7 *使用Dockerfile创建镜像

dockerfile7.1 基本结构7.2 指令说明7.2.1 ARG7.2.2 FROM7.2.3 LABEL7.2.4 EXPOSE7.2.5 ENV7.2.6 ENTRYPOINT7.2.7 VOLUME7.2.8 USER7.2.9 WORKDIR7.2.10 ONBUILD7.2.11 STOPSIGNAL7.2.11 HEALTHCHECK7.2.12 SHELL7.2.13 RUN7.2.14 CMD7.2.15 ADD7.2.16 COPY7.3 创建镜像7.3.1 …

版本控制 | 设计师和美术人员的理想版本控制软件是?

版本控制对于开发人员来说是必不可少的工具。但今天&#xff0c;开发已经不仅仅包括代码。让美术人员和设计师使用版本控制能够集中协作&#xff0c;并保护宝贵的数字资产。 本篇文章将分析为什么版本控制对设计师也如此重要&#xff0c;并且回答一个重要的问题——对于设计师…

HTML实现闪电打字效果

演示 完整HTML <!doctype html> <html> <head> <meta charset"utf-8"> <title>H5 Canvas雷电打出文字特效</title><style> .page-thunder-to-text {position: relative;overflow: hidden; } .page-thunder-to-text canv…

每日坚果“鼻祖”,沃隆再闯IPO

成于坚果&#xff0c;困于坚果&#xff1f;“坚果大队长”沃隆再次闯关IPO。“每日坚果鼻祖”青岛沃隆食品股份有限公司&#xff08;下称“沃隆”&#xff09;于1月6日更新招股书&#xff0c;拟登陆上交所主板。沃隆是一家以坚果相关产品为核心的休闲食品生产商&#xff0c;主要…

SAP PP 生产版本主数据维护

PP生产版本主数据 生产版本&#xff08;Production Version&#xff09;主数据是执行生产业务过程中最主要的基础数据之一&#xff0c;包含了产品的数量结构信息&#xff0c;同时也包含了产品的工艺路线&#xff0c;工作中心等信息。生产版本主记录里包含了产品代码、工艺路线、…

三,Spring AOP

Spring AOP 1 代理设计模式 1.1 解决的问题 Service层中除了核心代码&#xff08;调用dao逻辑判断&#xff09;外&#xff0c;还有事务控制这种额外的增强功能。现在我们将核心业务代码和事务控制增强编码在一起直接定义在service层&#xff0c;日后还可能会新增其它的额外功…

docker安装与基本介绍使用

Docker 一、初识Docker 1、安装Docker # 1.yum包更新到最新 yum update # 2.安装需要的软件包&#xff0c;yum-util提供的yum-config-manager&#xff0c;例外两个是devicemapper驱动依赖的 yum install -y yum-utils device-mapper-persistent-data lvm2 # 3.设置yum源 yum…

hololens2开发环境配置,游戏引擎的全流程安装部署

要进行hololens 2的项目开发&#xff0c;进行基础环境搭建和软件安装部署的记录。 软件安装 UE ue2.6x(安装hololens平台)openxr插件&#xff0c;ux插件&#xff08;可选&#xff09; unity3d unity3d 2020&#xff08;unity3d 2021在打包时&#xff0c;在universal windo…

预测2023:智算中心将人工智能产业推上发展的“拐点”?

文|智能相对论作者|沈浪回顾过去的2022年&#xff0c;人工智能产业继续在巨变中迎来突破性成长。一方面&#xff0c;人工智能产业相关的应用越来越丰富、创新&#xff0c;比如元宇宙的出现和走红&#xff0c;为市场创造的一个全新的业态&#xff0c;也为用户带来了诸多新奇的体…

RabbitMQ 部署及配置详解

一、RabbitMQ 核心概念1. 生产者和消费者Producer: 消息的生产者,用于发布消息&#xff1b;Consumer: 消息的消费者&#xff0c;用于从队列中获取消息.消费者只需关注队列即可&#xff0c;不需要关注交换机和路由键。消费者可以通过basicConsume(订阅模式可以从队列中一直持续的…

【PCB专题】案例:PCB设计失误导致无法正常贴片

案例情况说明 本案例是新人画PCB的时候遇到的,但是遇到的时间已经比较晚了,在生产的时候报的异常。一部分原因也是前期我没有审查出来这个问题。 要生产的时候,工厂报了异常。新人转给我看的时候,我才发现PCB上是没有设计MARK点。这将导致SMT时没有Mark点对位,需要看看有没…

一篇搞定JS的位运算(公式+力扣真题)--- 持续更新

摘要 位操作&#xff08;Bit Manipulation&#xff09;是程序设计中对位模式或二进制数的一元和二元操作。在许多古老的微处理器上&#xff0c;位运算比加减运算略快&#xff0c;通常位运算比乘除法运算要快很多。在现代编程语言中&#xff0c;情况并非如此&#xff0c;很多编程…

Java项目:酒店管理系统(java+SSM+jsp+mysql+maven)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 主要技术:java springmvc mybatis mysql tomcat js jauery jsp log4j等一些常见基本技术适用于Java毕设和学习使用 主要实现&#xff1a; 前台&#xff1a;登录、注册、酒店信息浏览、搜索酒店信息、查看房…

游戏开发 帧同步

帧同步技术是一个古老的技术&#xff0c;没有特别固定的招式&#xff0c;优化方向也是根据实际情况各有不同&#xff0c;但是其核心思想都是一样的。1.为什么需要帧同步技术帧同步主要是为了保证某些类型的游戏在同步时&#xff0c;可以保证很好的游戏体验。游戏类型通常包括&a…