mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 20:24:09 +00:00
Merge pull request #85944 from SataQiu/fix-es-20191205
Addons: elasticsearch supports automatically setting the advertise address
This commit is contained in:
commit
a233e0115b
@ -17,7 +17,7 @@ COPY elasticsearch_logging_discovery.go go.mod go.sum /
|
|||||||
RUN CGO_ENABLED=0 GOOS=linux GO111MODULE=on go build -a -ldflags "-w" -o /elasticsearch_logging_discovery /elasticsearch_logging_discovery.go
|
RUN CGO_ENABLED=0 GOOS=linux GO111MODULE=on go build -a -ldflags "-w" -o /elasticsearch_logging_discovery /elasticsearch_logging_discovery.go
|
||||||
|
|
||||||
|
|
||||||
FROM docker.elastic.co/elasticsearch/elasticsearch-oss:7.3.2
|
FROM docker.elastic.co/elasticsearch/elasticsearch-oss:7.4.2
|
||||||
|
|
||||||
VOLUME ["/data"]
|
VOLUME ["/data"]
|
||||||
EXPOSE 9200 9300
|
EXPOSE 9200 9300
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
PREFIX = quay.io/fluentd_elasticsearch
|
PREFIX = quay.io/fluentd_elasticsearch
|
||||||
IMAGE = elasticsearch
|
IMAGE = elasticsearch
|
||||||
TAG = v7.3.2
|
TAG = v7.4.2
|
||||||
|
|
||||||
build:
|
build:
|
||||||
docker build --tag ${PREFIX}/${IMAGE}:${TAG} .
|
docker build --tag ${PREFIX}/${IMAGE}:${TAG} .
|
||||||
|
@ -9,4 +9,3 @@ http.port: ${HTTP_PORT}
|
|||||||
|
|
||||||
path.data: /data
|
path.data: /data
|
||||||
|
|
||||||
network.host: 0.0.0.0
|
|
||||||
|
@ -19,6 +19,7 @@ package main
|
|||||||
import (
|
import (
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"net"
|
||||||
"os"
|
"os"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
@ -63,11 +64,32 @@ func flattenSubsets(subsets []corev1.EndpointSubset) []string {
|
|||||||
return ips
|
return ips
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getAdvertiseAddress() (string, error) {
|
||||||
|
addrs, err := net.InterfaceAddrs()
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, addr := range addrs {
|
||||||
|
if ipnet, ok := addr.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {
|
||||||
|
return ipnet.IP.String(), nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return "", fmt.Errorf("no non-loopback address is available")
|
||||||
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
klog.Info("Kubernetes Elasticsearch logging discovery")
|
klog.Info("Kubernetes Elasticsearch logging discovery")
|
||||||
|
|
||||||
|
advertiseAddress, err := getAdvertiseAddress()
|
||||||
|
if err != nil {
|
||||||
|
klog.Fatalf("Failed to get valid advertise address: %v", err)
|
||||||
|
}
|
||||||
|
fmt.Printf("network.host: \"%s\"\n\n", advertiseAddress)
|
||||||
|
|
||||||
cc, err := buildConfigFromEnvs(os.Getenv("APISERVER_HOST"), os.Getenv("KUBE_CONFIG_FILE"))
|
cc, err := buildConfigFromEnvs(os.Getenv("APISERVER_HOST"), os.Getenv("KUBE_CONFIG_FILE"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
klog.Fatalf("Failed to make client: %v", err)
|
klog.Fatalf("Failed to make client: %v", err)
|
||||||
|
@ -51,7 +51,7 @@ metadata:
|
|||||||
namespace: kube-system
|
namespace: kube-system
|
||||||
labels:
|
labels:
|
||||||
k8s-app: elasticsearch-logging
|
k8s-app: elasticsearch-logging
|
||||||
version: v7.3.2
|
version: v7.4.2
|
||||||
addonmanager.kubernetes.io/mode: Reconcile
|
addonmanager.kubernetes.io/mode: Reconcile
|
||||||
spec:
|
spec:
|
||||||
serviceName: elasticsearch-logging
|
serviceName: elasticsearch-logging
|
||||||
@ -59,16 +59,16 @@ spec:
|
|||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
k8s-app: elasticsearch-logging
|
k8s-app: elasticsearch-logging
|
||||||
version: v7.3.2
|
version: v7.4.2
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
k8s-app: elasticsearch-logging
|
k8s-app: elasticsearch-logging
|
||||||
version: v7.3.2
|
version: v7.4.2
|
||||||
spec:
|
spec:
|
||||||
serviceAccountName: elasticsearch-logging
|
serviceAccountName: elasticsearch-logging
|
||||||
containers:
|
containers:
|
||||||
- image: quay.io/fluentd_elasticsearch/elasticsearch:v7.3.2
|
- image: quay.io/fluentd_elasticsearch/elasticsearch:v7.4.2
|
||||||
name: elasticsearch-logging
|
name: elasticsearch-logging
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
resources:
|
resources:
|
||||||
|
Loading…
Reference in New Issue
Block a user