k8s安裝kafka

安裝kafka

安裝zookeeper

安裝zookeeper可以采用k8s的StatefulSet方式,非常方便,在安裝kafka過程中遇到很多問題,但是zookeeper非常文檔

apiVersion: v1
kind: Service
metadata:
  name: zk-hs
  labels:
    app: zk
  namespace: kafka
spec:
  selector:
    app: zk
  clusterIP: None
  ports:
    - name: server
      port: 2888
    - name: leader-election
      port: 3888
---
apiVersion: v1
kind: Service
metadata:
  name: zk-cs
  labels:
    app: zk
  namespace: kafka
spec:
  selector:
    app: zk
  type: NodePort
  ports:
    - name: client
      port: 2181
      nodePort: 31811
---
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
  name: zk-pdb
  namespace: kafka
spec:
  selector:
    matchLabels:
      app: zk
  maxUnavailable: 1
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: zk
  namespace: kafka
spec:
  serviceName: "zk-hs"
  replicas: 3 # by default is 1
  selector:
    matchLabels:
      app: zk # has to match .spec.template.metadata.labels
  updateStrategy:
    type: RollingUpdate
  podManagementPolicy: Parallel
  template:
    metadata:
      labels:
        app: zk # has to match .spec.selector.matchLabels
    spec:
      containers:
        - name: zk
          imagePullPolicy: Always
          image: leolee32/kubernetes-library:kubernetes-zookeeper1.0-3.4.10
          resources:
            requests:
              memory: "2G"
              cpu: "1"
          ports:
            - containerPort: 2181
              name: client
            - containerPort: 2888
              name: server
            - containerPort: 3888
              name: leader-election
          command:
            - sh
            - -c
            - "start-zookeeper \
        --servers=3 \
        --data_dir=/var/lib/zookeeper/data \
        --data_log_dir=/var/lib/zookeeper/data/log \
        --conf_dir=/opt/zookeeper/conf \
        --client_port=2181 \
        --election_port=3888 \
        --server_port=2888 \
        --tick_time=2000 \
        --init_limit=10 \
        --sync_limit=5 \
        --heap=4G \
        --max_client_cnxns=60 \
        --snap_retain_count=3 \
        --purge_interval=12 \
        --max_session_timeout=40000 \
        --min_session_timeout=4000 \
        --log_level=INFO"
          readinessProbe:
            exec:
              command:
                - sh
                - -c
                - "zookeeper-ready 2181"
            initialDelaySeconds: 10
            timeoutSeconds: 5
          livenessProbe:
            exec:
              command:
                - sh
                - -c
                - "zookeeper-ready 2181"
            initialDelaySeconds: 10
            timeoutSeconds: 5
          volumeMounts:
            - name: datadir
              mountPath: /var/lib/zookeeper
  volumeClaimTemplates:
    - metadata:
        name: datadir
        annotations:
          volume.beta.kubernetes.io/storage-class: managed-nfs-storage
      spec:
        accessModes: [ "ReadWriteOnce" ]
        resources:
          requests:
            storage: 1Gi

安裝kafka

采用helm的方式安裝kafka最簡單,真的不要太方便了,只需要簡單的配置即可

借鑒以下文章的方式,鏡像采用的是bitnami/kafka
https://artifacthub.io/packages/helm/bitnami/kafka
https://www.shuzhiduo.com/A/n2d9qvb0dD/

下載kafka的chart:bitnami/kafka
下載成功后當前目錄有個壓縮包:kafka-0.20.8.tgz孟岛,解壓:tar -zxvf kafka-0.20.8.tgz
進入解壓后的kafka目錄走诞,編輯values.yaml文件,下面是具體的修改點:
校驗安裝是否成功
  1. kubectl exec -ti zk-1 -n kafka -- zkCli.sh -server zk-cs:2181
出現(xiàn)
Welcome to ZooKeeper!
JLine support is enabled
即安裝成功
  1. kubectl exec -ti kafka-0 -n kafka -- /bin/bash
登錄到pod里面
執(zhí)行獲取topic : kafka-topics.sh --list --zookeeper zk-cs:2181
kafka-topics.sh --list --zookeeper 10.45.2.13:31811
創(chuàng)建topic : kafka-topics.sh --create --topic testtopic --zookeeper zk-cs:2181 --partitions 1 --replication-factor 1
執(zhí)行獲取topic : kafka-topics.sh --list --zookeeper zk-cs:2181
往topic中生產(chǎn)數(shù)據(jù): kafka-console-producer.sh --broker-list nodeport:31092 --topic wisecotest

kafka-2.kafka-cs.kafka.svc.cluster.local:31092
// 對外暴露的地址端口10.233.137.116:9092 32092
往topic中生產(chǎn)數(shù)據(jù): kafka-console-producer.sh --broker-list kafka-cs:9092 --topic wisecotest

從topic中獲取數(shù)據(jù): kafka-console-consumer.sh --bootstrap-server kafka-2.kafka-cs.kafka.svc.cluster.local:31092 --topic wisecotest --from-beginning
安裝問題解答
  1. 出現(xiàn): 0/3 nodes are available: 1 node(s) had taint {node-role.kubernetes.io/master: }, that the pod didn't tolerate, 2 node(s) didn't match pod anti-affinity rules.
原因是設(shè)定了親和性,導(dǎo)致每個節(jié)點上只能安裝一個類型,master節(jié)點又不允許安裝其他的節(jié)點,導(dǎo)致失敗
  1. 注意事項,采用stateful set的方式安裝kafka在集群內(nèi)部是可以訪問的,但是集群外是不能訪問
stateful set 安裝kafka后
通過service對外暴露的ip:port能訪問到zookeeper,zookeeper返回的是注冊的集群內(nèi)部的地址(這里應(yīng)該可以修改),導(dǎo)致當前鏈接不上返回的地址
最后采用了helm的安裝方式,等于是對外暴露了三個service,每個service對應(yīng)pod
然后在zookeeper中看到的注冊地址中有個external的存在
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖讶舰,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異需了,居然都是意外死亡跳昼,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門肋乍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鹅颊,“玉大人,你說我怎么就攤上這事墓造】拔椋” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵觅闽,是天一觀的道長杠娱。 經(jīng)常有香客問我,道長谱煤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任禽拔,我火速辦了婚禮刘离,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘睹栖。我一直安慰自己硫惕,他們只是感情好,可當我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布野来。 她就那樣靜靜地躺著恼除,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上豁辉,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天令野,我揣著相機與錄音,去河邊找鬼徽级。 笑死气破,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的餐抢。 我是一名探鬼主播现使,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼纳击,長吁一口氣:“原來是場噩夢啊……” “哼腺逛!你這毒婦竟也來了账千?” 一聲冷哼從身側(cè)響起博敬,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤灼捂,失蹤者是張志新(化名)和其女友劉穎县耽,沒想到半個月后匈勋,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體戳鹅,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡佩迟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年团滥,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片报强。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡灸姊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出秉溉,到底是詐尸還是另有隱情力惯,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布召嘶,位于F島的核電站父晶,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏弄跌。R本人自食惡果不足惜甲喝,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望铛只。 院中可真熱鬧埠胖,春花似錦、人聲如沸淳玩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蜕着。三九已至谋竖,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蓖乘。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工锤悄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人驱敲。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓铁蹈,卻偏偏與公主長得像,于是被迫代替她去往敵國和親众眨。 傳聞我的和親對象是個殘疾皇子握牧,可洞房花燭夜當晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容