首先,我是Helm的新手。我正在尝试从Docker Hub部署名为mooo999 / webapi的.Net Core WebApi。我在本地测试了它,它工作正常。我已经玩弄了好几天,无法获得最简单的图表。 Deployment.yaml是:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: {{ template "foochart.fullname" . }}
labels:
app: {{ template "foochart.name" . }}
chart: {{ template "foochart.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
app: {{ template "foochart.name" . }}
release: {{ .Release.Name }}
template:
metadata:
labels:
app: {{ template "foochart.name" . }}
release: {{ .Release.Name }}
spec:
containers:
- name: {{ .Chart.Name }}
image: mooo999/webapi
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 80
protocol: TCP
livenessProbe:
httpGet:
path: /api/values
port: http
readinessProbe:
httpGet:
path: /api/values
port: http
resources:
{{ toYaml .Values.resources | indent 12 }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
service.yaml是:
apiVersion: v1
kind: Service
metadata:
name: {{ template "foochart.fullname" . }}
labels:
app: {{ template "foochart.name" . }}
chart: {{ template "foochart.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
type: NodePort
ports:
- port: 80
targetPort: http
protocol: TCP
name: http
selector:
app: {{ template "foochart.name" . }}
release: {{ .Release.Name }}
不确定它比这简单得多。我正在使用Azure AKS并且它部署良好而没有错误。我可以使用:
获取端点:端口kubectl get --namespace default -o jsonpath =" {。spec.ports [0] .nodePort}"服务冷酷无情 kubectl get nodes --namespace default -o jsonpath =" {.project [0] .status.addresses [0] .address}" 但是在浏览器中使用此信息时出现错误[Fiddler]连接到' 10.240.0.4'失败。 错误:TimedOut(0x274c)。
System.Net.Sockets.SocketException连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机无法响应10.240.0.4:32678
我需要入口服务吗?有没有人有一个简单的图表实际暴露公共端点?我已经通过无数的例子,并且没有成功。
答案 0 :(得分:0)
创建图表时的默认ingress.yaml应该足够了,只需将服务名称添加到后端服务并将ingress设置为启用。
您也可以尝试使用loadbalancer作为测试端点的服务类型