使用yaml创建deploy和service,能够从clusterip和nodeip访问到nginx服务
时间: 2024-03-14 21:42:53 浏览: 16
好的,以下是一个使用 YAML 创建 Deployment 和 Service 的示例,可以从 ClusterIP 和 NodeIP 访问 Nginx 服务:
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
selector:
matchLabels:
app: nginx
replicas: 3
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx
ports:
- name: http
port: 80
targetPort: 80
type: ClusterIP
---
apiVersion: v1
kind: Service
metadata:
name: nginx-service-nodeport
spec:
selector:
app: nginx
ports:
- name: http
port: 80
targetPort: 80
type: NodePort
```
这个 YAML 文件包含三个部分:
1. Deployment 部分定义了一个名为 nginx-deployment 的 Deployment,包含 3 个 Pod,每个 Pod 中运行一个名为 nginx 的容器。
2. Service 部分定义了两个 Service。nginx-service 是一个 ClusterIP 类型的 Service,用于从 Kubernetes 集群内部访问 Nginx 服务。nginx-service-nodeport 是一个 NodePort 类型的 Service,用于从集群外部访问 Nginx 服务。
3. 两个 Service 都使用了相同的 selector,以便将它们连接到 nginx-deployment 中的 Pod。
你可以使用以下命令来创建这个 Deployment 和 Service:
```bash
kubectl apply -f nginx-deployment.yaml
```
希望这可以帮到你!