文章目录
1. 下载安装kafka2. 部署Kafka-manager2.1 镜像制作2.2 准备资源配置清单2.3 DNS解析2.4 应用资源配置清单
3. 验证
http://kafka.apache.org/
Kafka是有状态的服务,一般部署在Kubernetes之外,本次部署在 k8s7-11.host.com。由于后面需要部署的Kafka-manager只支持到 2.2.0 版本,因此这次部署采用kafka_2.12-2.2.0版本,其中2.12为Scala版本号。
1. 下载安装kafka
[root
@hdss7-11 src
]
[root
@hdss7-11 src
]
[root
@hdss7-11 src
]
配置:
[root
@hdss7-11 ~]
......
log
.dirs
=/data/kafka
/logs
log
.flush
.interval.messages
=10000
log
.flush
.interval.ms
=1000
zookeeper
.connect=localhost:
2181
delete.topic
.enable=true
host
.name
=k8s7
-11.host
.com
启动:
[root
@hdss7-11 ~]
[root
@hdss7-11 ~]
[root
@hdss7-11 ~]
tcp6
0 0 10.4.7.11:
9092 :::
* LISTEN
121952/java
tcp6
0 0 :::
41211 :::
* LISTEN
121952/java
2. 部署Kafka-manager
Kafka-manager是一款管理Kafka集群的软件,建议安装,github地址:https://github.com/yahoo/CMAK
2.1 镜像制作
FROM hseeberger
/scala
-sbt
ENV ZK_HOSTS
=localhost:
2181 \
KM_VERSION
=2.0.0.2
RUN mkdir
-p
/tmp
&& \
cd
/tmp
&& \
wget https:
tar xf ${KM_VERSION}
.tar
.gz
&& \
cd
/tmp
/kafka
-manager
-${KM_VERSION}
&& \
sbt clean dist
&& \
unzip
-d
/ ./target
/universal
/kafka
-manager
-${KM_VERSION}
.zip
&& \
rm
-fr
/tmp
/${KM_VERSION}
/tmp
/kafka
-manager
-${KM_VERSION}
WORKDIR
/kafka
-manager
-${KM_VERSION}
EXPOSE
9000
ENTRYPOINT
["./bin/kafka-manager","-Dconfig.file=conf/application.conf"]
[root
@hdss7-200 ~]
[root
@k8s7-200.host
.com
/data/dockerfile
/kafka
-manager
]
[root
@hdss7-200 ~]
[root
@hdss7-200 ~]
2.2 准备资源配置清单
[root
@k8s7-200.host
.com
/data/k8s
-yaml
/kafka
-manager
]
apiVersion: apps
/v1
kind: Deployment
metadata:
name: kafka
-manager
namespace: infra
labels:
name: kafka
-manager
spec:
replicas:
1
selector:
matchLabels:
app: kafka
-manager
template:
metadata:
labels:
app: kafka
-manager
spec:
containers:
- name: kafka
-manager
image: harbor
.od
.com
/infra
/kafka
-manager:v2
.0.0.2
ports:
- containerPort:
9000
protocol: TCP
env:
- name: ZK_HOSTS
value: zk1
.od
.com:
2181
- name: APPLICATION_SECRET
value: letmein
[root
@k8s7-200.host
.com
/data/k8s
-yaml
/kafka
-manager
]
apiVersion: v1
kind: Service
metadata:
name: kafka
-manager
namespace: infra
spec:
ports:
- protocol: TCP
port:
9000
targetPort:
9000
selector:
app: kafka
-manager
[root
@k8s7-200.host
.com
/data/k8s
-yaml
/kafka
-manager
]
apiVersion: extensions
/v1beta1
kind: Ingress
metadata:
name: kafka
-manager
namespace: infra
spec:
rules:
- host: km
.od
.com
http:
paths:
- path:
/
backend:
serviceName: kafka
-manager
servicePort:
9000
2.3 DNS解析
km A
10.4.7.10
[root
@k8s7-11.host
.name
~]
[root
@k8s7-11.host
.name
~]
10.4.7.10
2.4 应用资源配置清单
[root
@k8s7-22.host
.com
~]
deployment
.apps
/kafka
-manager created
[root
@k8s7-22.host
.com
~]
service
/kafka
-manager created
[root
@k8s7-22.host
.com
~]
ingress
.extensions
/kafka
-manager created
3. 验证