Kubernetes Ingress 配置:为 Pods 中的 Nginx 服务设置 Ingress
要在 Kubernetes 中为 Pod 中的 Nginx 服务配置一个 Ingress,需要按照以下步骤进行设置:\n\n1. 首先,确保已经安装了 Ingress Controller,例如 Nginx Ingress Controller。可以通过以下命令安装 Nginx Ingress Controller:\n\n\nkubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.0/deploy/static/provider/cloud/deploy.yaml\n\n\n2. 创建一个 Nginx 服务的 Deployment 和 Service。可以使用以下示例 yaml 文件创建一个 Deployment 和 Service:\n\nnginx-deployment.yaml:\n\nyaml\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n name: nginx-deployment\nspec:\n replicas: 1\n selector:\n matchLabels:\n app: nginx\n template:\n metadata:\n labels:\n app: nginx\n spec:\n containers:\n - name: nginx\n image: nginx:latest\n ports:\n - containerPort: 80\n---\napiVersion: v1\nkind: Service\nmetadata:\n name: nginx-service\nspec:\n selector:\n app: nginx\n ports:\n - protocol: TCP\n port: 80\n targetPort: 80\n\n\n使用以下命令创建 Deployment 和 Service:\n\n\nkubectl apply -f nginx-deployment.yaml\n\n\n3. 创建 Ingress 资源。创建一个 Ingress 资源来定义如何将外部流量路由到 Nginx 服务。以下是一个示例 Ingress 资源:\n\nnginx-ingress.yaml:\n\nyaml\napiVersion: networking.k8s.io/v1\nkind: Ingress\nmetadata:\n name: nginx-ingress\nspec:\n rules:\n - host: example.com\n http:\n paths:\n - path: /\n pathType: Prefix\n backend:\n service:\n name: nginx-service\n port:\n number: 80\n\n\n将host字段设置为您想要将流量路由到的域名。使用以下命令创建 Ingress 资源:\n\n\nkubectl apply -f nginx-ingress.yaml\n\n\n4. 配置域名解析。根据您设置的 Ingress 资源中的域名,将域名解析到 Ingress Controller 的外部 IP 地址。\n\n完成上述步骤后,Ingress Controller 将根据 Ingress 资源的规则将流量路由到 Nginx 服务。在此示例中,所有来自example.com的流量将被路由到 Nginx 服务中的根路径(/)。
原文地址: https://www.cveoy.top/t/topic/oqBV 著作权归作者所有。请勿转载和采集!