k8s创建一个 deployment,名称为 web,副本数为 2;创建一个服务,类型为 nodeport,名称为 web,映射本机 80 端口和 443 端口分别到容器的 80 端口和 443 端口。
时间: 2024-03-18 13:42:08 浏览: 117
k8sApps:这是一个示例项目,用于测试使用k8s的两个应用程序的部署
可以使用以下 YAML 文件创建 Deployment 和 Service:
```yaml
# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: web
spec:
replicas: 2
selector:
matchLabels:
app: web
template:
metadata:
labels:
app: web
spec:
containers:
- name: web
image: nginx:latest
ports:
- containerPort: 80
- containerPort: 443
```
```yaml
# service.yaml
apiVersion: v1
kind: Service
metadata:
name: web
spec:
type: NodePort
selector:
app: web
ports:
- name: http
port: 80
targetPort: 80
nodePort: 30080
- name: https
port: 443
targetPort: 443
nodePort: 30443
```
其中,`deployment.yaml` 文件中定义了名为 `web` 的 Deployment,副本数为 2,使用 `nginx` 镜像,容器端口分别为 80 和 443。`service.yaml` 文件中定义了名为 `web` 的 Service,类型为 NodePort,将容器的 80 端口和 443 端口分别映射到本机的 30080 和 30443 端口。
使用以下命令创建 Deployment 和 Service:
```bash
kubectl apply -f deployment.yaml
kubectl apply -f service.yaml
```
现在在浏览器中访问 `http://localhost:80` 和 `https://localhost:443`,应该能看到 Nginx 的默认欢迎页面。
阅读全文