Pod是Kubernetes抽象出来表示一组应用容器(比如Docker、rkt),还有这些容器共享的资源。这些资源包括:

  • 共享存储,比如Volumes
  • 网络,比如独立的集群IP地址
  • 如何去运行每个容器的信息,比如容器镜像版本、要使用的端口

Pod塑造出一个应用专用的"逻辑主机",它能包含不同的应用容器(紧密耦合的)。举例来说:一个Pod可以包含Node.js应用和另外一个产生Node.js webserver需要数据的应用。Pod的容器共享IP地址和端口空间,可以互相协作和调用,它们在同一个Node的上的共享上下文。

Pod是Kubernetes平台上的原子单位。当我们在Kubernetes上创建一个Deployment时,它将创建附带容器的Pods。每个Pod与被调度的Node绑定直到被删除。万一Node故障了,一个新Pod会被调度到其它可用的Node上。

Nodes


 

Pod总是运行在Node之上。Node是Kubernetes中的一个工作机器,通常是一个虚拟机或者物理机。每个Node被Master管理。一个节点能有多个pod,同时Kubernetes master在集群之上自动调度pod。Master的自动调度考虑到每个Node上的可用资源。

每个Kubernetes Node至少运行:

  • Kubelet,一个负责Kubernetes Master和Node之间通讯的进程;它管理着运行在机器上Pods和Containers
  • 容器运行时(比如Docker,rkt),负责从registry拉取容器镜像,取出容器,运行应用。

kubectl排查故障


通过kubectl可以获取已部署应用的信息以及它们的环境。大多数常规操作可以通过以下kubectl命令来完成:

  • kubectl get - 列出resources
  • kubectl describe - 显示resource的详细信息
  • kubectl logs - 打印pod中container的日志
  • kubectl exec - 对pod的container执行一个命令

在应用部署之后,你可以通过这些命令去查看它们的状态、它们运行在哪里以及它们的配置。

注:参考https://kubernetes.io/docs/tutorials/kubernetes-basics/explore/explore-intro/翻译,部分内容有删减及修改。

作者:卡卡rot
链接:https://www.jianshu.com/p/c2cbe3b84813
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Pods与Nodes的更多相关文章

  1. k8s(3)-Pods和Nodes的概念

    Pod是什么? 在前面创建部署时,Kubernetes创建了一个Pod来托管您的应用程序实例.Pod是一个Kubernetes抽象,表示一组一个或多个应用程序容器(如Docker或rkt),以及这些容 ...

  2. kubernetes 实战5_命令_Assign Pods to Nodes&Configure a Pod to Use a ConfigMap

    Assign Pods to Nodes how to assign a Kubernetes Pod to a particular node in a Kubernetes cluster. Ad ...

  3. CentOS 7.6 使用kubeadm安装Kubernetes 13

    实验环境:VMware Fusion 11.0.2 操作系统:CentOS 7.6 主机名 IP地址 CPU 内存 k8s2m 172.16.183.151 2核 4G k8s2n 172.16.18 ...

  4. 《k8s-1.13版本源码分析》-调度器框架

    本文原始地址(gitbook格式):https://farmer-hutao.github.io/k8s-source-code-analysis/core/scheduler/scheduler-f ...

  5. Kubernetes — 从0到1:搭建一个完整的Kubernetes集群

    准备工作 首先,准备机器.最直接的办法,自然是到公有云上申请几个虚拟机.当然,如果条件允许的话,拿几台本地的物理服务器来组集群是最好不过了.这些机器只要满足如下几个条件即可: 满足安装 Docker ...

  6. kubernetes学习笔记之十:RBAC

    第一章.RBAC介绍 在Kubernetes中,授权有ABAC(基于属性的访问控制).RBAC(基于角色的访问控制).Webhook.Node.AlwaysDeny(一直拒绝)和AlwaysAllow ...

  7. Kubernetes中的亲和性与反亲和性

    通常情况下,Pod分配到哪些Node是不需要管理员操心的,这个过程会由scheduler自动实现.但有时,我们需要指定一些调度的限制,例如某些应用应该跑在具有SSD存储的节点上,有些应用应该跑在同一个 ...

  8. Kubernetes1.9 二进制版集群+ipvs+coredns

    节点构造如下 : 节点ip 节点角色 hostname 192.168.0.57 node bigdata3       192.168.0.56 node bigdata4       192.16 ...

  9. Kubernetes基础:查看状态、管理服务

    目标 了解Kubernetes Pod 了解Kubernetes Node 学习如何调试部署问题 了解如何通过Service暴露应用 Kubernetes Pods 在Kubernetes中创建一个D ...

  10. 在k8s中搭建可解析hostname的DNS服务

    2016-01-25更新 上篇文章总结k8s中搭建hbase时,遇到Pod中hostname的DNS解析问题,本篇将通过修改kube2sky源码来解决这个问题. 1 前言 kube2sky在Githu ...

随机推荐

  1. 关于Visual Studio使用头文件"stdafx.h"报错原因

    当我们需要使用"stdafx.h"该头文件时,Visual Studio会报错,提示我们无法打开源文件"stdafx.h",实际上在Visual Studio中 ...

  2. corundum:100GNIC学习(三)——恢复工程

    前文:(一)https://www.cnblogs.com/shroud404/p/15364812.html (二)https://www.cnblogs.com/shroud404/p/15412 ...

  3. 解决:webpack打包js项目ie11浏览器下报promise 未定义

    项目背景:webpack+js+seajs  引入文件用require或者define 1.下载依赖包 npm install  babel-polyfill 2.引入该依赖:webpack.conf ...

  4. RestTemplate 远程服务调用

    * 使用 Eureka 和 Nacos  为注册中心时也能使用这种方式调用 一.远程调用类 bean 配置注入 和 配置负载均衡 注意,必须在可配置类中注入 bean,例如 SpringBoot 启动 ...

  5. 2022-05-27内部群每日三题-清辉PMP

    1.一个组织正在开始一个大型的.首个这种类型的项目.项目经理与相关方召开会议,以识别存在的项目问题.项目经理应该使用什么工具和技术来改进会议的结果? A.头脑风暴.核对单和访谈 B.头脑风暴.因果图和 ...

  6. Java中Set里remove详解

    例如 1 HashSet set = new HashSet(); 2 Person p1 = new Person(1001,"AA"); 3 Person p2 = new P ...

  7. LESS-8

    根据题目,这是一道布尔型注入.页面只有返回正常和不正常两种. payload: ' and substr(database(),1,1)='s' --+  判断当前数据库名的第一个字母,是's'页面就 ...

  8. 不是用第三方插件,用JS 解析 excel 文件

    参考:https://juejin.cn/post/7154395040507232264 excel 表格文件到底是什么 首先要解析 excel 文件,得先了解他是如何存储数据的,经过我百般搜索,终 ...

  9. python web自动化-文件上传-亲身实践

    文件上传三种方式: (一)查看元素标签,如果是input,则可以参照文本框输入的形式进行文件上传 方法:和用户输入是一样的,使用send_keys 步骤:1.找到定位元素,2,输入文件路径 ele=d ...

  10. 【windows】 进程间通信 WM_COPYDATA消息

    WM_COPYDATA消息可以实现window应用程序之间的数据传输,是同步传输方式. 需要用到结构体 COPYDATASTRUCT typedef struct tagCOPYDATASTRUCT ...