k8s kibana 设置中文(k8s集群部署,版本6.7+)

kibana 设置中文

在kibana6.7版本之后自带支持中文,默认配置为英文,需要修改默认配置
网上大部分是非k8s部署的修改教程,以下提供k8s部署时的修改方法

关于k8s下部署EFK集群可以参考另一篇博文:k8s 日志收集,部署EFK-elasticsearch+fluentd+kibana

  1. 对于非k8s部署:
    只需要修改kibana配置文件,添加一行:i18n.locale: “zh-CN”,即可
    kibana默认安装配置文件路径:/usr/share/kibana/config/kibana.yml

  2. 对于k8s部署,需要借助configmap进行配置挂载:

apiVersion: v1
kind: ConfigMap
metadata:
  namespace: kube-log
  name: kibana-config
  labels:
    app: kibana
data:
  kibana.yml: |-
    server.name: kibana
    server.host: "0"
    i18n.locale: zh-CN                      #设置默认语言为中文
    elasticsearch:
      hosts: ${
     ELASTICSEARCH_HOSTS}         #es集群连接地址,由于我这都都是k8s部署且在一个ns下,可以直接使用service name连接
---
apiVersion: v1
kind: Service
metadata:
  name: kibana
  namespace: kube-log
  labels:
    app: kibana
spec:
  type: NodePort
  ports:
  - port: 5601
    nodePort: 30032
  selector:
    app: kibana
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: kibana
  namespace: kube-log
  labels:
    app: kibana
spec:
  replicas: 1
  selector:
    matchLabels:
      app: kibana
  template:
    metadata:
      labels:
        app: kibana
    spec:
      nodeName: k8s-elasticsearch                            #此处指定部署到k8s-elasticsearch节点,如果es集群分布在不同物理机,可使用nodeSelector+标签指定部署
      containers:
      - name: kibana
        image: docker.elastic.co/kibana/kibana:7.2.0         #kibana版本需要与es版本一致
        imagePullPolicy: IfNotPresent
        resources:
          limits:
            cpu: 1000m
          requests:
            cpu: 100m
        env:
          - name: ELASTICSEARCH_URL
            value: http://elasticsearch:9200                 #设置为handless service dns地址即可
          - name: ELASTICSEARCH_HOSTS
            value: http://elasticsearch:9200                 #变量,供configmap引用
        ports:
        - containerPort: 5601
        volumeMounts:
        - name: config
          mountPath: /usr/share/kibana/config/kibana.yml     #kibana配置文件挂载地址
          readOnly: true
          subPath: kibana.yml
      volumes:
      - name: config
        configMap:
          name: kibana-config                                #对应configmap名称

$ kubectl apply -f kibana.yaml

重启kibana,可以看到语言已经变为中文,大功告成

你可能感兴趣的:(k8s,elasticsearch,kibana,k8s,分布式)