首页 > 解决方案 > kubernetes : 是否可以在 V1.10 集群上安装 nginx 入口控制器

问题描述

我有一个 v.1.10 的 kubernetes 集群。

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0", GitCommit:"fc32d2f3698e36b93322a3465f63a14e9f0eaead", GitTreeState:"clean", BuildDate:"2018-03-26T16:55:54Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0+coreos.0", GitCommit:"6bb2e725fc2876cd94b3900fc57a1c98ca87a08b", GitTreeState:"clean", BuildDate:"2018-04-02T16:49:31Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

我想为这个集群安装一个 inginx 入口控制器。我按照说明进行操作:here

但是,我一直有错误,例如:

$ kubectl apply -f common/ingress-class.yaml
error: unable to recognize "common/ingress-class.yaml": no matches for kind "IngressClass" in version "networking.k8s.io/v1beta1"

我查了一下,确实没有我的 kubernetes 版本的 IngressClass 资源。继续安装时出现更多错误。

我的问题是:

是否有描述旧 kubernetes 版本安装的文档?

注意。我手动安装了我的集群(没有使用 minikube,kubespary,...)

提前致谢

标签: kuberneteskubernetes-ingress

解决方案


error: unable to recognize "common/ingress-class.yaml": no matches for kind "IngressClass" in version "networking.k8s.io/v1beta1"

IngressClass版本中的种类networking.k8s.io/v1beta1比您的版本晚得多 - 在v1.18中

您可以像下面描述的那样找到合适的 nginx 版本,或者,您可以将集群升级到较新的版本,然后使用最新的 nginx 入口。

我认为您可以使用旧的Ingress Nginx 版本旧的 NGINX Ingress Controller 版本

例如NGINX 入口控制器 1.3.2

  1. 安装入口控制器

  2. 例子

  3. 页面上的源代码文件可供下载,其中包含部署所需的所有配置文件

顺便说一句,您还可以检查NGINX Ingress Controller Helm Chart并使用 helm 安装 nginx。为此,我认为您还需要升级您的集群。


推荐阅读