使用图表 stable/nginx-ingress 使用 Helm 设置 Ingress
Setup Ingress whith Helm using the chart stable/nginx-ingress
我想用 Helm 在我的 Kubernetes 集群上安装 Ingress,所以我做到了
$> helm install stable/nginx-ingress
... a lot of output
NOTES:
The nginx-ingress controller has been installed.
It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status by running 'kubectl --namespace default get services -o wide -w solemn-toucan-nginx-ingress-controller'
An example Ingress that makes use of the controller:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
name: example
namespace: foo
spec:
rules:
...
因为我是用 Helm 安装所有东西,所以我不清楚应该如何安装 Ingress。正如您在 Helm 生成的输出中看到的那样,它们显示了一个示例 Ingress
但没有说明我应该如何提供它。
我能想到2个:
- 复制整个图表并将我的ingress.yaml移动到
templates
文件夹
- 使用 kubectl
- 创建提供 Ingress 资源的 Helm Chart
在以上3种中我最喜欢最后一种,但也许还有另一种方法(也许有一些配置选项)?
这里粗略的类比一下,用Helm安装nginx Ingress controller就好像用apt-get
或者brew
在一台机器上安装nginx。但是您不会使用 apt-get
为您的应用程序创建 nginx 配置并将其安装到该机器上。
如果您只有一个 Hello World 应用程序,请直接使用 kubectl
应用 Ingress 资源。如果你到了想要将构成应用程序的所有资源(服务、入口、部署、角色、角色绑定、ServiceAccounts 等)封装到一个工件中的地步,以便其他人可以使用来部署他们自己的副本你的应用程序在他们自己的 K8s 集群上,Helm 将是一个你可以探索使用的打包和分发选项。您可以将 您的 Ingress 资源的模板放在 Helm 图表中,您没有理由尝试修改 nginx 控制器 Helm 图表。
helm install stable/nginx-ingress
将安装 Ingress 控制器,但不会为您的服务(应用程序)创建 Ingress。如果你有一个服务并且想使用 Helm Charts 部署它,你需要在服务的 Helm Charts 的模板文件夹中添加 Ingress.yaml。例如,您可以检查 Kubernetes-dashboard
我想用 Helm 在我的 Kubernetes 集群上安装 Ingress,所以我做到了
$> helm install stable/nginx-ingress
... a lot of output
NOTES:
The nginx-ingress controller has been installed.
It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status by running 'kubectl --namespace default get services -o wide -w solemn-toucan-nginx-ingress-controller'
An example Ingress that makes use of the controller:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
name: example
namespace: foo
spec:
rules:
...
因为我是用 Helm 安装所有东西,所以我不清楚应该如何安装 Ingress。正如您在 Helm 生成的输出中看到的那样,它们显示了一个示例 Ingress
但没有说明我应该如何提供它。
我能想到2个:
- 复制整个图表并将我的ingress.yaml移动到
templates
文件夹 - 使用 kubectl
- 创建提供 Ingress 资源的 Helm Chart
在以上3种中我最喜欢最后一种,但也许还有另一种方法(也许有一些配置选项)?
这里粗略的类比一下,用Helm安装nginx Ingress controller就好像用apt-get
或者brew
在一台机器上安装nginx。但是您不会使用 apt-get
为您的应用程序创建 nginx 配置并将其安装到该机器上。
如果您只有一个 Hello World 应用程序,请直接使用 kubectl
应用 Ingress 资源。如果你到了想要将构成应用程序的所有资源(服务、入口、部署、角色、角色绑定、ServiceAccounts 等)封装到一个工件中的地步,以便其他人可以使用来部署他们自己的副本你的应用程序在他们自己的 K8s 集群上,Helm 将是一个你可以探索使用的打包和分发选项。您可以将 您的 Ingress 资源的模板放在 Helm 图表中,您没有理由尝试修改 nginx 控制器 Helm 图表。
helm install stable/nginx-ingress
将安装 Ingress 控制器,但不会为您的服务(应用程序)创建 Ingress。如果你有一个服务并且想使用 Helm Charts 部署它,你需要在服务的 Helm Charts 的模板文件夹中添加 Ingress.yaml。例如,您可以检查 Kubernetes-dashboard