k8s v1.23.17 演示ingress, svc, deployment nginx 示例
时间: 2023-10-07 20:04:01 浏览: 85
sample-nginx-k8s
好的,我可以为您提供一个简单的示例来演示如何使用 Kubernetes 中的 Ingress、Service 和 Deployment 部署 Nginx Web 服务器。
首先,您需要创建一个 Deployment,用来部署 Nginx Web 服务器:
```
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:1.20.1
ports:
- containerPort: 80
```
接下来,您需要创建一个 Service,用来暴露 Nginx Web 服务器的端口:
```
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx
ports:
- name: http
port: 80
targetPort: 80
type: ClusterIP
```
现在,您可以使用 Ingress 来暴露 Nginx Web 服务器的端口,使其可以通过公共 IP 地址访问:
```
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: nginx-ingress
spec:
rules:
- host: example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: nginx-service
port:
name: http
```
在上面的示例中,使用了 host 属性来指定要使用的域名,使用 path 属性来指定要使用的路径。您可以根据需要添加多个规则来支持不同的域名和路径。
最后,您可以使用 kubectl 命令来将上述 YAML 文件部署到 Kubernetes 集群中:
```
kubectl apply -f nginx-deployment.yaml
kubectl apply -f nginx-service.yaml
kubectl apply -f nginx-ingress.yaml
```
现在,您可以在浏览器中输入您指定的域名和路径来访问 Nginx Web 服务器了。
阅读全文