要为 Kubernetes 安装 Nginx Ingress Controller(版本 v0.34.1),并带有默认服务器以监听所有命名空间下 extensions/v1beta1 的 Ingress 配置,可以按照以下步骤进行操作:

  1. 首先,确保已经安装了 Kubernetes 集群和 kubectl 命令行工具,并且具有管理员权限。

  2. 创建一个命名空间用于安装 Ingress Controller:

kubectl create namespace ingress-nginx
  1. 添加 Ingress Controller 的 Helm chart 存储库:
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
  1. 更新 Helm chart 存储库:
helm repo update
  1. 安装 Ingress Controller:
helm install nginx-ingress ingress-nginx/ingress-nginx \
  --namespace ingress-nginx \
  --set controller.version='v0.34.1' \
  --set controller.admissionWebhooks.enabled=false \
  --set defaultBackend.enabled=true \
  --set defaultBackend.image.repository='nginx' \
  --set defaultBackend.image.tag='1.19'

这将使用 Helm 安装名为 nginx-ingress 的 Ingress Controller,设置版本为 v0.34.1controller.admissionWebhooks.enabled 设置为 false 以禁用准入 Webhook,defaultBackend.enabled 设置为 true 以启用默认服务器。defaultBackend.image.repositorydefaultBackend.image.tag 设置了默认服务器镜像的仓库和标签。

  1. 等待 Ingress Controller 部署完成,可以使用以下命令检查其状态:
kubectl get pods -n ingress-nginx

确保所有的 Pod 都处于 Running 状态。

  1. 配置 Ingress Controller 以监听所有命名空间下 extensions/v1beta1 的 Ingress 配置。创建一个名为 nginx-ingress-config 的 ConfigMap,并将以下内容保存为 config.yaml 文件:
apiVersion: v1
kind: ConfigMap
metadata:
  name: nginx-ingress-config
  namespace: ingress-nginx
data:
  enable-vts-status: 'true'
  ingress-class: 'nginx'
  use-regex: 'true'
  client-body-buffer-size: '512K'
  config.yaml: |
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: tcp-configmap
      namespace: ingress-nginx
    data:
      9000: 'default/example-service:9000'

然后使用以下命令创建 ConfigMap:

kubectl apply -f config.yaml

这将创建一个名为 nginx-ingress-config 的 ConfigMap,在其中定义了一些配置选项。

  1. 更新 Ingress Controller 以使用新的 ConfigMap:
kubectl patch deployment nginx-ingress-controller -n ingress-nginx -p '{"spec":{"template":{"metadata":{"annotations":{"prometheus.io/port":"10254","prometheus.io/scrape":"true","prometheus.io/scheme":"http"}}}}}'
kubectl delete pod -n ingress-nginx -l app=ingress-nginx

这将更新 Ingress Controller 的 Pod 模板以使用新的 ConfigMap,并删除现有的 Pod 以使更改生效。

现在,您已经成功安装了带有默认服务器的 Nginx Ingress Controller,并配置了它以监听所有命名空间下 extensions/v1beta1 的 Ingress 配置。

Kubernetes 安装 Nginx Ingress Controller (v0.34.1) 并配置默认服务器

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

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