k8s 为pods中的nginx服务配置一个ingress怎么设置举例说明
要在Kubernetes中为Pod中的Nginx服务配置一个Ingress,需要按照以下步骤进行设置:
- 首先,确保已经安装了Ingress Controller,例如Nginx Ingress Controller。可以通过以下命令安装Nginx Ingress Controller:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.0/deploy/static/provider/cloud/deploy.yaml
- 创建一个Nginx服务的Deployment和Service。可以使用以下示例yaml文件创建一个Deployment和Service:
nginx-deployment.yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 1
selector:
matchLabels:
app: nginx
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:
- protocol: TCP
port: 80
targetPort: 80
使用以下命令创建Deployment和Service:
kubectl apply -f nginx-deployment.yaml
- 创建Ingress资源。创建一个Ingress资源来定义如何将外部流量路由到Nginx服务。以下是一个示例Ingress资源:
nginx-ingress.yaml:
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:
number: 80
将host字段设置为您想要将流量路由到的域名。使用以下命令创建Ingress资源:
kubectl apply -f nginx-ingress.yaml
- 配置域名解析。根据您设置的Ingress资源中的域名,将域名解析到Ingress Controller的外部IP地址。
完成上述步骤后,Ingress Controller将根据Ingress资源的规则将流量路由到Nginx服务。在此示例中,所有来自example.com的流量将被路由到Nginx服务中的根路径(/)
原文地址: http://www.cveoy.top/t/topic/i1WR 著作权归作者所有。请勿转载和采集!