如何为k8s安装nginx-ingress版本v0341并带有默认服务器使ingress能监听所有命名空间下extensionsv1beta1的ingress配置具体操作步骤是?
要为Kubernetes安装Nginx Ingress Controller(版本v0.34.1),并带有默认服务器以监听所有命名空间下extensions/v1beta1的Ingress配置,可以按照以下步骤进行操作:
-
首先,确保已经安装了Kubernetes集群和kubectl命令行工具,并且具有管理员权限。
-
创建一个命名空间用于安装Ingress Controller:
kubectl create namespace ingress-nginx
- 添加Ingress Controller的Helm chart存储库:
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
- 更新Helm chart存储库:
helm repo update
- 安装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.1。controller.admissionWebhooks.enabled设置为false以禁用准入Webhook,defaultBackend.enabled设置为true以启用默认服务器。defaultBackend.image.repository和defaultBackend.image.tag设置了默认服务器镜像的仓库和标签。
- 等待Ingress Controller部署完成,可以使用以下命令检查其状态:
kubectl get pods -n ingress-nginx
确保所有的Pod都处于Running状态。
- 配置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,在其中定义了一些配置选项。
- 更新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配置
原文地址: http://www.cveoy.top/t/topic/iz3n 著作权归作者所有。请勿转载和采集!