以下 YAML 文件配置了一个 Nginx Pod,它允许通过 HTTPS 协议访问 Pod 内的静态文件内容:

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
  labels:
    app: nginx
spec:
  containers:
  - name: nginx-container
    image: nginx
    ports:
    - containerPort: 80
    volumeMounts:
    - name: nginx-volume
      mountPath: '/usr/share/nginx/html'
  volumes:
  - name: nginx-volume
    configMap:
      name: nginx-config
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: nginx-config
data:
  default.conf: |
    server {
      listen 443 ssl;
      server_name localhost;

      ssl_certificate '/etc/nginx/ssl/certificate.crt';
      ssl_certificate_key '/etc/nginx/ssl/private.key';

      location / {
        root '/usr/share/nginx/html';
        index index.html;
      }
    }
---
apiVersion: v1
kind: Secret
metadata:
  name: nginx-secret
data:
  certificate.crt: '<base64 encoded SSL certificate>'
  private.key: '<base64 encoded private key>'

说明:

  • nginx-pod:Pod 的名称。
  • nginx-container:容器的名称。
  • nginx-volume:用于存储 Nginx 配置文件和静态文件的卷。
  • nginx-config:包含 Nginx 配置文件的 ConfigMap。
  • nginx-secret:包含 SSL 证书和密钥的 Secret。
  • default.conf:Nginx 配置文件,监听 443 端口并配置 HTTPS 访问。
  • certificate.crt:SSL 证书的 base64 编码。
  • private.key:私钥的 base64 编码。

注意:

  • 替换 <base64 encoded SSL certificate> 和 <base64 encoded private key> 为您的实际证书和密钥的 base64 编码。
  • 请确保您的证书和密钥正确配置。
  • 您可以根据需要修改 Nginx 配置文件,例如更改监听端口、服务器名称、文件路径等。

部署方式:

您可以使用 kubectl 命令将以上 YAML 文件部署到 Kubernetes 集群中。

kubectl apply -f nginx-pod.yaml

成功部署后,您就可以通过 HTTPS 协议访问您的 Nginx Pod 内的静态文件内容了。

Kubernetes Nginx Pod HTTPS 静态文件访问配置

原文地址: https://www.cveoy.top/t/topic/pgWm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录