K8s集群:Pod ¶
一、k8s - Pod 介绍 ¶
创建第一个 Pod 资源
Pod 可以理解为一组容器,是 K8s 最小的调度单位。首先我们创建第一个 Pod 资源来运行我们的项目。
# cat datarc-test-pod.yaml
apiVersion: v1
kind: Namespace
metadata:
name: datarc
---
apiVersion: v1
kind: Pod
metadata:
namespace: datarc
name: datarc-test-pod
labels:
app: nginx
spec:
containers:
- name: app1
image: nginx:1.13
ports:
- containerPort: 80
# 创建
kubectl apply -f datarc-test-pod.yaml
Kubernetes 提供了多种资源对象,用户可以根据自己应用的特性加以选择。这些对象有:
类别 | 名称 |
---|---|
资源对象 | Pod、ReplicaSet、ReplicationController、Deployment、StatefulSet、DaemonSet、Job、CronJob、HorizontalPodAutoscaler |
配置对象 | Node、Namespace、Service、Secret、ConfigMap、Ingress、Label、CustomResourceDefinition、 ServiceAccount |
存储对象 | Volume、Persistent Volume |
策略对象 | SecurityContext、ResourceQuota、LimitRange |
在 Kubernetes 系统中,Kubernetes 对象 是持久化的条目。Kubernetes 使用这些条目去表示整个集群的状态。特别地,它们描述了如下信息:
- 什么容器化应用在运行(以及在哪个 Node 上)
- 可以被应用使用的资源
- 关于应用如何表现的策略,比如重启策略、升级策略,以及容错策略
Kubernetes 对象是 “目标性记录” —— 一旦创建对象,Kubernetes 系统将持续工作以确保对象存在。通过创建对象,可以有效地告知 Kubernetes 系统,所需要的集群工作负载看起来是什么样子的,这就是 Kubernetes 集群的 期望状态 。