创建容器
在 K8s 中,容器是构建和运行应用程序的基本单元。容器是一种轻量级的、独立的、可执行的软件包,包含运行应用程序所需的一切:代码、运行时、系统工具、系统库和设置。容器通过容器运行时(如 Docker、containerd、CRI-O 等)来创建和管理。
使用 Pod 部署容器
在 K8s 中,容器是通过 Pod 来管理和运行的。Pod 是 K8s 中最小的可部署单元,可以包含一个或多个容器。Pod 中的所有容器共享相同的网络命名空间和存储卷。
如果在容器中使用 GPU 资源,请参考 GPU 资源。
示例
apiVersion: v1
kind: Pod
metadata:
name: your-pod-name
namespace: your-namespace
spec:
imagePullSecrets:
- name: ydyd-harbor-secret
containers:
- name: your-container-name
image: your-image
imagePullPolicy: IfNotPresent
volumeMounts:
- mountPath: /mnt/test
name: your-volume-name
command: ['/bin/bash', '-c', 'while true; do sleep 30; done']
volumes:
- name: your-volume-name
persistentVolumeClaim:
claimName: your-pvc-name使用 Deployment 管理 Pod
在 K8s 中,Deployment 是一种用于管理无状态应用的高级资源对象。Deployment 提供了一种声明式的方式来定义应用的期望状态,并确保集群中的实际状态与期望状态保持一致。通过 Deployment,你可以轻松地进行应用的部署、扩展、更新和回滚。在实际应用中,通常使用 Deployment 来管理 Pod。
示例
apiVersion: apps/v1
kind: Deployment
metadata:
name: your-deploy-name
namespace: your-namespace
spec:
replicas: 1
selector:
matchLabels:
app: wedding-ai-api
template:
metadata:
labels:
app: wedding-ai-api
spec:
imagePullSecrets:
- name: ydyd-harbor-secret
containers:
- name: your-container-name
image: your-image
imagePullPolicy: IfNotPresent
volumeMounts:
- mountPath: /mnt/test
name: your-volume-name
command: ['/bin/bash', '-c', 'while true; do sleep 30; done']
volumes:
- name: your-volume-name
persistentVolumeClaim:
claimName: your-pvc-name最后更新于
这篇文档对你有帮助吗?
