构建
2024年09月12日
一、认识
在 Kubernetes
中,Pod
是最小的可部署单元,它可以包含一个或多个容器。这些容器共享相同的网络命名空间、存储卷和其他资源。构建 Pod
通常包括编写 YAML
文件来定义 Pod
的配置,然后通过 kubectl
命令将其部署到 Kubernetes
集群中。
二、操作
2.1 编写 Pod
编写 Pod YAML
文件: 在 Kubernetes
中,Pod
的定义使用 YAML
文件进行描述。编写的 pod-definition.yaml
文件如下:
apiVersion: v1
kind: Pod
metadata:
name: my-pod
labels:
app: my-app
spec:
containers:
- name: my-container
image: nginx:1.19.3
ports:
- containerPort: 80
-
apiVersion
:定义了Kubernetes
的API
版本。这里v1
表示稳定版本。 -
kind
:指定这是一个Pod
资源。 -
metadata
:定义Pod
的名称为my-pod
,并附加了一个app: my-app
的标签。 -
spec
:定义Pod
的详细信息。 -
containers
:定义了Pod
中运行的容器。 -
name
:容器的名称为my-container
。 -
image
:使用nginx
镜像,版本为1.19.3
。 -
ports
:声明容器的 80 端口对外暴露。
2.2 创建 Pod 应用
创建 Pod
: 使用 kubectl
命令将编写好的 YAML
文件应用到 Kubernetes
集群中,创建 Pod
。
kubectl apply -f pod-definition.yaml
2.3 查看 Pod 状态
查看 Pod
状态 创建 Pod
后,可以使用以下命令查看 Pod
的运行状态:
kubectl get pods
2.4 查看 Pod 日志
查看 Pod
日志 创建 Pod
后,可以使用以下命令查看 Pod
的运行状态:
kubectl logs [pod]
查看 Pod
的详细信息: 可以使用以下命令查看 Pod
的详细信息:
kubectl describe pod my-pod
2.5 删除 Pod 应用
删除 Pod
: 当不再需要 Pod
时,可以使用以下命令删除它
kubectl delete -f pod-definition.yaml
// 或者
kubectl delete pod my-pod
// 或者
kubectl delete pod my-pod --force
2.6 访问 Pod 容器
kubectl get pods // 获得 Pod Name
kubectl exec -it [Pod Name] -- sh/bash
printenv // 进入容器后,查看环境变量