作者: LemonNan

原文地址: https://juejin.im/post/6862733649272537102

简单介绍

Pod 在 kubernetes 中是一个非常重要的基本概念, 别名容器组, 它是 Kubernetes 调度的最小单位.

每个Pod 都有一个被称为 "根容器" 的 Pause 容器, Pause 容器对应的镜像属于 Kubernetes 平台的一部分, 除了这个 Pause 容器, Pod 中还有一个或者或多个用户的业务容器.一般是一个 Pod 只包含一个业务 container, 除非是一些比较紧密联系的应用才会将多个容器(container) 放到一个 Pod 里面.

Pod 是一个逻辑概念, 使用 Pod 有以下好处:

  • Pod 整体状态: Pause 容器的状态作为整体的 Pod 的状态, Pause 容器跟业务无关并且不易死亡
  • 共享特性: Pod 里的多个业务容器共享 Pause 容器的IP, 共享 Pause 容器挂接的 Volume, 这样既解决了容器间通信问题, 也解决了文件共享问题.

操作流程

尝试运行一个 Kubernetes 环境下的一个 nginx.

nginx.yaml

首先创建一个简单的测试的 yaml 文件, nginx.yaml

apiVersion: v1
kind: Pod # 创建的是Pod类型
metadata: # 元数据, 一些基础信息
name: nginx-test # 名称
labels:
name: nginx # 标签
spec:
containers:
- name: nginx # 容器名称
image: nginx:latest # 使用的镜像
ports:
- containerPort: 80 # 容器监听的端口号

实操

创建 Pod

接下来就是根据 yaml 文件创建Pod.

# 执行
kubectl create -f ./nginx.yaml
# 结果输出
pod/nginx-test created

获取IP

接下来查看刚创建的 Pod 信息, 获取 Pod 的 IP 地址 172.17.0.7

# 查看pod信息
kubectl get pods -o wide
# 获取IP: 172.17.0.7
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
nginx-test 1/1 Running 0 53s 172.17.0.7 minikube <none> <none>

进入到 minikube

# minikube 默认用户名:docker 密码:tcuser , 我的地址是 192.168.99.100
ssh docker@192.168.99.100

访问 Pod

# 访问 pod 的 ip
curl 172.17.0.7

下面是结果图

最后

本文是 Kubernetes 系列的第一篇, 简单的介绍了 Kubernetes 中最基础的一个概念 Pod 及 Pod 的一个简单实用, 下一篇将介绍在 Kubernetes 下如何使用跟 Pod 密切关联的 Service.

Kubernetes系列(一)Pod的更多相关文章

  1. kubernetes系列07—Pod控制器详解

    本文收录在容器技术学习系列文章总目录 1.Pod控制器 1.1 介绍 Pod控制器是用于实现管理pod的中间层,确保pod资源符合预期的状态,pod的资源出现故障时,会尝试 进行重启,当根据重启策略无 ...

  2. Kubernetes系列(五) Ingress

    作者: LemonNan 原文地址: https://juejin.im/post/6878269825639317517 Kubernetes 系列 Kubernetes系列(一) Pod Kube ...

  3. Kubernetes系列(四) StatefulSet

    作者: LemonNan 原文地址: https://juejin.im/post/6870071267438329869 Kubernetes系列(四) StatefulSet Kubernetes ...

  4. Kubernetes系列(三) Deployment

    作者: LemonNan 原文地址: https://juejin.im/post/6865672466939150349/ Kubernetes 系列 Kubernetes系列(一) Pod Kub ...

  5. Kubernetes系列之Helm介绍篇

    本次系列使用的所需部署包版本都使用的目前最新的或最新稳定版,安装包地址请到公众号内回复[K8s实战]获取 介绍 Helm 是 Deis 开发的一个用于 Kubernetes 应用的包管理工具,主要用来 ...

  6. kubernetes系列之ConfigMap使用方式

    作用理解 核心用途就是容器和配置的分离解耦. 如启用一个mysql容器,mysql容器重要的文件有两部分,一部分为存储数据文件,一部分为配置文件my.cnf,存储数据可以用持久存储实现和容器的分离解耦 ...

  7. Kubernetes系列之理解K8s Service的几种模式

    今天给大家介绍下k8s的service的几种访问模式. 概述 我们知道pod的ip不是固定的,是根据所在宿主机的docker0网卡生成的,每次重启,更新,调度等情况IP都会变,那pod与pod之间需要 ...

  8. kubernetes系列03—kubeadm安装部署K8S集群

    本文收录在容器技术学习系列文章总目录 1.kubernetes安装介绍 1.1 K8S架构图 1.2 K8S搭建安装示意图 1.3 安装kubernetes方法 1.3.1 方法1:使用kubeadm ...

  9. Kubernetes对象之Pod

    系列目录 Pod是Kubernetes调度的最小单元.一个Pod可以包含一个或多个容器,因此它可以被看作是内部容器的逻辑宿主机.Pod的设计理念是为了支持多个容器在一个Pod中共享网络和文件系统 因此 ...

随机推荐

  1. Bootstrap提供的CDN服务标签与下载文档

    目录 1.引入Bootstrap提供的CDN服务 1.选择下载Bootstrap CDN 二:下载Bootstrap官方文档 1.进入Bootstrap官网,选择3版本中文档. 1.引入Bootstr ...

  2. 聚类算法在 D2C 布局中的应用

    1.摘要 聚类是统计数据分析的一门技术,在许多领域受到广泛的应用,包括机器学习.数据挖掘.图像分析等等.聚类就是把相似的对象分成不同的组别或者更多的子集,从而让每个子集的成员对象都有相似的一些属性. ...

  3. Solution -「SDOI 2018」「洛谷 P4606」战略游戏

    \(\mathcal{Description}\)   Link.   给定一个 \(n\) 个点 \(m\) 条边的无向连通图,\(q\) 次询问,每次给出一个点集 \(s\),求至少在原图中删去多 ...

  4. vue实例中的watch属性

    watch 就是监听,当数据发生改变的时候就执行 data:{ num1:1, num2:2 }, watch:{ num1(newValue){ }, num2(newValue,oldValue) ...

  5. for循环,stream,parallelStream的性能区别

    for循环 for循环的性能随着数据量的增加性能也越来越差. 普通的循环不涉及较大的数据量,使用for循环更好. stream(串行流) stream在数据量小的情况下性能差,在数据量中.大的时候性能 ...

  6. [LeetCode]1295. 统计位数为偶数的数字

    给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数. 示例 1: 输入:nums = [12,345,2,6,7896] 输出:2 解释: 12 是 2 位数字(位数为偶数)  345 ...

  7. Linux下使用Shell处理文本时最常用的工具

    find 文件查找 查找txt和pdf文件 find . \( -name "*.txt" -o -name "*.pdf" \) -print 正则方式查找. ...

  8. 『无为则无心』Python面向对象 — 56、Python多态

    目录 1.Python中的多态 (1)多态的定义 (2)多态的好处 (3)多态实现步骤 2.体验多态 1.Python中的多态 (1)多态的定义 多态是一种使用对象的方式,子类重写父类方法,不同的子类 ...

  9. 提名者周训,misc消失的文件

    下载附件是一个没有后缀的文件,一般这种东西,根据我这个菜狗的经验,直接就是丢进kali的binwalk一顿操作,最后果不其然,是发现了东西的 这里面可以看到一个小细节,就是在binwalk进行分离的时 ...

  10. Java基础——选择语句

    Java基础--选择语句     1. if语句 规律: 1. 首先计算表达式的值. 2. 若表达式为真,则执行对应语句,为假则不执行.   第一种: if(表达式) 语句;//多个语句可用{} 例如 ...