У меня есть сервер, написанный на Go, который представляет REST API.Эта служба отлично работает на MacOS, а также в виде кросс-скомпилированного исполняемого файла Linux в контейнере Docker.И в течение нескольких дней он отлично работал и в миникубе.Каким-то образом он прекратил работу на мини-кубе, из-за ошибки «адрес содержит слишком много запятых».Я пробовал различные варианты спецификации Addr, все с одинаковым результатом - работает везде, но minikube.
// Configure http server
srv := &http.Server{
Handler: r,
Addr: ":8087",
WriteTimeout: 15 * time.Second,
ReadTimeout: 15 * time.Second,
}
// Listen to configured port and serve
log.Fatal(srv.ListenAndServe())
Мой Dockerfile:
FROM alpine:latest
WORKDIR /home
COPY ./bin/afg-linux afg
EXPOSE 8087
RUN chmod +x afg
CMD ./afg
И миникуб YAML:
# APP DEPLOYMENT
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
run: afg
name: afg
spec:
replicas: 1
selector:
matchLabels:
run: afg-ex
template:
metadata:
labels:
run: afg-ex
spec:
containers:
- image: localhost:5000/afg:v1.02
name: afg
ports:
- containerPort: 8087
protocol: TCP
---
# APP SERVICE
apiVersion: v1
kind: Service
metadata:
labels:
run: afg
name: afg
spec:
ports:
- port: 8087
protocol: TCP
targetPort: 8087
selector:
run: afg-ex
type: NodePort