mirror of https://github.com/k3s-io/k3s
Merge pull request #73819 from coffeepac/move-fluentd-es-images
Move fluentd es imagespull/564/head
commit
743f864310
|
@ -1,83 +1,91 @@
|
||||||
# Elasticsearch Add-On
|
# Elasticsearch Add-On
|
||||||
|
|
||||||
This add-on consists of a combination of [Elasticsearch][elasticsearch],
|
This add-on consists of a combination of [Elasticsearch][elasticsearch],
|
||||||
[Fluentd][fluentd] and [Kibana][kibana]. Elasticsearch is a search engine
|
[Fluentd][fluentd] and [Kibana][kibana]. Elasticsearch is a search engine
|
||||||
that is responsible for storing our logs and allowing for them to be queried.
|
that is responsible for storing our logs and allowing for them to be queried.
|
||||||
Fluentd sends log messages from Kubernetes to Elasticsearch, whereas Kibana
|
Fluentd sends log messages from Kubernetes to Elasticsearch, whereas Kibana
|
||||||
is a graphical interface for viewing and querying the logs stored in
|
is a graphical interface for viewing and querying the logs stored in
|
||||||
Elasticsearch.
|
Elasticsearch.
|
||||||
|
|
||||||
**Note:** this addon should **not** be used as-is in production. This is
|
**Note:** this addon should **not** be used as-is in production. This is
|
||||||
an example and you should treat it as such. Please see at least the
|
an example and you should treat it as such. Please see at least the
|
||||||
[Security](#security) and the [Storage](#storage) sections for more
|
[Security](#security) and the [Storage](#storage) sections for more
|
||||||
information.
|
information.
|
||||||
|
|
||||||
## Elasticsearch
|
## Elasticsearch
|
||||||
|
|
||||||
Elasticsearch is deployed as a [StatefulSet][statefulSet], which is like
|
Elasticsearch is deployed as a [StatefulSet][statefulSet], which is like
|
||||||
a Deployment, but allows for maintaining state on storage volumes.
|
a Deployment, but allows for maintaining state on storage volumes.
|
||||||
|
|
||||||
### Security
|
### Security
|
||||||
|
|
||||||
Elasticsearch has capabilities to enable authorization using the [X-Pack
|
Elasticsearch has capabilities to enable authorization using the [X-Pack
|
||||||
plugin][xPack]. For the sake of simplicity this example uses the fully open
|
plugin][xPack]. For the sake of simplicity this example uses the fully open
|
||||||
source prebuild images from elastic that do not contain the X-Pack plugin. If
|
source prebuild images from elastic that do not contain the X-Pack plugin. If
|
||||||
you need these features, please consider building the images from either the
|
you need these features, please consider building the images from either the
|
||||||
"basic" or "platinum" version. After enabling these features, follow [official
|
"basic" or "platinum" version. After enabling these features, follow [official
|
||||||
documentation][setupCreds] to set up credentials in Elasticsearch and Kibana.
|
documentation][setupCreds] to set up credentials in Elasticsearch and Kibana.
|
||||||
Don't forget to propagate those credentials also to Fluentd in its
|
Don't forget to propagate those credentials also to Fluentd in its
|
||||||
[configuration][fluentdCreds], using for example [environment
|
[configuration][fluentdCreds], using for example [environment
|
||||||
variables][fluentdEnvVar]. You can utilize [ConfigMaps][configMap] and
|
variables][fluentdEnvVar]. You can utilize [ConfigMaps][configMap] and
|
||||||
[Secrets][secret] to store credentials in the Kubernetes apiserver.
|
[Secrets][secret] to store credentials in the Kubernetes apiserver.
|
||||||
|
|
||||||
### Initialization
|
### Initialization
|
||||||
|
|
||||||
The Elasticsearch StatefulSet manifest specifies that there shall be an
|
The Elasticsearch StatefulSet manifest specifies that there shall be an
|
||||||
[init container][initContainer] executing before Elasticsearch containers
|
[init container][initContainer] executing before Elasticsearch containers
|
||||||
themselves, in order to ensure that the kernel state variable
|
themselves, in order to ensure that the kernel state variable
|
||||||
`vm.max_map_count` is at least 262144, since this is a requirement of
|
`vm.max_map_count` is at least 262144, since this is a requirement of
|
||||||
Elasticsearch. You may remove the init container if you know that your host
|
Elasticsearch. You may remove the init container if you know that your host
|
||||||
OS meets this requirement.
|
OS meets this requirement.
|
||||||
|
|
||||||
### Storage
|
### Storage
|
||||||
|
|
||||||
The Elasticsearch StatefulSet will use the [EmptyDir][emptyDir] volume to
|
The Elasticsearch StatefulSet will use the [EmptyDir][emptyDir] volume to
|
||||||
store data. EmptyDir is erased when the pod terminates, here it is used only
|
store data. EmptyDir is erased when the pod terminates, here it is used only
|
||||||
for testing purposes. **Important:** please change the storage to persistent
|
for testing purposes. **Important:** please change the storage to persistent
|
||||||
volume claim before actually using this StatefulSet in your setup!
|
volume claim before actually using this StatefulSet in your setup!
|
||||||
|
|
||||||
## Fluentd
|
## Fluentd
|
||||||
|
|
||||||
Fluentd is deployed as a [DaemonSet][daemonSet] which spawns a pod on each
|
Fluentd is deployed as a [DaemonSet][daemonSet] which spawns a pod on each
|
||||||
node that reads logs, generated by kubelet, container runtime and containers
|
node that reads logs, generated by kubelet, container runtime and containers
|
||||||
and sends them to Elasticsearch.
|
and sends them to Elasticsearch.
|
||||||
|
|
||||||
**Note:** in order for Fluentd to work, every Kubernetes node must be labeled
|
**Note:** in order for Fluentd to work, every Kubernetes node must be labeled
|
||||||
with `beta.kubernetes.io/fluentd-ds-ready=true`, as otherwise the Fluentd
|
with `beta.kubernetes.io/fluentd-ds-ready=true`, as otherwise the Fluentd
|
||||||
DaemonSet will ignore them.
|
DaemonSet will ignore them.
|
||||||
|
|
||||||
Learn more in the [official Kubernetes documentation][k8sElasticsearchDocs].
|
Learn more in the [official Kubernetes documentation][k8sElasticsearchDocs].
|
||||||
|
|
||||||
### Known problems
|
## Building
|
||||||
|
|
||||||
Since Fluentd talks to the Elasticsearch service inside the cluster, instances
|
Both images are now being hosted in google cloud and are built via the
|
||||||
on masters won't work, because masters have no kube-proxy. Don't mark masters
|
[cloud build](https://cloud.google.com/cloud-build/) product. To build these
|
||||||
with the label mentioned in the previous paragraph or add a taint on them to
|
images yourself you will need to have the [gcloud sdk](https://cloud.google.com/sdk/install)
|
||||||
avoid Fluentd pods scheduling there.
|
installed and you will need to login. You can then run `make` in either
|
||||||
|
image directory to trigger a container build.
|
||||||
[fluentd]: http://www.fluentd.org/
|
|
||||||
[elasticsearch]: https://www.elastic.co/products/elasticsearch
|
### Known problems
|
||||||
[kibana]: https://www.elastic.co/products/kibana
|
|
||||||
[xPack]: https://www.elastic.co/products/x-pack
|
Since Fluentd talks to the Elasticsearch service inside the cluster, instances
|
||||||
[setupCreds]: https://www.elastic.co/guide/en/x-pack/current/setting-up-authentication.html#reset-built-in-user-passwords
|
on masters won't work, because masters have no kube-proxy. Don't mark masters
|
||||||
[fluentdCreds]: https://github.com/uken/fluent-plugin-elasticsearch#user-password-path-scheme-ssl_verify
|
with the label mentioned in the previous paragraph or add a taint on them to
|
||||||
[fluentdEnvVar]: https://docs.fluentd.org/v0.12/articles/faq#how-can-i-use-environment-variables-to-configure-parameters-dynamically
|
avoid Fluentd pods scheduling there.
|
||||||
[configMap]: https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/
|
|
||||||
[secret]: https://kubernetes.io/docs/concepts/configuration/secret/
|
[fluentd]: http://www.fluentd.org/
|
||||||
[statefulSet]: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset
|
[elasticsearch]: https://www.elastic.co/products/elasticsearch
|
||||||
[initContainer]: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
|
[kibana]: https://www.elastic.co/products/kibana
|
||||||
[emptyDir]: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
|
[xPack]: https://www.elastic.co/products/x-pack
|
||||||
[daemonSet]: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
|
[setupCreds]: https://www.elastic.co/guide/en/x-pack/current/setting-up-authentication.html#reset-built-in-user-passwords
|
||||||
[k8sElasticsearchDocs]: https://kubernetes.io/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana
|
[fluentdCreds]: https://github.com/uken/fluent-plugin-elasticsearch#user-password-path-scheme-ssl_verify
|
||||||
|
[fluentdEnvVar]: https://docs.fluentd.org/v0.12/articles/faq#how-can-i-use-environment-variables-to-configure-parameters-dynamically
|
||||||
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/cluster/addons/fluentd-elasticsearch/README.md?pixel)]()
|
[configMap]: https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/
|
||||||
|
[secret]: https://kubernetes.io/docs/concepts/configuration/secret/
|
||||||
|
[statefulSet]: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset
|
||||||
|
[initContainer]: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
|
||||||
|
[emptyDir]: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
|
||||||
|
[daemonSet]: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
|
||||||
|
[k8sElasticsearchDocs]: https://kubernetes.io/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana
|
||||||
|
|
||||||
|
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/cluster/addons/fluentd-elasticsearch/README.md?pixel)]()
|
||||||
|
|
|
@ -12,12 +12,18 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
FROM golang:1.11.5 AS builder
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
FROM docker.elastic.co/elasticsearch/elasticsearch-oss:6.3.2
|
FROM docker.elastic.co/elasticsearch/elasticsearch-oss:6.3.2
|
||||||
|
|
||||||
VOLUME ["/data"]
|
VOLUME ["/data"]
|
||||||
EXPOSE 9200 9300
|
EXPOSE 9200 9300
|
||||||
|
|
||||||
COPY elasticsearch_logging_discovery run.sh bin/
|
COPY --from=builder /elasticsearch_logging_discovery bin/
|
||||||
|
COPY run.sh bin/
|
||||||
COPY config/elasticsearch.yml config/log4j2.properties config/
|
COPY config/elasticsearch.yml config/log4j2.properties config/
|
||||||
|
|
||||||
USER root
|
USER root
|
||||||
|
|
|
@ -12,20 +12,11 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
.PHONY: binary build push
|
.PHONY: build
|
||||||
|
|
||||||
PREFIX = staging-k8s.gcr.io
|
PREFIX = gcr.io/fluentd-elasticsearch
|
||||||
IMAGE = elasticsearch
|
IMAGE = elasticsearch
|
||||||
TAG = v6.3.0
|
TAG = v6.3.0
|
||||||
|
|
||||||
build:
|
build:
|
||||||
docker build --pull -t $(PREFIX)/$(IMAGE):$(TAG) .
|
gcloud builds submit --tag ${PREFIX}/${IMAGE}:${TAG}
|
||||||
|
|
||||||
push:
|
|
||||||
docker push $(PREFIX)/$(IMAGE):$(TAG)
|
|
||||||
|
|
||||||
binary:
|
|
||||||
CGO_ENABLED=0 GOOS=linux go build -a -ldflags "-w" elasticsearch_logging_discovery.go
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm elasticsearch_logging_discovery
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
module fake/import/path
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||||
|
github.com/docker/distribution v2.7.1+incompatible // indirect
|
||||||
|
github.com/gogo/protobuf v1.2.0 // indirect
|
||||||
|
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c // indirect
|
||||||
|
github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf // indirect
|
||||||
|
github.com/googleapis/gnostic v0.2.0 // indirect
|
||||||
|
github.com/gregjones/httpcache v0.0.0-20181110185634-c63ab54fda8f // indirect
|
||||||
|
github.com/imdario/mergo v0.3.6 // indirect
|
||||||
|
github.com/json-iterator/go v1.1.5 // indirect
|
||||||
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
||||||
|
github.com/modern-go/reflect2 v1.0.1 // indirect
|
||||||
|
github.com/opencontainers/go-digest v1.0.0-rc1 // indirect
|
||||||
|
github.com/peterbourgon/diskv v2.0.1+incompatible // indirect
|
||||||
|
github.com/spf13/pflag v1.0.3 // indirect
|
||||||
|
github.com/stretchr/testify v1.3.0 // indirect
|
||||||
|
golang.org/x/crypto v0.0.0-20190122013713-64072686203f // indirect
|
||||||
|
golang.org/x/net v0.0.0-20190119204137-ed066c81e75e // indirect
|
||||||
|
golang.org/x/oauth2 v0.0.0-20190115181402-5dab4167f31c // indirect
|
||||||
|
golang.org/x/sys v0.0.0-20190122071731-054c452bb702 // indirect
|
||||||
|
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c // indirect
|
||||||
|
gopkg.in/inf.v0 v0.9.1 // indirect
|
||||||
|
gopkg.in/yaml.v2 v2.2.2 // indirect
|
||||||
|
k8s.io/api v0.0.0-20190111032252-67edc246be36 // indirect
|
||||||
|
k8s.io/apiextensions-apiserver v0.0.0-20190111034747-7d26de67f177 // indirect
|
||||||
|
k8s.io/apimachinery v0.0.0-20181127025237-2b1284ed4c93
|
||||||
|
k8s.io/apiserver v0.0.0-20190111033246-d50e9ac5404f // indirect
|
||||||
|
k8s.io/client-go v10.0.0+incompatible
|
||||||
|
k8s.io/klog v0.1.0
|
||||||
|
k8s.io/kubernetes v1.13.2
|
||||||
|
k8s.io/utils v0.0.0-20181221173059-8a16e7dd8fb6 // indirect
|
||||||
|
sigs.k8s.io/yaml v1.1.0 // indirect
|
||||||
|
)
|
|
@ -0,0 +1,79 @@
|
||||||
|
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||||
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/docker/distribution v2.7.1+incompatible h1:a5mlkVzth6W5A4fOsS3D2EO5BUmsJpcB+cRlLU7cSug=
|
||||||
|
github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
|
||||||
|
github.com/gogo/protobuf v1.2.0 h1:xU6/SpYbvkNYiptHJYEDRseDLvYE7wSqhYYNy0QSUzI=
|
||||||
|
github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
|
||||||
|
github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM=
|
||||||
|
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||||
|
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c h1:964Od4U6p2jUkFxvCydnIczKteheJEzHRToSGK3Bnlw=
|
||||||
|
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
|
||||||
|
github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf h1:+RRA9JqSOZFfKrOeqr2z77+8R2RKyh8PG66dcu1V0ck=
|
||||||
|
github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
|
||||||
|
github.com/googleapis/gnostic v0.2.0 h1:l6N3VoaVzTncYYW+9yOz2LJJammFZGBO13sqgEhpy9g=
|
||||||
|
github.com/googleapis/gnostic v0.2.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
|
||||||
|
github.com/gregjones/httpcache v0.0.0-20181110185634-c63ab54fda8f h1:ShTPMJQes6tubcjzGMODIVG5hlrCeImaBnZzKF2N8SM=
|
||||||
|
github.com/gregjones/httpcache v0.0.0-20181110185634-c63ab54fda8f/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
|
||||||
|
github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28=
|
||||||
|
github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
|
||||||
|
github.com/json-iterator/go v1.1.5 h1:gL2yXlmiIo4+t+y32d4WGwOjKGYcGOuyrg46vadswDE=
|
||||||
|
github.com/json-iterator/go v1.1.5/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
|
||||||
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
|
||||||
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||||
|
github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
|
||||||
|
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
|
||||||
|
github.com/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2iki3E3Ii+WN7gQ=
|
||||||
|
github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
|
||||||
|
github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI=
|
||||||
|
github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
|
||||||
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
|
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
|
github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg=
|
||||||
|
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
|
||||||
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
|
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
|
||||||
|
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||||
|
golang.org/x/crypto v0.0.0-20190122013713-64072686203f h1:u1CmMhe3a44hy8VIgpInORnI01UVaUYheqR7x9BxT3c=
|
||||||
|
golang.org/x/crypto v0.0.0-20190122013713-64072686203f/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||||
|
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
|
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
|
golang.org/x/net v0.0.0-20190119204137-ed066c81e75e h1:MDa3fSUp6MdYHouVmCCNz/zaH2a6CRcxY3VhT/K3C5Q=
|
||||||
|
golang.org/x/net v0.0.0-20190119204137-ed066c81e75e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
|
golang.org/x/oauth2 v0.0.0-20190115181402-5dab4167f31c h1:pcBdqVcrlT+A3i+tWsOROFONQyey9tisIQHI4xqVGLg=
|
||||||
|
golang.org/x/oauth2 v0.0.0-20190115181402-5dab4167f31c/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||||
|
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4 h1:YUO/7uOKsKeq9UokNS62b8FYywz3ker1l1vDZRCRefw=
|
||||||
|
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
golang.org/x/sys v0.0.0-20190122071731-054c452bb702 h1:Lk4tbZFnlyPgV+sLgTw5yGfzrlOn9kx4vSombi2FFlY=
|
||||||
|
golang.org/x/sys v0.0.0-20190122071731-054c452bb702/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
|
||||||
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
|
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c h1:fqgJT0MGcGpPgpWU7VRdRjuArfcOvC4AoJmILihzhDg=
|
||||||
|
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
|
google.golang.org/appengine v1.4.0 h1:/wp5JvzpHIxhs/dumFmF7BXTf3Z+dd4uXta4kVyO508=
|
||||||
|
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||||
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
||||||
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
|
||||||
|
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
|
||||||
|
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
|
||||||
|
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||||
|
k8s.io/api v0.0.0-20190111032252-67edc246be36 h1:XrFGq/4TDgOxYOxtNROTyp2ASjHjBIITdk/+aJD+zyY=
|
||||||
|
k8s.io/api v0.0.0-20190111032252-67edc246be36/go.mod h1:iuAfoD4hCxJ8Onx9kaTIt30j7jUFS00AXQi6QMi99vA=
|
||||||
|
k8s.io/apiextensions-apiserver v0.0.0-20190111034747-7d26de67f177 h1:jtIDnyMLAy15hJmcjRMq3ia0LwHkQBLVo1IRXdDMS38=
|
||||||
|
k8s.io/apiextensions-apiserver v0.0.0-20190111034747-7d26de67f177/go.mod h1:IxkesAMoaCRoLrPJdZNZUQp9NfZnzqaVzLhb2VEQzXE=
|
||||||
|
k8s.io/apimachinery v0.0.0-20181127025237-2b1284ed4c93 h1:tT6oQBi0qwLbbZSfDkdIsb23EwaLY85hoAV4SpXfdao=
|
||||||
|
k8s.io/apimachinery v0.0.0-20181127025237-2b1284ed4c93/go.mod h1:ccL7Eh7zubPUSh9A3USN90/OzHNSVN6zxzde07TDCL0=
|
||||||
|
k8s.io/apiserver v0.0.0-20190111033246-d50e9ac5404f h1:jOhsBtH52EgxnCNJrCuToXFfQtb3nQDoBPzItfPmSsI=
|
||||||
|
k8s.io/apiserver v0.0.0-20190111033246-d50e9ac5404f/go.mod h1:6bqaTSOSJavUIXUtfaR9Os9JtTCm8ZqH2SUl2S60C4w=
|
||||||
|
k8s.io/client-go v10.0.0+incompatible h1:F1IqCqw7oMBzDkqlcBymRq1450wD0eNqLE9jzUrIi34=
|
||||||
|
k8s.io/client-go v10.0.0+incompatible/go.mod h1:7vJpHMYJwNQCWgzmNV+VYUl1zCObLyodBc8nIyt8L5s=
|
||||||
|
k8s.io/klog v0.1.0 h1:I5HMfc/DtuVaGR1KPwUrTc476K8NCqNBldC7H4dYEzk=
|
||||||
|
k8s.io/klog v0.1.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
|
||||||
|
k8s.io/kubernetes v1.13.2 h1:rBz6dubDY4bfv85G6zo04v9G5wniTxvBI9yQ/QxJS3g=
|
||||||
|
k8s.io/kubernetes v1.13.2/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk=
|
||||||
|
k8s.io/utils v0.0.0-20181221173059-8a16e7dd8fb6 h1:+jRzzMyx+I9J18BvwHYmZ5hpPwoZfh6g39WfNlsMCkY=
|
||||||
|
k8s.io/utils v0.0.0-20181221173059-8a16e7dd8fb6/go.mod h1:8k8uAuAQ0rXslZKaEWd0c3oVhZz7sSzSiPnVZayjIX0=
|
||||||
|
sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
|
||||||
|
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
|
|
@ -12,14 +12,11 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
.PHONY: build push
|
.PHONY: build
|
||||||
|
|
||||||
PREFIX = staging-k8s.gcr.io
|
PREFIX = gcr.io/fluentd-elasticsearch
|
||||||
IMAGE = fluentd-elasticsearch
|
IMAGE = fluentd
|
||||||
TAG = v2.4.0
|
TAG = v2.4.0
|
||||||
|
|
||||||
build:
|
build:
|
||||||
docker build --pull -t $(PREFIX)/$(IMAGE):$(TAG) .
|
gcloud builds submit --tag $(PREFIX)/$(IMAGE):$(TAG)
|
||||||
|
|
||||||
push:
|
|
||||||
docker push $(PREFIX)/$(IMAGE):$(TAG)
|
|
||||||
|
|
|
@ -7,6 +7,8 @@ docs/man
|
||||||
docs/user-guide
|
docs/user-guide
|
||||||
generated.pb.go
|
generated.pb.go
|
||||||
generated.proto
|
generated.proto
|
||||||
|
go.mod
|
||||||
|
go.sum
|
||||||
pkg/client/clientset_generated
|
pkg/client/clientset_generated
|
||||||
pkg/client/informers/informers_generated/
|
pkg/client/informers/informers_generated/
|
||||||
pkg/generated
|
pkg/generated
|
||||||
|
|
Loading…
Reference in New Issue