K8S 集群核心概念 pod_Pod 介绍及创建 | 学习笔记

简介: 快速学习 K8S 集群核心概念 pod_Pod 介绍及创建

开发者学堂课程【Kubernetes 极速入门:K8S 集群核心概念 pod_Pod 介绍及创建】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/658/detail/10910


K8S 集群核心概念 pod_Pod 介绍及创建


内容介绍:

一、场景

二、学习目标

三、学习步骤

四、课程内容

 

一、场景

通过前面课程学习,已经掌握了 k8s 集群中 NameSpace 操作,那么如果想在 k8s 集群中运行应用程序,应该使用什么资源对象呢

?由于 k8s 集群中是不能直接运行容器的, k8s 集群中最小调度单元为 Pod,因此要使用 Pod 来运行应用程序。

 

二、学习目标

1.了解 Pod 概念

2.了解查看 Pod 方法

3.了解创建 Pod 方法

4.了解 Pod 访问方法

5.了解删除 Pod 方法

 

三、学习步骤

1.Pod 介绍

2.查看 Pod

3.创建 Pod

4.Pod 访问

5.删除 Pod

 

四、课程内容

1.Pod 介绍

举个例子,拿豌豆荚与豌豆粒来说,在 k8s 集群来说,能够调度的最小管理单元是豌豆荚,即为 Pod,豌豆荚中的豌豆粒就相当于容器。

●Pod 是 kubernetes 集群能够调度的最小单元

●Pod 是容器的封装

2.查看 Pod

命令及输出

查看 defau1t 命名空间中的Pod(默认是 default 中的 pod)

[root@master1 ~]# kubectl get pod

NO resources found.

[root@master1 ~]# kubect1 get pods

NO resources found.

[root@master1 ~]# kubect1 get pods --namespace defau1t(指定查看)

NO resources found.

[root@master1 ~]# kubect1 get pod --namespace default

NO resources found.

实际操作:

[ root@master1 yamldir]#kubectl get pod

No resources found in"default namespace.

You have new mail in ivar / spool/mail/ root

[ root@master1 yamldir]# kubectl get pod

No resources found in default namespace.

[ root@master1 yamldir]#kubectl get pods

No resources found in default namespace.

如果指定命令空间,先查看一下命名空间

[ root@master1 yamldir]#kubectl get namespace

NAME              STATUS           AGE

Default             Active            16h

kube-node -lease     Active            16h

kube - public        Active             16h

kube-system        Active             16h

[root@master1 yamldir]# kubectl get pods --namespace default

No resources found in default namespace.

如果想要节省时间,可以简化 namespace 为 n

[ root@master1 yamldir]#kubectl get pods -n default

No resources found in default namespace.

可以通过 kube-system 这个命令空间去看哪些命令空间中有相应的 pod

[ root@master1 yamldir]# kubectl get pod -n kube-system

3.创建 Pod

由于网络原因,建议提前准备好容器镜像。本次使用 nginx:latest 容器镜像。

主要在 worker1 和 worker2之中下载即可,master1默认情况下是不允许把用户作运行 pod 调动过来的,所以 master1不用运行。

具体操作:

[ root@worker1 ~]#docker pull nginx : latest

latest: Pulling from library /nginx

bc51dd8edc1b: Downloading 277.6kB/27.09MB

66ba67045f57 : Downloading244.9kB/23.88MB

bf317aal0aa5 : Download complete

编写用于创建 Pod 资源清单文件(示例文件 cat 02-create-pod.yaml)

[root@master1 yamldir]# cat 02-create-pod.yaml

apiversion: v1(表示访问集群使用的API)

kind: Pod(类型)

metadata:

name: pod1(pod的名字)

spec:(对pod的期望)

containers:(容器列表)

- name : ngninx-pod(容器的名字)

image: nginx : latest

ports:

- name: nginxport(容器端口的名字)

containerPort: 80(容器所对应的端口)

对编写用于创建Pod资源清单文件的具体演示:

[ root@master1 yamldir]#ls

01-create-ns.yaml

[ root@masteri yamldir]# pwd

/ root/yamldir

[ root@master1 yamldir]# vim o2-create-pod . yaml

apiversion : v1

kind: Pod

metadata:

name : pod1

spec :

containers :

- name: nginx-container

image: nginx :latest

imagePuliPolicy: IfNotPresent

ports :

- name : nginxport

containerPort : 80

4.应用用于创建 Pod 资源清单文件

命令

[rootemaster1 yam1dir]# kubect1 app1y -f 02-create-pod .yam1

输出

pod/pod1 created

具体操作:

[ root@master1 yamldir]# kubectl apply -f 02-create-pod .yaml

pod/ pod1 created

5.验证 Pod 是否被创建

命令

查看已创建 pod

[rootemaster1 yam1dir]# kubect1 get pods

输出

NAME   READY   STATUS    RESTARTS    AGE

pod1     1/1     Running       0        88s

命令

通过指定默认命名空间查看已创建 pod

[root@master1 yam1dir]# kubect1 get pods -n default

输出

NAME    READY    STATUS    RESTARTS    AGE

pod1      1/1     Running       0       2m43s

具体操作:

[ root@master1 yamldir]#kubectl get pods

NAME   READY   STATUS    RESTARTS   AGE

pod1      1/1    Running      0        31s

命令

查看 pod 更加详细信息

[rootemaster1 yam1dir]# kubect1 get pods -o wide

输出 

NAME   READY   STATUS   RESTARTS    AGE        IP         NODE

NOMINATED NODE   READINESS GAT

pod1     1/1     Running    0         9m5s   172.16,1.2     node2

<none>                 <none>

查看 Pod 在哪个主机之中被创建

[ root@master1 yamldir]#  kubectl  get  pods -o  wide(查看更加广泛的信息)

NAME  READY  STATUS  RESTARTS  AGE IP NODE  NOMINATED  NODE READINESS GATES

Pod    11/1   Running   0        94s   172.16 . 189.65     worker2  <none>  <none>

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务&nbsp;ACK 容器服务&nbsp;Kubernetes&nbsp;版(简称&nbsp;ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情:&nbsp;https://www.aliyun.com/product/kubernetes
相关文章
|
1天前
|
存储 Kubernetes API
Kubernetes学习-核心概念篇(三) 核心概念和专业术语
Kubernetes学习-核心概念篇(三) 核心概念和专业术语
Kubernetes学习-核心概念篇(三) 核心概念和专业术语
|
1天前
|
Kubernetes API 调度
Kubernetes学习-核心概念篇(二) 集群架构与组件
Kubernetes学习-核心概念篇(二) 集群架构与组件
|
1天前
|
Kubernetes 调度 虚拟化
Kubernetes学习-核心概念篇(一) 初识Kubernetes
Kubernetes学习-核心概念篇(一) 初识Kubernetes
|
3天前
|
存储 运维 监控
Kubernetes 集群的持续监控与性能优化策略
【5月更文挑战第11天】在微服务架构日益普及的当下,Kubernetes 已成为容器编排的事实标准。随着其在不同规模企业的广泛采用,如何确保 Kubernetes 集群的高效稳定运行变得至关重要。本文将探讨一套系统的 Kubernetes 集群监控方法,并结合实践经验分享针对性能瓶颈的优化策略。通过实时监控、日志分析与定期审计的结合,旨在帮助运维人员快速定位问题并提出解决方案,从而提升系统的整体表现。
|
5天前
|
Kubernetes Java API
Kubernetes详解(三)——Kubernetes集群组件
Kubernetes详解(三)——Kubernetes集群组件
15 1
|
10天前
|
运维 监控 Kubernetes
Kubernetes 集群的监控与维护策略
【5月更文挑战第4天】 在当今微服务架构盛行的时代,容器化技术已成为软件开发和部署的标准实践。Kubernetes 作为一个开源的容器编排平台,因其强大的功能和灵活性而广受欢迎。然而,随着 Kubernetes 集群规模的扩大,集群的监控和维护变得日益复杂。本文将探讨 Kubernetes 集群监控的重要性,分析常见的监控工具,并提出一套有效的集群维护策略,以帮助运维人员确保集群的健康运行和高可用性。
40 10
|
11天前
|
存储 运维 监控
Kubernetes 集群的持续监控与优化策略
【5月更文挑战第3天】在微服务架构和容器化部署日益普及的背景下,Kubernetes 已成为众多企业的首选容器编排平台。然而,随着集群规模的增长和业务复杂度的提升,有效的集群监控和性能优化成为确保系统稳定性和提升资源利用率的关键。本文将深入探讨针对 Kubernetes 集群的监控工具选择、监控指标的重要性解读以及基于数据驱动的性能优化实践,为运维人员提供一套系统的持续监控与优化策略。
|
14天前
|
运维 Kubernetes 监控
Kubernetes 集群的监控与维护策略
【4月更文挑战第30天】 在现代云计算环境中,容器化技术已成为应用程序部署和管理的重要手段。其中,Kubernetes 作为一个开源的容器编排平台,以其强大的功能和灵活性受到广泛欢迎。然而,随之而来的是对 Kubernetes 集群监控和维护的复杂性增加。本文将探讨针对 Kubernetes 集群的监控策略和维护技巧,旨在帮助运维人员确保集群的稳定性和高效性。通过分析常见的性能瓶颈、故障诊断方法以及自动化维护工具的应用,我们将提供一套实用的解决方案,以优化 Kubernetes 环境的性能和可靠性。
|
14天前
|
运维 Kubernetes 监控
Kubernetes集群的持续性能优化策略
【4月更文挑战第30天】 在动态且不断扩展的云计算环境中,保持应用性能的稳定性是一个持续的挑战。本文将探讨针对Kubernetes集群的持续性能优化策略,旨在为运维工程师提供一套系统化的性能调优框架。通过分析集群监控数据,我们将讨论如何诊断常见问题、实施有效的资源管理和调度策略,以及采用自动化工具来简化这一过程。
KUBERNETES02_集群安装逻辑、前置环境、搭建一主两从、部署dashboard访问页面(五)
KUBERNETES02_集群安装逻辑、前置环境、搭建一主两从、部署dashboard访问页面(五)
131 0
KUBERNETES02_集群安装逻辑、前置环境、搭建一主两从、部署dashboard访问页面(五)