Kubernetes EFK

Kubernetes EFK

Elasticsearch + Fluentd + kibana 的構(gòu)建:

Elasticsearch-rc 配置文件:

apiVersion: v1

kind: ReplicationController

metadata:

??name: elasticsearch-logging-v1

??namespace: kube-system

??labels:

????k8s-app: elasticsearch-logging

????version: v1

????kubernetes.io/cluster-service:?"true"

spec:

??replicas: 2

??selector:

????k8s-app: elasticsearch-logging

????version: v1

??template:

????metadata:

??????labels:

????????k8s-app: elasticsearch-logging

????????version: v1

????????kubernetes.io/cluster-service:?"true"

????spec:

??????containers:

??????- image: gcr.io/google-containers/elasticsearch:v2.4.1

????????name: elasticsearch-logging

????????resources:

??????????# need more cpu upon initialization, therefore burstable class

??????????limits:

????????????cpu: 1000m

??????????requests:

????????????cpu: 100m

????????ports:

????????- containerPort: 9200

??????????name: db

??????????protocol: TCP

????????- containerPort: 9300

??????????name: transport

??????????protocol: TCP

????????volumeMounts:

????????- name: es-persistent-storage

??????????mountPath:?/data

??????volumes:

??????- name: es-persistent-storage

????????emptyDir: {}


Elasticsearch-svc 配置文件:

apiVersion: v1

kind: Service

metadata:

??name: elasticsearch-logging

??namespace: kube-system

??labels:

????k8s-app: elasticsearch-logging

????kubernetes.io/cluster-service:?"true"

????kubernetes.io/name:?"Elasticsearch"

spec:

??ports:

??- port: 9200

????name: http

????protocol: TCP

????targetPort: db

??selector:

????k8s-app: elasticsearch-logging

kibana-rc 配置文件:

apiVersion: extensions/v1beta1

kind: Deployment

metadata:

??name: kibana-logging

??namespace: kube-system

??labels:

????k8s-app: kibana-logging

????kubernetes.io/cluster-service:?"true"

spec:

??replicas: 1

??selector:

????matchLabels:

??????k8s-app: kibana-logging

??template:

????metadata:

??????labels:

????????k8s-app: kibana-logging

????spec:

??????containers:

??????- name: kibana-logging

????????image: gcr.io/google-containers/kibana:v4.6.1

????????resources:

??????????# keep request = limit to keep this container in guaranteed class

??????????limits:

????????????cpu: 100m

??????????requests:

????????????cpu: 100m

????????env:

??????????- name:?"ELASTICSEARCH_URL"

????????????value:?"http://elasticsearch-logging:9200"

????????ports:

????????- containerPort: 5601

??????????name: ui

??????????protocol: TCP

kibana-svc 配置文件:

apiVersion: v1

kind: Service

metadata:

??name: kibana-logging

??namespace: kube-system

??labels:

????k8s-app: kibana-logging

????kubernetes.io/cluster-service:?"true"

????kubernetes.io/name:?"Kibana"

spec:

??ports:

??- port: 5601

????name: http

????protocol: TCP

????targetPort: ui

??selector:

????k8s-app: kibana-logging

fluentd-configmap 配置文件:

fluentd-configmap.yml?展開源碼


fluentd-daemonset 配置文件:

apiVersion: extensions/v1beta1

kind: DaemonSet

metadata:

??name: fluentd-elasticsearch

??namespace: kube-system

??labels:

????k8s-app: fluentd-logging

spec:

??template:

????metadata:

??????labels:

????????name: fluentd-elasticsearch

????spec:

??????containers:

??????- name: fluentd-elasticsearch

????????image: gcr.io/google-containers/fluentd-elasticsearch:1.20

????????resources:

??????????limits:

????????????memory: 200Mi

??????????requests:

????????????cpu: 100m

????????????memory: 200Mi

????????volumeMounts:

????????- name: varlog

??????????mountPath:?/var/log

????????- name: varlibdockercontainers

??????????mountPath:?/var/lib/docker/containers

??????????readOnly:?true

????????- mountPath:?"/etc/td-agent/"

??????????name: config-volume

??????terminationGracePeriodSeconds: 30

??????volumes:

??????- name: varlog

????????hostPath:

??????????path:?/var/log

??????- name: varlibdockercontainers

????????hostPath:

??????????path:?/var/lib/docker/containers

??????- name: config-volume

????????configMap:

??????????name: fluentd


正常啟動后就會看到日志。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容