我想在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:
templates
文件夹中从以上三个方面,我最喜欢最后一个,但也许还有另一种方式(也许有一些配置选项)?
答案 0 :(得分:3)
这里粗略的类比是使用Helm安装nginx Ingress控制器就像使用apt-get
或brew
在计算机上安装nginx一样。但是您不会使用apt-get
为您的应用程序创建nginx配置并将其安装在该计算机上。
如果您只有Hello World应用程序,请直接通过kubectl
应用Ingress资源。如果您想将构成应用程序的所有资源(服务,入口,部署,角色,角色绑定,ServiceAccounts等)封装到一个工件中,以便其他人可以用来部署自己的副本如果您的应用程序位于自己的K8s集群上,Helm将是您可以探索使用的打包和分发选项。您可以在Helm图表中放置您的入口资源的模板,没有理由尝试修改nginx控制器Helm图表。
答案 1 :(得分:2)
helm install stable/nginx-ingress
将安装Ingress控制器,但不会为您的服务(应用程序)创建Ingress。如果您有一项服务,并且想要使用Helm Charts进行部署,则需要在该服务的Helm Charts的模板文件夹中添加Ingress.yaml。例如,您可以检查Kubernetes-dashboard