美文网首页
通过Kubernates部署ekuiper

通过Kubernates部署ekuiper

作者: 思考的猩猩 | 来源:发表于2023-04-15 20:12 被阅读0次
  1. 创建namespace,在kubectl中输入以下命令:
kubectl create namespace ekiper
  1. 创建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. 创建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命令应用刚刚创建的两个yaml文件:
kubectl apply -f ekuiper-deployment.yaml
kubectl apply -f ekuiper-service.yaml
  1. 确认部署结果,查看ekuiper和ekuiper-manager pod的状态是否Running,并且确认service的NodePort是否正确设置:
kubectl get pods -n ekiper
kubectl get services -n ekiper

[1]
[2]
[3]

注:本文由ChatGPT生成

相关文章

网友评论

      本文标题:通过Kubernates部署ekuiper

      本文链接:https://www.haomeiwen.com/subject/ocwxjdtx.html