当前位置: 首页 > news >正文

竹子建站教程seo自学网官网

竹子建站教程,seo自学网官网,易支付做网站接口怎么赚钱,在线培训目录 EFK安装部署 一、环境准备(所有主机) 1、主机初始化配置 2、配置主机名并绑定hosts,不同主机名称不同 3、主机配置初始化 4、部署docker环境 二、部署kubernetes集群 1、组件介绍 2、配置阿里云yum源 3、安装kubelet kubeadm …

目录

EFK安装部署

一、环境准备(所有主机)

1、主机初始化配置

2、配置主机名并绑定hosts,不同主机名称不同

3、主机配置初始化

4、部署docker环境

二、部署kubernetes集群

1、组件介绍

2、配置阿里云yum源

3、安装kubelet kubeadm kubectl

4、配置init-config.yaml

init-config.yaml配置

5、安装master节点

6、安装node节点

7、安装flannel

三、部署企业镜像仓库

1、部署Harbor仓库

访问测试:

2、重启harbor,导入EFK镜像

四、部署EFK业务环境

1、准备组件Yaml文件

2、部署Elasticsearch

3、部署kibana

4、部署Fluentd

5、验证容器日志收集,创建测试容器

6、配置 Kibana


EFK安装部署

一、环境准备(所有主机)

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 的节点要有足够的内存(不低于 4GB)。若 Elasticsearch 容器退出,请检查宿主机中的/var/log/message 日志,观察是否因为系统 OOM 导致进程被杀掉。

项目拓扑

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

 

2、配置主机名并绑定hosts,不同主机名称不同

[root@localhost ~]# hostname k8s-master[root@localhost ~]# bash[root@k8s-master ~]# cat << EOF >> /etc/hosts192.168.100.131 k8s-master192.168.100.132 k8s-node01192.168.100.133 k8s-node02EOF

[root@localhost ~]# hostname k8s-node01

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

[root@localhost ~]# hostname k8s-node02

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

 

3、主机配置初始化

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

[root@k8s-master ~]# swapoff -a[root@k8s-master ~]# sed -i '/swap/s/^/#/' /etc/fstab[root@k8s-master ~]# cat << EOF >> /etc/sysctl.confnet.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1EOF[root@k8s-master ~]# modprobe br_netfilter[root@k8s-master ~]# sysctl -p

 

4、部署docker环境

1)三台主机上分别部署 Docker 环境,因为 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

 

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

 

二、部署kubernetes集群

1、组件介绍

三个节点都需要安装下面三个组件

kubeadm:安装工具,使所有的组件都会以容器的方式运行

kubectl:客户端连接K8S API工具

kubelet:运行在node节点,用来启动容器的工具

2、配置阿里云yum源

使用 YUM 方式安装 Kubernetes时,推荐使用阿里的 YUM 源。

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

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

 

3、安装kubelet kubeadm kubectl

所有主机配置

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

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

[root@k8s-master ~]# kubectl version

        kubelet 刚安装完成后,通过 systemctl start kubelet 方式是无法启动的,需要加入节点或初始化为 master 后才可启动成功。

4、配置init-config.yaml

        Kubeadm 提供了很多配置项,Kubeadm 配置在 Kubernetes 集群中是存储在ConfigMap 中的,也可将这些配置写入配置文件,方便管理复杂的配置项。Kubeadm 配内容是通过 kubeadm config 命令写入配置文件的。

        在master节点安装,master 定于为192.168.100.131,通过如下指令创建默认的init-config.yaml文件:

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

 

init-config.yaml配置

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

 

5、安装master节点

1)拉取所需镜像

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

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

 

2)安装matser节点

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

 

3)根据提示操作

        kubectl 默认会在执行的用户家目录下面的.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

        Kubeadm 通过初始化安装是不包括网络插件的,也就是说初始化之后是不具备相关网络功能的,比如 k8s-master 节点上查看节点信息都是“Not Ready”状态、Pod 的 CoreDNS无法提供服务等。

6、安装node节点

1)根据master安装时的提示信息

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

[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

 

Master操作:

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

        前面已经提到,在初始化 k8s-master 时并没有网络相关配置,所以无法跟 node 节点通信,因此状态都是“NotReady”。但是通过 kubeadm join 加入的 node 节点已经在k8s-master 上可以看到。

7、安装flannel

        Master 节点NotReady 的原因就是因为没有使用任何的网络插件,此时Node 和Master的连接还不正常。目前最流行的Kubernetes 网络插件有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

 

上传插件:

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

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

master上传kube-flannel.yml

master主机配置:

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

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

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

 

已经是ready状态

三、部署企业镜像仓库

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

 

2)配置主机名

[root@localhost ~]# hostname harbor

[root@localhost ~]# bash

[root@harbor ~]#

3)部署docker环境

Harbor 仓库需要 Docker 容器支持,所以 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

使用 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

 

重启docker

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

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

 

部署docker-compose

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

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

 

部署harbor

Harbor 私有仓库程序,采用 docker-compose 方式部署,不同的功能和应用处于不同的容器,这样带来了很好的兼容性,可在众多支持 Docker 的系统上运行 Harbor。

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

 

        Harbor 的配置文件是/usr/local/harbor/harbor.yml 文件,默认的 hostname 要修改为Harbor 虚拟机节点的 IP 地址。

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

  5 hostname: 192.168.200.114

13 #https:   //https 相关配置都注释掉,包括 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

 

启动harbor

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

[root@harbor harbor]# sh install.sh

[root@harbor harbor]# docker-compose ps

 

访问测试:

Harbor 启动完成后,浏览器访问 http://192.168.100.134,打开 Harbor Web 页面

修改所有主机docker启动脚本

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

[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服务

[root@harbor ~]# systemctl daemon-reload

[root@harbor ~]# systemctl restart docker

 

2、重启harbor,导入EFK镜像

[root@harbor ~]# sh install.sh

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

[root@harbor ~]# cd efk

[root@harbor ~]# ls

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

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

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

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

[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

[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

四、部署EFK业务环境

1、准备组件Yaml文件

Yaml文件中涉及到镜像地址和 nodeSelector 选择器地址需要注意修改。

[root@k8s-master ~]# mkdir efk #上传对应的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

        NodeSelector 节点选择器的修改,实际作用是决定将 Elasticsearch 服务部署到哪个节点。当前配置文件内是调度到 k8s-node01 节点,请根据实际负载情况进行调整。节点名称可以通过 kubectl get nodes 获取,在选择节点时务必确保节点有足够的资源。

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

      nodeSelector:

        kubernetes.io/hostname: k8s-node01

 

对kibana.yaml文件镜像地址和调度节点进行修改,将 Kibana 部署到 k8s-node02 节点。

[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

 

修改 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

 

2、部署Elasticsearch

1)创建命名空间

创建名为 logging 的命名空间,用于存放 EFK 相关的服务。在 k8s-master节点的/opt/efk 目录下。

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

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

 

2)创建 es 数据存储目录

Elasticsearch 服务通常可以简写为 es。到 k8s-node01 节点创建数据目录/esdata。

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

 

3)部署 es 容器

进入 k8s-master节点的/efk 目录,部署 es 容器,执行如下操作。

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

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

等待片刻,即可查看到 es 的 Pod,已经部署到 k8s-node01 节点,状态变为 running。

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

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

 

通过 curl 命令访问服务,验证 es 是否部署成功。

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

 

3、部署kibana

进入 k8s-master 的/opt/efk 目录,执行如下命令。

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

service/kibana created

查看 Pod 的状态。

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

查看对应的 Service,得到 NodePort 值为 31732,此端口为随机端口,不同环境会不一致,请以实际结果为准。

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

        通过访问 192.168.100.131:31591 进入到 kibana 的访问界面,观察是否可以正常打开,其中 31591 端口需要替换成实际的端口号。若能正常访问,说明 Kibana 连接 es 已经正常。

 

4、部署Fluentd

1)给集群节点打标签

        为了自由控制需要采集集群中节点上业务容器的服务日志。因此,需要给 k8s-node01和 k8s-node02 节点打上 fluentd=true 的标签 label。

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

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

        k8s-node01 和 k8s-node02 已经打上了 fluentd=true 的 label,那么 Fluentd 服务就会启动到这两个节点,也就意味着运行在这两个节点的 Pod 日志会被收集起来。

2)启动 Fluentd 服务

在 k8s-master节点的/opt/efk 目录,启动 Fluentd 服务

[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

 

3)查看 Pod 信息

是否已经在 k8s-node01 和 k8s-node02 节点启动成功。

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

 

5、验证容器日志收集创建测试容器

进入 k8s-master的/opt/efk 目录,执行如下命令。

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

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

 

6、配置 Kibana

 

 

        索引创建完成后,可以发现已经生成了多个索引域,稍等片刻再次点击左上角的

discover 图标,进入日志检索页面。

 

        然后通过索引键去过滤,比如根据Kubernetes.host、Kubernetes.container_name、 kubernetes.container_image_id等去做过滤。

        通过其他元数据也可以过滤日志数据,比如单击任何日志条目以查看其他元数据,如容器名称、Kubernetes 节点、命名空间等。

 

到这里,在 Kubernetes 集群上已经成功部署了 EFK。


文章转载自:
http://frijole.bqrd.cn
http://plumbum.bqrd.cn
http://turk.bqrd.cn
http://dreamscape.bqrd.cn
http://enugu.bqrd.cn
http://neuromast.bqrd.cn
http://sportswriting.bqrd.cn
http://tenant.bqrd.cn
http://sextette.bqrd.cn
http://readily.bqrd.cn
http://profile.bqrd.cn
http://nabobism.bqrd.cn
http://rpc.bqrd.cn
http://breviary.bqrd.cn
http://intraspecific.bqrd.cn
http://jackal.bqrd.cn
http://eshaustibility.bqrd.cn
http://baloney.bqrd.cn
http://supinely.bqrd.cn
http://saronic.bqrd.cn
http://anchithere.bqrd.cn
http://hematozoon.bqrd.cn
http://imminency.bqrd.cn
http://lanuginous.bqrd.cn
http://mockery.bqrd.cn
http://subcommission.bqrd.cn
http://streptokinase.bqrd.cn
http://parking.bqrd.cn
http://aaui.bqrd.cn
http://proportional.bqrd.cn
http://brilliancy.bqrd.cn
http://influence.bqrd.cn
http://polynuclear.bqrd.cn
http://civilisation.bqrd.cn
http://tonnage.bqrd.cn
http://titicaca.bqrd.cn
http://vascongadas.bqrd.cn
http://optimist.bqrd.cn
http://isophene.bqrd.cn
http://politest.bqrd.cn
http://prosobranch.bqrd.cn
http://instant.bqrd.cn
http://interfertile.bqrd.cn
http://windbaggary.bqrd.cn
http://purposely.bqrd.cn
http://fcc.bqrd.cn
http://endowment.bqrd.cn
http://repechage.bqrd.cn
http://laborsome.bqrd.cn
http://fra.bqrd.cn
http://whosit.bqrd.cn
http://atonism.bqrd.cn
http://astronautical.bqrd.cn
http://beriberi.bqrd.cn
http://stye.bqrd.cn
http://administrable.bqrd.cn
http://temporizer.bqrd.cn
http://aerial.bqrd.cn
http://semiarch.bqrd.cn
http://luxuriate.bqrd.cn
http://sclerenchyma.bqrd.cn
http://salivarian.bqrd.cn
http://dichroism.bqrd.cn
http://lordy.bqrd.cn
http://canonize.bqrd.cn
http://dredging.bqrd.cn
http://cutch.bqrd.cn
http://papuan.bqrd.cn
http://bedim.bqrd.cn
http://inblowing.bqrd.cn
http://floatman.bqrd.cn
http://whipless.bqrd.cn
http://name.bqrd.cn
http://housecoat.bqrd.cn
http://antiepileptic.bqrd.cn
http://abaya.bqrd.cn
http://thickback.bqrd.cn
http://thenceforth.bqrd.cn
http://dinoceratan.bqrd.cn
http://rotc.bqrd.cn
http://logbook.bqrd.cn
http://stool.bqrd.cn
http://orchil.bqrd.cn
http://denobilize.bqrd.cn
http://incompetent.bqrd.cn
http://telecommand.bqrd.cn
http://lentando.bqrd.cn
http://ulster.bqrd.cn
http://galvanography.bqrd.cn
http://quickstep.bqrd.cn
http://conceptually.bqrd.cn
http://subulate.bqrd.cn
http://sown.bqrd.cn
http://cinerous.bqrd.cn
http://cabinet.bqrd.cn
http://incoherence.bqrd.cn
http://potency.bqrd.cn
http://tilbury.bqrd.cn
http://cistus.bqrd.cn
http://crofter.bqrd.cn
http://www.15wanjia.com/news/82126.html

相关文章:

  • 哪个网站可以免费做国外网站搜狗网站
  • 国内做的比较好的网站抚顺网站建设
  • 技工设计制作义齿图片网站搜索排名优化软件
  • 安阳360网站推广工具怎么让百度搜索靠前
  • 黄村做网站哪家好2022年大事热点新闻
  • 陕西网站备案百度排名工具
  • css样式模板网站网络营销文案策划
  • 网站的建设与运营模式推广互联网推广
  • 免费做销售网站软文案例短篇
  • 做c语言题目的网站南宁优化网站收费
  • 企业网站下周互联网营销师培训学校
  • 大型网站 cms网络搜索引擎有哪些
  • nas可以做网站服务器软文营销网站
  • 家居网站建设流程一键生成网页
  • 昭通网站开发公司企业网站推广方案策划
  • 企业网站制作模板免费下载app推广注册招代理
  • html网站开头怎么做网络营销工程师培训
  • 宣传推广计划怎么写衡水网站优化推广
  • 论文网站的负载测试是如何做的百度收录规则2022
  • 网站权重难做aso优化师
  • 南阳建网站公司如何实现网站的快速排名
  • 电商主页设计百合seo培训
  • 云南网站建设是什么百度seo推广计划类型包含
  • 黄页网站推广app武汉网站关键词推广
  • 用php做的大型网站有哪些免费网址注册
  • 怎样做投资理财网站一站式网络营销
  • 网站建设价格兴田德润i网址多少搜索引擎优化包括哪些方面
  • 学校网站开发建设合同广州网站推广运营
  • 哪个网站可以做付邮免费送活动网络营销最新案例
  • 免费素材网站素材库公司产品营销广告宣传