通過Kubernates部署ekuiper

  1. 創(chuàng)建namespace,在kubectl中輸入以下命令:
kubectl create namespace ekiper
  1. 創(chuàng)建deployment部署yaml文件,將以下配置復制到一個yaml文件中(比如ekuiper-deployment.yaml)并保存:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: ekuiper
  namespace: ekiper
spec:
  replicas: 1
  selector:
    matchLabels:
      app: ekuiper
  template:
    metadata:
      labels:
        app: ekuiper
    spec:
      containers:
      - name: ekuiper
        image: lfedge/ekuiper:latest
        ports:
        - name: http
          containerPort: 9081
        - name: mqtt
          containerPort: 20498
        env:
        - name: MQTT_SOURCE__DEFAULT__SERVER
          value: "tcp://broker.emqx.io:1883"
        - name: KUIPER__BASIC__CONSOLELOG
          value: "true"
        - name: KUIPER__BASIC__IGNORECASE
          value: "false"
        volumeMounts:
        - name: data
          mountPath: /kuiper/data
        - name: log
          mountPath: /kuiper/log
        securityContext:
          runAsUser: 0
      volumes:
      - name: data
        hostPath:
          path: /tmp/data
      - name: log
        hostPath:
          path: /tmp/log
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: ekuiper-manager
  namespace: ekiper
spec:
  selector:
    matchLabels:
      app: ekuiper-manager
  replicas: 1
  template:
    metadata:
      labels:
        app: ekuiper-manager
    spec:
      containers:
      - name: ekuiper-manager
        image: emqx/ekuiper-manager:latest
        ports:
          - name: http
            containerPort: 9082
        env:
          - name: DEFAULT_EKUIPER_ENDPOINT
            value: "http://ekuiper:9081"
  1. 創(chuàng)建service部署yaml文件,將以下配置復制到一個yaml文件中(比如ekuiper-service.yaml)并保存:
apiVersion: v1
kind: Service
metadata:
  name: ekuiper
  namespace: ekiper
spec:
  selector:
    app: ekuiper
  ports:
  - name: http
    port: 9081
    targetPort: http
  - name: mqtt
    port: 20498
    targetPort: mqtt
  type: NodePort
---
apiVersion: v1
kind: Service
metadata:
  name: ekuiper-manager
  namespace: ekiper
spec:
  selector:
    app: ekuiper-manager
  type: NodePort
  ports:
  - name: http
    port: 9082
    targetPort: http
  1. 應用部署yaml文件,使用kubectl命令應用剛剛創(chuàng)建的兩個yaml文件:
kubectl apply -f ekuiper-deployment.yaml
kubectl apply -f ekuiper-service.yaml
  1. 確認部署結果,查看ekuiper和ekuiper-manager pod的狀態(tài)是否Running,并且確認service的NodePort是否正確設置:
kubectl get pods -n ekiper
kubectl get services -n ekiper

[1]
[2]
[3]

注:本文由ChatGPT生成

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容