|NO.Z.00282|——————————|^^ 部署 ^^|——|KuberNetes&运维.V04|——|EFK架构.v04|部署Kibana|

一、部署Kibana
### --- 创建Kibana-service.yaml文件

[root@k8s-master01 EFK]# cat kibana-service.yaml 
apiVersion: v1
kind: Service
metadata:
  name: kibana-logging
  namespace: public-service
  labels:
    k8s-app: kibana-logging
    kubernetes.io/cluster-service: "true"
    addonmanager.kubernetes.io/mode: Reconcile
    kubernetes.io/name: "Kibana"
spec:
  ports:
  - port: 5601
    protocol: TCP
    targetPort: ui
  selector:
    k8s-app: kibana-logging
  type: NodePort
二、创建Kibana-service
### --- 创建Kibana-service

[root@k8s-master01 EFK]# kubectl create -f kibana-service.yaml 
service/kibana-logging created
### --- 查看创建的kibana-service

[root@k8s-master01 EFK]# kubectl get svc -n public-service -owide
NAME                    TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE     SELECTOR
elasticsearch-logging   ClusterIP   10.107.157.176   <none>        9200/TCP         3h39m   k8s-app=elasticsearch-logging
kibana-logging          NodePort    10.97.92.222     <none>        5601:30495/TCP   147m    k8s-app=kibana-logging
### --- 查看创建的kibana-ep

[root@k8s-master01 EFK]# kubectl get ep -n public-service -owide
NAME                    ENDPOINTS            AGE
elasticsearch-logging   172.27.14.195:9200   3h38m
kibana-logging          172.17.125.6:5601    146m
三、创建Kibana-deployment.yaml资源文件
### --- 创建Kibana-deployment的配置文件

[root@k8s-master01 EFK]# cat kibana.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: kibana-logging
  namespace: public-service
  labels:
    k8s-app: kibana-logging
    addonmanager.kubernetes.io/mode: Reconcile
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s-app: kibana-logging
  template:
    metadata:
      labels:
        k8s-app: kibana-logging
      annotations:
        seccomp.security.alpha.kubernetes.io/pod: 'docker/default'
    spec:
      containers:
      - name: kibana-logging
        image: docker.elastic.co/kibana/kibana-oss:7.2.0
        resources:
          # need more cpu upon initialization, therefore burstable class
          limits:
            cpu: 1000m
          requests:
            cpu: 100m
        env:
          - name: ELASTICSEARCH_HOSTS
            value: http://elasticsearch-logging:9200
          - name: SERVER_NAME
            value: kibana-logging
          #- name: SERVER_BASEPATH
          #  value: /api/v1/namespaces/public-service/services/kibana-logging/proxy
          - name: SERVER_REWRITEBASEPATH
            value: "false"
        ports:
        - containerPort: 5601
          name: ui
          protocol: TCP
        livenessProbe:
          httpGet:
            path: /api/status
            port: ui
          initialDelaySeconds: 5
          timeoutSeconds: 10
        readinessProbe:
          httpGet:
            path: /api/status
            port: ui
          initialDelaySeconds: 5
          timeoutSeconds: 10
### --- 注:

~~~     # 注释一:副本数量为1
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s-app: kibana-logging
~~~     # 注释二:es地址
~~~     kibana连接es的地址;若是外部地址的话,可以将外部和地址映射到service上,
~~~     然后写上service地址即可

        env:
          - name: ELASTICSEARCH_HOSTS
            value: http://elasticsearch-logging:9200    
~~~     # 注释三:安装路径
~~~     此环境是通过service访问的,需要把这行内容注销掉,不然他会通过这个地址去访问

          #- name: SERVER_BASEPATH                      
          #  value: /api/v1/namespaces/public-service/services/kibana-logging/proxy
四、创建Kibana-deployment
### --- 创建Kibana-deployment

[root@k8s-master01 EFK]# kubectl create -f kibana.yaml 
deployment.apps/kibana-logging created
### --- 查看创建的Kibana

[root@k8s-master01 EFK]# kubectl get po -n public-service -owide
NAME                              READY   STATUS    RESTARTS   AGE   IP               NODE           NOMINATED NODE   READINESS GATES
elasticsearch-logging-0           1/1     Running   0          63m   172.27.14.195    k8s-node02     <none>           <none>
fluentd-es-v3.0.1-xprsz           1/1     Running   2          48m   172.17.125.4     k8s-node01     <none>           <none>
kibana-logging-75ff847f8c-lg9lg   0/1     Running   0          14s   172.25.244.200   k8s-master01  
### --- 查看创建的Kibana的端口号

[root@k8s-master01 EFK]# kubectl get po,svc,ep -n public-service -owide
NAME                                  READY   STATUS    RESTARTS   AGE     IP              NODE         NOMINATED NODE   READINESS GATES
pod/elasticsearch-logging-0           1/1     Running   0          3h41m   172.27.14.195   k8s-node02   <none>           <none>
pod/fluentd-es-v3.0.1-xprsz           1/1     Running   3          3h26m   172.17.125.4    k8s-node01   <none>           <none>
pod/kibana-logging-7cf6dc4687-blrks   1/1     Running   0          144m    172.17.125.6    k8s-node01   <none>           <none>

NAME                            TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE     SELECTOR
service/elasticsearch-logging   ClusterIP   10.107.157.176   <none>        9200/TCP         3h42m   k8s-app=elasticsearch-logging
service/kibana-logging          NodePort    10.97.92.222     <none>        5601:30495/TCP   150m    k8s-app=kibana-logging

NAME                              ENDPOINTS            AGE
endpoints/elasticsearch-logging   172.27.14.195:9200   3h42m
endpoints/kibana-logging          172.17.125.6:5601    150m

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(24)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示