我已经创建了一个Helm Chart来部署我的应用程序,它做得很好,将应用程序暴露给外部世界(我的家乡)我正在使用Traefik
如果我运行helm install命令并输入
kubectl get svc我得到了预期的输出
n8n-deployment LoadBalancer 10.106.99.168 192.168.222.222 5678:30899/TCP 4s如果我使用
kubectl describe svc我可以看到该服务的以下内容
Name: n8n-deployment
Namespace: default
Labels: app.kubernetes.io/instance=n8n-deployment
app.kubernetes.io/managed-by=Helm
app.kubernetes.io/name=n8n-deployment
app.kubernetes.io/version=1.16.0
helm.sh/chart=n8n-0.1.0
Annotations: meta.helm.sh/release-name: n8n-deployment
meta.helm.sh/release-namespace: default
Selector: app.kubernetes.io/instance=n8n-deployment,app.kubernetes.io/name=n8n-deployment
Type: LoadBalancer
IP Family Policy: SingleStack
IP Families: IPv4
IP: 10.106.99.168
IPs: 10.106.99.168
LoadBalancer Ingress: 192.168.222.222
Port: n8nport 5678/TCP
TargetPort: 5678/TCP
NodePort: n8nport 30899/TCP
Endpoints: <none>
Session Affinity: None
External Traffic Policy: Cluster
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal IPAllocated 12s metallb-controller Assigned IP "192.168.222.222"但是,什么都不起作用。
如果我运行
kubectl delete svc n8n-deployment然后运行
kubectl expose deploy n8n-deployment --port 5678 --type LoadBalancer一切按预期运行,我可以看到应用程序了。
第二次运行此命令时,Traefik仪表板将添加另一个路由器。
如果我运行
kubectl describe svc再说一次,唯一的不同之处在于这条线现在拾取了端点
Endpoints: 172.16.184.171:5678现在已填充
我的模板/services.yaml如下所示
n8n/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
name: {{ include "n8n.fullname" . }}
labels:
{{- include "n8n.labels" . | nindent 4 }}
spec:
type: {{ .Values.service.type }}
ports:
- port: {{ .Values.service.port }}
targetPort: 5678
protocol: TCP
name: n8nport
selector:
app: n8n-deployment我错过了什么可以停止helm工作,但是kubectl expose命令将会?
我没有上传所有的东西,但我会很高兴地工作来理解,我是一个菜鸟,以前从来没有运行过helm。我也意识到我应该在事情中使用更多的变量,我正在努力。
发布于 2021-06-15 23:02:38
将我的service.yaml更改为
apiVersion: v1
kind: Service
metadata:
name: {{ include "n8n.fullname" . }}
labels:
{{- include "n8n.labels" . | nindent 4 }}
app: n8n-deployment
app.kubernetes.io/instance: n8n-deployment
spec:
type: {{ .Values.service.type }}
ports:
- port: {{ .Values.service.port }}
targetPort: 5678
protocol: TCP
selector:
run: n8n-deployment这个很好用,它没有说对
app.kubernetes.io/instance: n8n-deployment
https://stackoverflow.com/questions/67984925
复制相似问题