使用kubernetv1.18 创建一个Deployment三副本的nginx并映射文件夹 创建pod完成后通过映射路径上传html 详细做法
时间: 2023-04-02 10:04:39 浏览: 62
您好,我可以回答这个问题。首先,您需要编写一个 YAML 文件来定义您的 Deployment。以下是一个示例 YAML 文件:
```
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
volumeMounts:
- name: html
mountPath: /usr/share/nginx/html
volumes:
- name: html
emptyDir: {}
```
在这个 YAML 文件中,我们定义了一个名为 `nginx-deployment` 的 Deployment,它将创建三个副本。我们还定义了一个名为 `html` 的卷,它将用于将 HTML 文件映射到容器中的 `/usr/share/nginx/html` 目录。
接下来,您可以使用 `kubectl apply` 命令来创建 Deployment:
```
kubectl apply -f deployment.yaml
```
一旦 Deployment 创建完成,您可以使用 `kubectl port-forward` 命令将本地端口映射到容器中的端口,然后使用 `curl` 命令上传 HTML 文件:
```
kubectl port-forward deployment/nginx-deployment 808:80
curl --upload-file index.html http://localhost:808/
```
这将上传名为 `index.html` 的文件到容器中的 `/usr/share/nginx/html` 目录。您可以通过访问 `http://localhost:808/` 来查看上传的文件。