K8S/Kubernetes中安装Kafka-manager |
发表者:admin分类:云计算容器2020-09-21 17:55:43 阅读[1169] |
Kubernetes 部署 Kafka Manager
创建 Kafka Manager 部署文件。
kafka-manager.yaml
apiVersion: v1
kind: Service
metadata:
name: kafka-manager
labels:
app: kafka-manager
namespace: kafka
spec:
type: NodePort
ports:
- name: kafka
port: 9000
targetPort: 9000
nodePort: 30900
selector:
app: kafka-manager
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: kafka-manager
labels:
app: kafka-manager
namespace: kafka
spec:
replicas: 1
selector:
matchLabels:
app: kafka-manager
template:
metadata:
labels:
app: kafka-manager
spec:
containers:
- name: kafka-manager
image: zenko/kafka-manager:1.3.3.22
imagePullPolicy: IfNotPresent
ports:
- name: kafka-manager
containerPort: 9000
protocol: TCP
env:
- name: ZK_HOSTS
value: "zk-cs:2181"
livenessProbe:
httpGet:
path: /api/health
port: kafka-manager
readinessProbe:
httpGet:
path: /api/health
port: kafka-manager
resources:
limits:
cpu: 500m
memory: 512Mi
requests:
cpu: 250m
memory: 256Mi
注意:我这里使用的namespace与zookeeper与kafka相同的。
我这里直接使用Kuboard面板部署,先要查看之前zookeeper 部署时使用的 Service,有两种,
一个是部署 Service Headless,用于Kafka间相互通信,
另一个是部署 clusterIP Service,用于外部访问 Kafka。
所以上面YAML文件的ZK_HOSTS环境变量最好填写zookeeper的集群IP信息。
四、进入 Kafka Manager 管理 Kafka 集群
这里的 Kubernetes 集群地址为:10.10.131.11,并且在上面设置 Kafka-Manager 网络策略为 NodePort 方式,且设置端口为 30900,
这里输入地址:http://192.168.137.14:30900 访问 Kafka Manager。
进入后先配置 Kafka Manager,增加一个 Zookeeper 地址。
配置三个必填参数:
- Cluster Name:自定义一个名称,任意输入即可。
- Zookeeper Hosts:输入 Zookeeper 地址,这里设置为 Zookeeper 服务名+端口。
- Kafka Version:选择 kafka 版本。
配置完成后就可以看到新增了一条记录,点进去就可以查看相关集群信息。
附录:镜像参数配置
Zookeeper 镜像可配置变量参数
- 镜像 github 地址:https://github.com/bitnami/bitnami-docker-zookeeper
参数名称 | 描述 |
---|---|
ZOO_PORT_NUMBER | Zookeeper客户端端口。默认值:2181 |
ZOO_SERVER_ID | 集合中服务器的ID。默认值:1 |
ZOO_TICK_TIME | ZooKeeper用于心跳的基本时间单位(以毫秒为单位)。默认值:2000 |
ZOO_INIT_LIMIT | ZooKeeper用于限制仲裁中ZooKeeper服务器连接到领导者的时间长度。默认值:10 |
ZOO_SYNC_LIMIT | 服务器与领导者的过时距离。默认值:5 |
ZOO_MAX_CLIENT_CNXNS | 限制单个客户端可能对ZooKeeper集合的单个成员进行的并发连接数。默认60 |
ZOO_SERVERS | 逗号,空格或冒号分隔的服务器列表。示例:zoo1:2888:3888,zoo2:2888:3888。没有默认值。 |
ZOO_CLIENT_USER | 将使用Zookeeper客户端进行身份验证的用户。默认值:无默认值。 |
ZOO_CLIENT_PASSWORD | 将使用Zookeeper客户端进行身份验证的密码。没有默认值。 |
ZOO_SERVER_USERS | 逗号,分号或空格分隔的要创建的用户列表。示例:user1,user2,admin。没有默认值 |
ZOO_SERVER_PASSWORDS | 逗号,半精或空格分隔的密码列表,在创建时分配给用户。示例:pass4user1,pass4user2,pass4admin。没有默认值 |
ZOO_ENABLE_AUTH | 启用Zookeeper身份验证。它使用SASL / Digest-MD5。默认值:否 |
ZOO_RECONFIG_ENABLED | 启用ZooKeeper动态重配置。默认值:否 |
ZOO_HEAP_SIZE | Java堆选项(Xmx和XM)的大小(MB)。如果通过Xmx配置Xm,则忽略此env var JVMFLAGS。默认值:1024 |
ZOO_LOG_LEVEL | Zookeeper日志级别。可用级别为:ALL,DEBUG,INFO,WARN,ERROR,FATAL,OFF,TRACE。默认值:INFO |
ALLOW_ANONYMOUS_LOGIN | 如果设置为true,则允许接受来自未经身份验证的用户的连接。默认值:否 |
JVMFLAGS | ZooKeeper进程的默认JVMFLAGS。没有默认值 |
Kafka 镜像可配置变量参数
- 镜像 github 地址:https://github.com/bitnami/bitnami-docker-kafka
参数名称 | 描述 |
---|---|
KAFKA_CFG_ZOOKEEPER_CONNECT | Zookeeper集群地址,例如”zookeeper:2181” |
KAFKA_PORT_NUMBER | Kafka端口,例如”9092” |
ALLOW_PLAINTEXT_LISTENER | 是否启用Plaintext侦听器,默认”false” |
KAFKA_CFG_LISTENERS | Kafka 监听列表,broker对外提供服务时绑定的IP和端口 |
KAFKA_CFG_ADVERTISED_LISTENERS | 给客户端用的发布至zookeeper的监听,broker 会上送此地址到zookeeper,zookeeper会将此地址提供给消费者,消费者根据此地址获取消息。 |
KAFKA_HEAP_OPTS | Java JVM堆内存大小配置,例如”-Xmx512m -Xms512m” |
KAFKA_CFG_LOGS_DIRS | Kafka 日志存储目录 |
JMX_PORT | JMX端口配置,设置此参数才能开启JMX,例如设置为”9988” |
KAFKA_CFG_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM | 是否启用基于主机名的认证认证,例如想开启可以设置为”https” |
KAFKA_CFG_BROKER_ID | Broker ID值,每个节点值都唯一。默认为”-1”,自动生成BrokerId |
KAFKA_CFG_DELETE_TOPIC_ENABLE | 是否允许删除Topic,默认”false” |
KAFKA_CFG_LOG_FLUSH_INTERVAL_MESSAGES | 此项配置指定时间间隔,强制进行fsync日志,默认”10000” |
KAFKA_CFG_LOG_FLUSH_INTERVAL_MS | 此项配置用来置顶强制进行fsync日志到磁盘的时间间隔”1000” |
KAFKA_CFG_LOG_RETENTION_BYTES | 每个Topic下每个Partition保存数据的总量,超过限制都会删除一个段文件,默认”1073741824” |
KAFKA_CFG_LOG_RETENTION_CHECK_INTERVALS_MS | 检查日志分段文件的间隔时间,以确定是否文件属性是否到达删除要求,默认”300000” |
KAFKA_CFG_LOG_RETENTION_HOURS | 每个日志文件删除之前保存的时间,默认数据保存时间对所有topic都一样,默认”168” |
KAFKA_CFG_LOG_MESSAGE_FORMAT_VERSION | 指定broker将用于将消息添加到日志文件的消息格式版本 |
KAFKA_CFG_MAX_MESSAGE_BYTES | Kafka允许的最大记录批大小。默认”1000000” |
KAFKA_CFG_SEGMENT_BYTES | 日志段文件的最大大小。当达到这个大小时,将创建一个新的日志段。默认”1073741824” |
KAFKA_CFG_DEFAULT_REPLICATION_FACTOR | 对replica的数目进行配置,默认值为”1”,表示不对topic进行备份。如果配置为2,表示除了leader节点,对于topic里的每一个partition,都会有一个额外的备份。 |
KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR | Topic的offset的备份份数。建议设置更高的数字保证更高的可用性 |
KAFKA_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR | 事务Topic的复制因子(设置得更高以确保可用性) |
KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR | 事务Topic的副本数 |
KAFKA_CFG_NUM_IO_THREADS | 用来处理请求的I/O线程的数目 |
KAFKA_CFG_NUM_NETWORK_THREADS | 用来处理网络请求的网络线程数目 |
KAFKA_CFG_NUM_PARTITIONS | 每个主题的日志分区的默认数量 |
KAFKA_CFG_NUM_RECOVERY_THREADS_PER_DATA_DIR | 每个数据目录中的线程数,用于在启动时日志恢复,并在关闭时刷新。默认”1” |
KAFKA_CFG_SOCKET_RECEIVE_BUFFER_BYTES | SO_RCVBUFF缓存大小,server进行socket连接时所用 |
KAFKA_CFG_SOCKET_REQUEST_MAX_BYTES | 允许的最大请求尺寸,这将避免server溢出,它应该小于Java heap size,默认”104857600” |
KAFKA_CFG_SOCKET_SEND_BUFFER_BYTES | Kafka追加消息的最大尺寸 |
KAFKA_CFG_ZOOKEEPER_CONNECT_TIMEOUT_MS | 连接到zookeeper的超时时间(ms) |
转载请标明出处【K8S/Kubernetes中安装Kafka-manager】。
《www.micoder.cc》
虚拟化云计算,系统运维,安全技术服务.
Tags: | [阅读全文...] |
最新评论