国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署

這篇具有很好參考價值的文章主要介紹了【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

EFK安裝部署

一、環(huán)境準(zhǔn)備(所有主機)

1、主機初始化配置

2、配置主機名并綁定hosts,不同主機名稱不同

3、主機配置初始化

4、部署docker環(huán)境

二、部署kubernetes集群

1、組件介紹

2、配置阿里云yum源

3、安裝kubelet kubeadm kubectl

4、配置init-config.yaml

init-config.yaml配置

5、安裝master節(jié)點

6、安裝node節(jié)點

7、安裝flannel

三、部署企業(yè)鏡像倉庫

1、部署Harbor倉庫

訪問測試:

2、重啟harbor,導(dǎo)入EFK鏡像

四、部署EFK業(yè)務(wù)環(huán)境

1、準(zhǔn)備組件Yaml文件

2、部署Elasticsearch

3、部署kibana

4、部署Fluentd

5、驗證容器日志收集,創(chuàng)建測試容器

6、配置 Kibana


EFK安裝部署

一、環(huán)境準(zhǔn)備(所有主機)

IP地址

主機名

組件

192.168.100.131

k8s-master

kubeadm、kubelet、kubectl、docker-ce

192.168.100.132

k8s-node01

kubeadm、kubelet、kubectl、docker-ce、elasticsearch、fluentd

192.168.100.133

k8s-node02

kubeadm、kubelet、kubectl、docker-ce、kibana、fluentd

192.168.100.134

harbor

docker-ce、docker-compose、harbor

????????注意:所有主機配置推薦CPU:2C+ ?Memory:4G+、運行 ??????????Elasticsearch 的節(jié)點要有足夠的內(nèi)存(不低于 4GB)。若 Elasticsearch 容器退出,請檢查宿主機中的/var/log/message 日志,觀察是否因為系統(tǒng) OOM 導(dǎo)致進程被殺掉。

項目拓撲

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

1、主機初始化配置

所有主機配置禁用防火墻和selinux

[root@localhost ~]# setenforce 0

[root@localhost ~]# iptables -F

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# systemctl disable firewalld

[root@localhost ~]# systemctl stop NetworkManager

[root@localhost ~]# systemctl disable NetworkManager

[root@localhost ~]# sed -i '/^SELINUX=/s/enforcing/disabled/' /etc/selinux/config

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

2、配置主機名并綁定hosts,不同主機名稱不同

[root@localhost ~]# hostname k8s-master

[root@localhost ~]# bash

[root@k8s-master ~]# cat << EOF >> /etc/hosts

192.168.100.131 k8s-master

192.168.100.132 k8s-node01

192.168.100.133 k8s-node02

EOF

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

[root@localhost ~]# hostname k8s-node01

[root@k8s-node01 ~]#?cat?/etc/hosts

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

[root@localhost ~]# hostname k8s-node02

[root@k8s-node02 ~]#cat?/etc/hosts

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

3、主機配置初始化

[root@k8s-master ~]# yum -y install vim wget net-tools lrzsz

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

[root@k8s-master ~]# swapoff -a

[root@k8s-master ~]# sed -i '/swap/s/^/#/' /etc/fstab

[root@k8s-master ~]# cat << EOF >> /etc/sysctl.conf

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

EOF

[root@k8s-master ~]# modprobe br_netfilter

[root@k8s-master ~]# sysctl -p

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

4、部署docker環(huán)境

1)三臺主機上分別部署 Docker 環(huán)境,因為 Kubernetes 對容器的編排需要 Docker 的支持。

[root@k8s-master ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

[root@k8s-master ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

2)使用 YUM 方式安裝 Docker 時,推薦使用阿里的 YUM 源。

[root@k8s-master ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3)清除緩存

[root@k8s-master ~]# yum clean all && yum makecache fast

4)啟動docker

[root@k8s-master ~]# yum -y install docker-ce

[root@k8s-master ~]# systemctl start docker

[root@k8s-master ~]# systemctl enable docker

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

5)鏡像加速器(所有主機配置)

[root@k8s-master ~]# cat << END > /etc/docker/daemon.json

{ ????"registry-mirrors":[ "https://nyakyfun.mirror.aliyuncs.com" ]

}

END

6)重啟docker

[root@k8s-master ~]# systemctl daemon-reload

[root@k8s-master ~]# systemctl restart docker

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

二、部署kubernetes集群

1、組件介紹

三個節(jié)點都需要安裝下面三個組件

kubeadm:安裝工具,使所有的組件都會以容器的方式運行

kubectl:客戶端連接K8S API工具

kubelet:運行在node節(jié)點,用來啟動容器的工具

2、配置阿里云yum源

使用 YUM 方式安裝 Kubernetes時,推薦使用阿里的 YUM 源。

[root@k8s-master ~]# ls /etc/yum.repos.d/

[root@k8s-master ~]# cat > /etc/yum.repos.d/kubernetes.repo

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

3、安裝kubelet kubeadm kubectl

所有主機配置

[root@k8s-master ~]# yum install -y kubelet-1.20.0?kubeadm-1.20.0?kubectl-1.20.0

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

[root@k8s-master ~]# systemctl enable kubelet

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

[root@k8s-master ~]# kubectl version

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

????????kubelet 剛安裝完成后,通過 systemctl start kubelet 方式是無法啟動的,需要加入節(jié)點或初始化為 master 后才可啟動成功。

4、配置init-config.yaml

????????Kubeadm 提供了很多配置項,Kubeadm 配置在 Kubernetes 集群中是存儲在ConfigMap 中的,也可將這些配置寫入配置文件,方便管理復(fù)雜的配置項。Kubeadm 配內(nèi)容是通過 kubeadm config 命令寫入配置文件的。

????????在master節(jié)點安裝,master 定于為192.168.100.131,通過如下指令創(chuàng)建默認的init-config.yaml文件:

[root@k8s-master ~]# kubeadm config print init-defaults > init-config.yaml

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

init-config.yaml配置

[root@k8s-master ~]# cat init-config.yaml

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

5、安裝master節(jié)點

1)拉取所需鏡像

[root@k8s-master ~]# kubeadm config images list --config init-config.yaml

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

[root@k8s-master ~]# kubeadm config images pull?--config init-config.yaml

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

2)安裝matser節(jié)點

[root@k8s-master ~]# kubeadm init --config=init-config.yaml //初始化安裝K8S

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

3)根據(jù)提示操作

????????kubectl 默認會在執(zhí)行的用戶家目錄下面的.kube 目錄下尋找config 文件。這里是將在初始化時[kubeconfig]步驟生成的admin.conf 拷貝到.kube/config

[root@k8s-master ~]# mkdir -p $HOME/.kube

[root@k8s-master ~]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

[root@k8s-master ~]# chown $(id -u):$(id -g) $HOME/.kube/config

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

????????Kubeadm 通過初始化安裝是不包括網(wǎng)絡(luò)插件的,也就是說初始化之后是不具備相關(guān)網(wǎng)絡(luò)功能的,比如 k8s-master 節(jié)點上查看節(jié)點信息都是“Not Ready”狀態(tài)、Pod 的 CoreDNS無法提供服務(wù)等。

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

6、安裝node節(jié)點

1)根據(jù)master安裝時的提示信息

[root@k8s-node01 ~]# kubeadm join 192.168.100.131:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:78bdd0f01660f4e84355b70aa8807cf1d0d6325b0b28502b29c241563e93b4ae

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

[root@k8s-master ~]# kubectl get nodes

[root@k8s-node02 ~]# kubeadm join 192.168.100.131:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:78bdd0f01660f4e84355b70aa8807cf1d0d6325b0b28502b29c241563e93b4ae

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

Master操作:

[root@k8s-master ~]# kubectl get nodes

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

????????前面已經(jīng)提到,在初始化 k8s-master 時并沒有網(wǎng)絡(luò)相關(guān)配置,所以無法跟 node 節(jié)點通信,因此狀態(tài)都是“NotReady”。但是通過 kubeadm join 加入的 node 節(jié)點已經(jīng)在k8s-master 上可以看到。

7、安裝flannel

????????Master 節(jié)點NotReady 的原因就是因為沒有使用任何的網(wǎng)絡(luò)插件,此時Node 和Master的連接還不正常。目前最流行的Kubernetes 網(wǎng)絡(luò)插件有Flannel、Calico、Canal、Weave 這里選擇使用flannel。

所有主機:

master上傳kube-flannel.yml,所有主機上傳flannel_v0.12.0-amd64.tar,cni-plugins-linux-amd64-v0.8.6.tgz

[root@k8s-master ~]# docker load < flannel_v0.12.0-amd64.tar

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

上傳插件:

[root@k8s-master ~]# tar xf cni-plugins-linux-amd64-v0.8.6.tgz

[root@k8s-master ~]# cp flannel /opt/cni/bin/

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

master上傳kube-flannel.yml

master主機配置:

[root@k8s-master ~]# kubectl apply -f kube-flannel.yml

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

[root@k8s-master ~]# kubectl get nodes

[root@k8s-master ~]# kubectl get pods -n kube-system

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

已經(jīng)是ready狀態(tài)

三、部署企業(yè)鏡像倉庫

1、部署Harbor倉庫

1)所有主機配置禁用防火墻和selinux

[root@localhost ~]# setenforce 0

[root@localhost ~]# iptables -F

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# systemctl disable firewalld

[root@localhost ~]# systemctl stop NetworkManager

[root@localhost ~]# systemctl disable NetworkManager

[root@localhost ~]# sed -i '/^SELINUX=/s/enforcing/disabled/' /etc/selinux/config

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

2)配置主機名

[root@localhost ~]# hostname harbor

[root@localhost ~]# bash

[root@harbor ~]#

3)部署docker環(huán)境

Harbor 倉庫需要 Docker 容器支持,所以 Docker 環(huán)境是必不可少的。

[root@k8s-master ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

[root@k8s-master ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

使用 YUM 方式安裝 Docker 時,推薦使用阿里的 YUM 源。

[root@k8s-master ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

清除緩存

[root@k8s-master ~]# yum clean all && yum makecache fast

啟動docker

[root@k8s-master ~]# yum -y install docker-ce

[root@k8s-master ~]# systemctl start docker

[root@k8s-master ~]# systemctl enable docker

鏡像加速器(所有主機配置)

[root@k8s-master ~]# cat << END > /etc/docker/daemon.json

{ ???????"registry-mirrors":[ "https://nyakyfun.mirror.aliyuncs.com" ]

}

END

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

重啟docker

[root@k8s-master ~]# systemctl daemon-reload

[root@k8s-master ~]# systemctl restart docker

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

部署docker-compose

[root@harbor ~]# mv docker-compose /usr/local/bin/

[root@harbor ~]# chmod +x /usr/local/bin/docker-compose

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

部署harbor

Harbor 私有倉庫程序,采用 docker-compose 方式部署,不同的功能和應(yīng)用處于不同的容器,這樣帶來了很好的兼容性,可在眾多支持 Docker 的系統(tǒng)上運行 Harbor。

[root@harbor ~]# tar xf harbor-offline-installer-v1.10.6.tgz -C /usr/local/

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

????????Harbor 的配置文件是/usr/local/harbor/harbor.yml 文件,默認的 hostname 要修改為Harbor 虛擬機節(jié)點的 IP 地址。

[root@harbor ~]# vim /usr/local/harbor/harbor.yml

??5 hostname: 192.168.200.114

13 #https: ??//https 相關(guān)配置都注釋掉,包括 https、port、certificate 和 private_key

?14 ??# https port for harbor, default is 443

?15 ??#port: 443

?16 ??# The path of cert and key files for nginx

?17 ??#certificate: /your/certificate/path

?18 ??#private_key: /your/private/key/path

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

啟動harbor

[root@harbor ~]# cd /usr/local/harbor/

[root@harbor harbor]# sh install.sh

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

[root@harbor harbor]# docker-compose ps

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

訪問測試:

Harbor 啟動完成后,瀏覽器訪問 http://192.168.100.134,打開 Harbor Web 頁面

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

修改所有主機docker啟動腳本

[root@harbor ~]# vim /usr/lib/systemd/system/docker.service

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

[root@harbor ~]# scp /usr/lib/systemd/system/docker.service 192.168.100.131:/usr/lib/systemd/system/

[root@harbor ~]# scp /usr/lib/systemd/system/docker.service 192.168.100.132:/usr/lib/systemd/system/

[root@harbor ~]# scp /usr/lib/systemd/system/docker.service 192.168.100.133:/usr/lib/systemd/system/

所有主機重啟docker服務(wù)

[root@harbor ~]# systemctl daemon-reload

[root@harbor ~]# systemctl restart docker

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

2、重啟harbor,導(dǎo)入EFK鏡像

[root@harbor ~]# sh install.sh

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

[root@harbor ~]# docker login -u admin -p Harbor12345 http://192.168.100.134

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

[root@harbor ~]# cd efk

[root@harbor ~]# ls

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

[root@harbor ~]# docker load < elasticsearch-7.4.2.tar

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

[root@harbor ~]# docker load < fluentd-es.tar

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

[root@harbor ~]# docker load < kibana-7.4.2.tar

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

[root@harbor ~]# docker load < alpine-3.6.tar

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

[root@harbor ~]# docker tag b1179d 192.168.100.134/efk/elasticsearch:7.4.2

[root@harbor ~]# docker tag 636f3d 192.168.100.134/efk/fluentd-es-root:v2.5.2

[root@harbor ~]# docker tag 43773d 192.168.100.134/efk/alpine:3.6

[root@harbor ~]# docker tag 230d3d 192.168.100.134/efk/kibana:7.4.2

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

[root@harbor ~]# docker push 192.168.100.134/efk/elasticsearch:7.4.2

[root@harbor ~]# docker push 192.168.100.134/efk/fluentd-es-root:v2.5.2

[root@harbor ~]# docker push 192.168.100.134/efk/kibana:7.4.2

[root@harbor ~]# docker push 192.168.100.134/efk/alpine:3.6

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

四、部署EFK業(yè)務(wù)環(huán)境

1、準(zhǔn)備組件Yaml文件

Yaml文件中涉及到鏡像地址和 nodeSelector 選擇器地址需要注意修改。

[root@k8s-master ~]# mkdir efk #上傳對應(yīng)的yaml文件

[root@k8s-master ~]# cd efk/

[root@k8s-master efk]# grep "image:" elasticsearch.yaml

????????image: 192.168.100.134/efk/elasticsearch:7.4.2

????????image: 192.168.100.134/efk/alpine:3.6

????????image: 192.168.100.134/efk/alpine:3.6

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

????????NodeSelector 節(jié)點選擇器的修改,實際作用是決定將 Elasticsearch 服務(wù)部署到哪個節(jié)點。當(dāng)前配置文件內(nèi)是調(diào)度到 k8s-node01 節(jié)點,請根據(jù)實際負載情況進行調(diào)整。節(jié)點名稱可以通過 kubectl get nodes 獲取,在選擇節(jié)點時務(wù)必確保節(jié)點有足夠的資源。

[root@k8s-master efk]# grep -A1 "nodeSelector" elasticsearch.yaml

??????nodeSelector:

????????kubernetes.io/hostname: k8s-node01

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

對kibana.yaml文件鏡像地址和調(diào)度節(jié)點進行修改,將 Kibana 部署到 k8s-node02 節(jié)點。

[root@k8s-master efk]# grep "image:" kibana.yaml

????????image: 192.168.100.134/efk/kibana:7.4.2

[root@k8s-master efk]# grep -A1 "nodeSelector" kibana.yaml

??????nodeSelector:

????????kubernetes.io/hostname: k8s-node02

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

修改 fluentd.yaml的鏡像地址

[root@k8s-master efk]# grep "image:" fluentd.yaml

????????image: 192.168.100.134/efk/fluentd-es-root:v2.5.2

修改 test-pod.yaml的鏡像地址

[root@k8s-master efk]# grep "image:" test-pod.yaml

????image: 192.168.100.134/efk/alpine:3.6

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

2、部署Elasticsearch

1)創(chuàng)建命名空間

創(chuàng)建名為 logging 的命名空間,用于存放 EFK 相關(guān)的服務(wù)。在 k8s-master節(jié)點的/opt/efk 目錄下。

[root@k8s-master efk]# kubectl create -f namespace.yaml

[root@k8s-master efk]# kubectl get namespaces | grep logging

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

2)創(chuàng)建 es 數(shù)據(jù)存儲目錄

Elasticsearch 服務(wù)通??梢院唽憺?es。到 k8s-node01 節(jié)點創(chuàng)建數(shù)據(jù)目錄/esdata。

[root@k8s-node01 ~]# mkdir /esdata

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

3)部署 es 容器

進入 k8s-master節(jié)點的/efk 目錄,部署 es 容器,執(zhí)行如下操作。

[root@k8s-master ~]# cd efk/

[root@k8s-master efk]# kubectl create -f elasticsearch.yaml

等待片刻,即可查看到 es 的 Pod,已經(jīng)部署到 k8s-node01 節(jié)點,狀態(tài)變?yōu)?running。

[root@k8s-master efk]# kubectl -n logging get pods -o wide

[root@k8s-master efk]# kubectl -n logging get svc

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

通過 curl 命令訪問服務(wù),驗證 es 是否部署成功。

[root@k8s-master efk]# curl 10.98.29.202:9200

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

3、部署kibana

進入 k8s-master 的/opt/efk 目錄,執(zhí)行如下命令。

[root@k8s-master efk]# kubectl create -f kibana.yaml

service/kibana created

查看 Pod 的狀態(tài)。

[root@k8s-master efk]# kubectl -n logging get pods

查看對應(yīng)的 Service,得到 NodePort 值為 31732,此端口為隨機端口,不同環(huán)境會不一致,請以實際結(jié)果為準(zhǔn)。

[root@k8s-master efk]# kubectl -n logging get svc |grep

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

????????通過訪問 192.168.100.131:31591?進入到 kibana 的訪問界面,觀察是否可以正常打開,其中 31591?端口需要替換成實際的端口號。若能正常訪問,說明 Kibana 連接 es 已經(jīng)正常。

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

4、部署Fluentd

1)給集群節(jié)點打標(biāo)簽

????????為了自由控制需要采集集群中節(jié)點上業(yè)務(wù)容器的服務(wù)日志。因此,需要給 k8s-node01和 k8s-node02 節(jié)點打上 fluentd=true 的標(biāo)簽 label。

[root@k8s-master efk]# kubectl label node k8s-node01 fluentd=true

[root@k8s-master efk]# kubectl label node k8s-node02 fluentd=true

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

????????k8s-node01 和 k8s-node02 已經(jīng)打上了 fluentd=true 的 label,那么 Fluentd 服務(wù)就會啟動到這兩個節(jié)點,也就意味著運行在這兩個節(jié)點的 Pod 日志會被收集起來。

2)啟動 Fluentd 服務(wù)

在 k8s-master節(jié)點的/opt/efk 目錄,啟動 Fluentd 服務(wù)

[root@k8s-master efk]# kubectl create -f fluentd-es-config-main.yaml

[root@k8s-master efk]# kubectl create -f fluentd-configmap.yaml

[root@k8s-master efk]# kubectl create -f fluentd.yaml

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

3)查看 Pod 信息

是否已經(jīng)在 k8s-node01 和 k8s-node02 節(jié)點啟動成功。

[root@k8s-master efk]# kubectl -n logging get pods

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

5、驗證容器日志收集,創(chuàng)建測試容器

進入 k8s-master的/opt/efk 目錄,執(zhí)行如下命令。

[root@k8s-master efk]# kubectl create -f test-pod.yaml

[root@k8s-master efk]# kubectl get pods

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

6、配置 Kibana

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器?

?

????????索引創(chuàng)建完成后,可以發(fā)現(xiàn)已經(jīng)生成了多個索引域,稍等片刻再次點擊左上角的

discover 圖標(biāo),進入日志檢索頁面。

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

????????然后通過索引鍵去過濾,比如根據(jù)Kubernetes.host、Kubernetes.container_name、 kubernetes.container_image_id等去做過濾。

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

????????通過其他元數(shù)據(jù)也可以過濾日志數(shù)據(jù),比如單擊任何日志條目以查看其他元數(shù)據(jù),如容器名稱、Kubernetes 節(jié)點、命名空間等。

【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署,云原生,kubernetes,容器

?

到這里,在 Kubernetes 集群上已經(jīng)成功部署了 EFK。文章來源地址http://www.zghlxwxcb.cn/news/detail-653317.html

到了這里,關(guān)于【云原生】【k8s】Kubernetes+EFK構(gòu)建日志分析安裝部署的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • EFK簡單部署收集K8S日志

    EFK簡單部署收集K8S日志

    安裝ES kibana K8S部署

    2024年04月27日
    瀏覽(25)
  • K8S部署EFK(fluentd)收集日志

    首先部署es和kinban es部署 創(chuàng)建es-svc es-statefulset.yaml 開啟es跨域訪問 部署kinban 創(chuàng)建kibana的configmap kinban開啟中文 創(chuàng)建kibana 部署fluentd 創(chuàng)建fluentd-configmap 只收集pod label 標(biāo)記為 logging=true 的日志 注意掛載的日志目錄出現(xiàn)unreadable 說明日志軟連接有問題,無法讀取日志 部署fluentd-dae

    2024年02月16日
    瀏覽(26)
  • K8s部署輕量級日志收集系統(tǒng)EFK(elasticsearch + filebeat + kibana)

    目錄 K8s部署EFK(elasticsear + filebeat + kibana)日志收集 一.準(zhǔn)備鏡像 二.搭建Elasticsearch + kibana 1.在可執(zhí)行kubectl命令的服務(wù)器準(zhǔn)備安裝的yml文件 2.在elasticsearch-kibana目錄下創(chuàng)建配置文件elasticsearch.yml 3.創(chuàng)建kibana配置文件kibana.yml 4.在k8s中創(chuàng)建elasticsearch和kibana的配置文件configmap 5.檢查

    2024年02月08日
    瀏覽(37)
  • k8s--基礎(chǔ)--24.3--efk--安裝efk組件

    k8s--基礎(chǔ)--24.3--efk--安裝efk組件

    下面的步驟在k8s集群的master1節(jié)點操作 創(chuàng)建一個名稱空間,將EFK組件安裝到該名稱空間中。 名稱空間:kube-logging 內(nèi)容 通過上面步驟已經(jīng)創(chuàng)建了一個名稱空間kube-logging,在這個名稱空間下去安裝日志收集組件efk 我們將部署一個3節(jié)點的Elasticsearch集群,我們使用3個Elasticsearch P

    2024年02月14日
    瀏覽(21)
  • 云原生|kubernetes|kubernetes集群部署神器kubekey安裝部署高可用k8s集群(半離線形式)

    云原生|kubernetes|kubernetes集群部署神器kubekey安裝部署高可用k8s集群(半離線形式)

    前面利用kubekey部署了一個簡單的非高可用,etcd單實例的kubernetes集群,經(jīng)過研究,發(fā)現(xiàn)部署過程可以簡化,省去了一部分下載過程(主要是下載kubernetes組件的過程)只是kubernetes版本會固定在1.22.16版本,etcd集群可以部署成生產(chǎn)用的外部集群,并且apiserver等等組件也是高可用,

    2024年02月15日
    瀏覽(27)
  • 云原生Kubernetes: Ubuntu 安裝 K8S 1.23版本(單Master架構(gòu)) 及故障恢復(fù)

    云原生Kubernetes: Ubuntu 安裝 K8S 1.23版本(單Master架構(gòu)) 及故障恢復(fù)

    目錄 一、實驗 1.環(huán)境 2.安裝 Ubuntu 3.連接Ubuntu 4.master節(jié)點安裝docker 5.node節(jié)點安裝docker 6.master節(jié)點安裝K8S 7.添加K8S工作節(jié)點 8.安裝網(wǎng)絡(luò)插件calico 9.故障 10.故障恢復(fù) 11.測試k8s網(wǎng)絡(luò)和coredns 二、問題 1.Ubuntu如何修改鏡像源 2.Ubuntu和Windows之間如何實現(xiàn)復(fù)制粘貼 3.Ubuntu如何開啟openssh

    2024年02月21日
    瀏覽(22)
  • 【云原生-K8s】Kubernetes安全組件CIS基準(zhǔn)kube-beach安裝及使用

    【云原生-K8s】Kubernetes安全組件CIS基準(zhǔn)kube-beach安裝及使用

    為了保證集群以及容器應(yīng)用的安全,Kubernetes 提供了多種安全機制,限制容器的行為,減少容器和集群的攻擊面,保證整個系統(tǒng)的安全性。 互聯(lián)網(wǎng)安全中心(CIS,Center for Internet Security),是一個非盈利組織,致力為互聯(lián)網(wǎng)提供免費的安全防御解決方案 官網(wǎng) :https://www.cisecu

    2024年02月06日
    瀏覽(54)
  • 云原生Kubernetes:K8S概述

    云原生Kubernetes:K8S概述

    目錄 一、理論 1.云原生 2.K8S 3.k8s集群架構(gòu)與組件 4.K8S網(wǎng)絡(luò) 二、總結(jié) (1)概念 云原生是一種基于容器、微服務(wù)和自動化運維的軟件開發(fā)和部署方法。它可以使應(yīng)用程序更加高效、可靠和可擴展,適用于各種不同的云平臺。 如果要更直接通俗的來解釋下上面的概念,云原生更

    2024年02月10日
    瀏覽(33)
  • 【云原生 ? Kubernetes】認識 k8s、k8s 架構(gòu)、核心概念點介紹

    【云原生 ? Kubernetes】認識 k8s、k8s 架構(gòu)、核心概念點介紹

    目錄 一、Kubernetes 簡介 二、Kubernetes 架構(gòu) 三、Kunbernetes 有哪些核心概念? 1. 集群 Cluster 2. 容器 Container 3. POD 4. 副本集 ReplicaSet 5. 服務(wù) service 6. 發(fā)布 Deployment 7. ConfigMap/Secret 8. DaemonSet 9. 核心概念總結(jié) Kubernetes 簡稱 k8s,是支持云原生部署的一個平臺,起源于谷歌。谷歌早在十幾

    2024年02月03日
    瀏覽(859)
  • 【云原生 ? Kubernetes】認識 k8s 網(wǎng)絡(luò)、外部網(wǎng)絡(luò)訪問 k8s 內(nèi)部服務(wù)

    【云原生 ? Kubernetes】認識 k8s 網(wǎng)絡(luò)、外部網(wǎng)絡(luò)訪問 k8s 內(nèi)部服務(wù)

    目錄 一、認識 Kubernetes 網(wǎng)絡(luò) 二、外部網(wǎng)絡(luò)如何訪問 k8s 內(nèi)部服務(wù) 1. NodePort 2. Load Balancer 3. Ingress Kubernetes 最底層的網(wǎng)絡(luò)為節(jié)點網(wǎng)絡(luò),用來保證 k8s 集群的節(jié)點(master 和 worker、worker 節(jié)點之間)能夠做正常的 IP 尋址和通訊。 Kubernetes 第二層網(wǎng)絡(luò)就是 Pod 網(wǎng)絡(luò),構(gòu)建于節(jié)點網(wǎng)絡(luò)之上

    2024年01月16日
    瀏覽(106)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包