本文作为操作指导,帮助运维的同学完成k8s中的应用,将8080端口自动重定向到443端口。

配置操作步骤

为了实现从8080端口到443端口的重定向,你需要修改Nginx Ingress Controller的配置并设置相应的Ingress资源。以下是完整的步骤:

  1. 修改Nginx Ingress Controller的部署:

首先,找到你的Nginx Ingress Controller的Deployment。它可能在ingress-nginx命名空间中:

kubectl get deployments -n ingress-nginx

接下来,编辑这个Deployment:

kubectl edit deployments <nginx-ingress-controller-deployment-name> -n ingress-nginx

在args部分添加--http-port=8080。这样,Nginx Ingress Controller将开始监听8080端口。

...
spec:
  template:
    spec:
      containers:
      - name: nginx-ingress-controller
        args:
        ...
        - --http-port=8080
        ...

保存并退出编辑器。这将自动触发Nginx Ingress Controller的重启。

  1. 创建或修改Ingress资源:

下面是一个Ingress资源的示例,它将8080端口的流量重定向到443端口:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: my-ingress
  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
spec:
  tls:
  - hosts:
    - your-domain.com
    secretName: your-tls-secret  # 用于SSL证书和私钥的Kubernetes Secret的名称
  rules:
  - host: your-domain.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: your-service-name
            port:
              number: 8080

保存以上的YAML为ingress.yaml,然后应用这个配置:

kubectl apply -f ingress.yaml

确保你已经有一个名为your-tls-secret的Secret,其中存储了SSL证书和私钥,并确保your-service-name是你希望流量转发到的Service。

  1. 更新Service资源

如果你的服务尚未在8080端口上接受流量,你需要更新Service的配置。根据你的具体服务和配置,这一步可能会有所不同。

  1. 验证配置:

确保你的配置正确并生效。你可以尝试访问你的服务,并检查流量是否已从8080端口重定向到443端口。

以上步骤提供了从8080端口到443端口重定向的基本设置。你可能需要根据你的特定环境和配置进行调整。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐