K8S-ELK日志系统 之三:kafka集群

技术K8S-ELK日志系统 之三:kafka集群 K8S-ELK日志系统 之三:kafka集群k8s部署kafkakafka: https://mirrors.tuna.tsinghua.edu.cn/

K8S-ELK日志系统之三:卡夫卡集群

k8s部署卡夫卡

kafka: https://mirrors .金枪鱼。清华。edu。cn/Apache/Kafka/3。0 .0/卡夫卡_ 2.12-3。0 .0 .tgz

1、创建卡夫卡网络文件系统

10.0.8.131:/data.kafka

2、用户和权限与一和二一致

3、新增NFS置备程序

新增容器和卷

一类:部署

2个应用程序版本:/v1

3元数据:

四名称:客户端-置备程序

5命名空间: es

6标签:

7 app : NFS-客户端-置备程序

8 spec:

9副本: 1

10战略:

11类型:重新创建

12选择器:

13匹配标签:

14 app : NFS-客户端-置备程序

15模板:

16元数据:

17标签:

18 app : NFS-客户端-置备程序

19 spec:

20服务帐户:置备程序

21集装箱:

22 -名称:客户端-置备程序

23 #图像: quay.io/external_storage/nfs-client-provisioner:latest

24图像: easzlab/NFS-子资源-外部资源:v 4。0 .一

25卷安装3360

26 -名称:客户端-根

27个挂载路径:/持久卷

28 env:

29 -名称:置备程序_名称

30值:置备程序

31 - name: NFS_SERVER

32 value: 10.0.8.131

33 -名称: NFS _路径

34值:/数据/弹性搜索

35 -名称:动物园管理员-供应员

36 image : easzlab/NFS-子供应商-外部供应商:v 4。0 .一

37卷安装3360

38 -名称:动物园管理员-根

39个挂载路径:/持久卷

40 env:

41 -名称:置备程序_名称

42价值:动物园管理员-供应商

43 -名称: NFS _服务器

44 value: 10.0.8.131

45 -名称: NFS _路径

46 value: /data/zookeeper

47-名称: NFS-卡夫卡-供应商

48 image : easzlab/NFS-子供应商-外部供应商:v 4。0 .一

49卷安装3360

50 - name: nfs-kafka-root

51个挂载路径:/持久卷

52 env:

53 -名称:置备程序_名称

54价值: nfs-kafka-provisioner

55 -名称: NFS _服务器

56

value: 10.0.8.131
57 - name: NFS_PATH
58 value: /data/kafka
59 volumes:
60 - name: nfs-client-root
61 nfs:
62 server: 10.0.8.131
63 path: /data/elasticsearch
64 - name: nfs-zookeeper-root
65 nfs:
66 server: 10.0.8.131
67 path: /data/zookeeper
68 - name: nfs-kafka-root
69 nfs:
70 server: 10.0.8.131
71 path: /data/kafka
nfs-provisioner.yaml

3、新增storageclass

1 apiVersion: storage.k8s.io/v1
2 kind: StorageClass
3 metadata:
4   name: nfs-kafka-storage
5 provisioner: nfs-kafka-provisioner
6 parameters:
7   archiveOnDelete: "true"   

storageclass.yaml

4、Dockerfile

 1 FROM openjdk:11
 2 ADD  kafka_2.12-3.0.0.tgz /
 3 COPY sources.list /etc/apt/
 4 COPY server.properties /kafka_2.12-3.0.0/config/
 5 COPY entrypoint.sh /
 6 RUN apt-get update -y   \
 7     apt-get install vim inetutils-ping net-tools telnet -y  \
 8     chmod 777 /tmp  \
 9     chmod +x entrypoint.sh
10 ENV PATH="/kafka_2.12-3.0.0/bin:${PATH}" \
11     KAFKA_VERSION=3.0.0
12     
13 ENTRYPOINT ["/entrypoint.sh"]
14 CMD ["kafka-server-start.sh","/kafka_2.12-3.0.0/config/server.properties"]
15 EXPOSE 9092

Dockerfile

 1 #!/bin/bash 
 2 
 3 CONFIGFILE_PATH="/kafka_2.12-3.0.0/config/server.properties"
 4 IFS=\,, read -a zkservers "${ZKSERVERS}"
 5 zkconnect=''
 6 for i in ${zkservers[@]};do
 7   if [ "${zkconnect}x" == "x" ];then
 8     zkconnect="$i:$PORT"
 9     
10   else      
11     zkconnect="${zkconnect},$i:$PORT"
12   fi
13 done
14 echo "broker.id=`hostname|awk -F'-' '{print $2}'`" ${CONFIGFILE_PATH}
15 echo "zookeeper.connect=${zkconnect}"  ${CONFIGFILE_PATH}
16 echo "log.dirs=${LOG_DIR}"  ${CONFIGFILE_PATH}
17 echo "listeners=PLAINTEXT://`hostname -i`:9092"  ${CONFIGFILE_PATH}
18 
19 exec "$@"

entrypoint.sh

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free

sources.list

num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connection.timeout.ms=18000
group.initial.rebalance.delay.ms=0

server.properties

传递到本地仓库:

docker build -t harbor.myland.com/baseimages/kafka-jdk11:3.0.0-20211119 .

docker push harbor.myland.com/baseimages/kafka-jdk11:3.0.0-20211119

5、statefulset.yaml

包含注册到zookeeper

 1 apiVersion: v1
 2 kind: Service
 3 metadata:
 4   name: kafka
 5   namespace: es
 6   labels:
 7     app: kafka
 8 spec:
 9   type: NodePort
10   ports:
11   - name: kafka
12     port: 9020
13     targetPort: 9020
14     nodePort: 30209
15   selector:
16     app: kafka
17 ---
18 apiVersion: apps/v1
19 kind: StatefulSet
20 metadata:
21   name: kafka
22   namespace: es
23 spec:
24   selector:
25     matchLabels:
26       app: kafka
27   serviceName: kafka
28   replicas: 3
29   template:
30     metadata:
31       labels:
32         app: kafka
33     spec:
34       containers:
35       - name: kafka
36         image: harbor.myland.com/baseimages/kafka-jdk11:3.0.0-20211119
37         imagePullPolicy: Always
38         env:
39         - name: LOG_DIR
40           value: "/data/kafka-logs"
41         - name: PORT
42           value: "2181"
43         - name: ZKSERVERS
44           value: "zookeeper-0.zk,zookeeper-1.zk,zookeeper-2.zk"
45 
46         ports:
47         - name: kafka
48           containerPort: 9020
49         volumeMounts:
50           - name: data
51             mountPath: /data
52         resources:
53           limits:
54             cpu: 200m
55             memory: 600Mi
56           requests:
57             cpu: 100m
58             memory: 100Mi
59         readinessProbe:
60           exec:
61             command: ["netstat", "-ant","grep","9200"]
62           initialDelaySeconds: 30
63           periodSeconds: 10
64           timeoutSeconds: 5
65       affinity:
66         podAntiAffinity:
67           requiredDuringSchedulingIgnoredDuringExecution:
68           - labelSelector:
69               matchExpressions:
70               - {key: app ,operator: In, values: ["kafka"]}
71             topologyKey: kubernetes.io/hostname   
72 
73   volumeClaimTemplates:
74   - metadata:
75       name: data
76       annotations:
77         volume.beta.kubernetes.io/storage-class: "nfs-kafka-storage"
78       namespace: es
79     spec:
80       accessModes: [ "ReadWriteOnce" ]
81       storageClassName: nfs-kafka-storage
82       resources:
83         requests:
84           storage: 5Gi

kafka_stateful.yaml

6、验证

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/153040.html

(0)

相关推荐

  • 抖音刷人气,网页版抖音刷人气平台?

    技术抖音刷人气,网页版抖音刷人气平台?代刷平台点击网址即可直接进入,这是国内首家支持人工刷抖音粉丝、抖音双击、抖音播放量、抖音上热门的网站,有兴趣的就来试试吧!小编我的收听量都是在这刷的,安全、靠谱、价格也便宜!强烈推荐

    测评 2021年11月11日
  • QT+树莓派如何实现一个简单的播放器

    技术QT+树莓派如何实现一个简单的播放器这篇文章给大家介绍QT+树莓派如何实现一个简单的播放器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。说起树莓派,买了也有一段时间了,但是始终都没有做出什么好玩

    攻略 2021年11月19日
  • 为什么企业出海需要选择美国服务器

    技术为什么企业出海需要选择美国服务器由于现在租用海外建站的用户有不少,主流的主要有香港服务器、美国服务器、台湾服务器等,在这篇文章中,我将讨论什么是租用美国服务器以及您为什么需要它。什么是租用美国服务器? 租用美国服务器

    礼包 2021年12月8日
  • 数据库中编码乱码怎么办

    技术数据库中编码乱码怎么办小编给大家分享一下数据库中编码乱码怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. 使用 <META htt

    攻略 2021年11月24日
  • python中fabric模块安装报错(pythonfabric怎么使用)

    技术python中Fabric模块怎么用这篇文章给大家分享的是有关python中Fabric模块怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。基础一:#!/usr/bin/env pyt

    攻略 2021年12月25日
  • MySQL优化经验是怎样的

    技术MySQL优化经验是怎样的MySQL优化经验是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。MySQL优化经验同时在线访问量继续增大 对于1G

    攻略 2021年11月17日