diff --git a/k8s/k8s-delete-resources.sh b/k8s/k8s-delete-resources.sh index 27be2b5074..21efc56bc7 100755 --- a/k8s/k8s-delete-resources.sh +++ b/k8s/k8s-delete-resources.sh @@ -19,3 +19,4 @@ set -e kubectl config set-context $(kubectl config current-context) --namespace=thingsboard kubectl delete -f thingsboard.yml +kubectl delete -f thirdparty.yml diff --git a/k8s/thingsboard.yml b/k8s/thingsboard.yml index 68e4cf590b..23b5764279 100644 --- a/k8s/thingsboard.yml +++ b/k8s/thingsboard.yml @@ -13,298 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. # - -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: zookeeper - namespace: thingsboard -spec: - serviceName: "zookeeper" - replicas: 3 - podManagementPolicy: Parallel - selector: - matchLabels: - app: zookeeper - template: - metadata: - labels: - app: zookeeper - spec: - containers: - - name: zookeeper - imagePullPolicy: Always - image: zookeeper:3.5 - ports: - - containerPort: 2181 - name: client - - containerPort: 2888 - name: server - - containerPort: 3888 - name: election - readinessProbe: - periodSeconds: 60 - tcpSocket: - port: 2181 - livenessProbe: - periodSeconds: 60 - tcpSocket: - port: 2181 - env: - - name: ZOO_SERVERS - value: "server.0=zookeeper-0.zookeeper:2888:3888;2181 server.1=zookeeper-1.zookeeper:2888:3888;2181 server.2=zookeeper-2.zookeeper:2888:3888;2181" - - name: JVMFLAGS - value: "-Dzookeeper.electionPortBindRetry=0" - volumeMounts: - - name: data - mountPath: /data - readOnly: false - initContainers: - - command: - - /bin/bash - - -c - - |- - set -ex; - mkdir -p "$ZOO_DATA_LOG_DIR" "$ZOO_DATA_DIR" "$ZOO_CONF_DIR"; - chown "$ZOO_USER:$ZOO_USER" "$ZOO_DATA_LOG_DIR" "$ZOO_DATA_DIR" "$ZOO_CONF_DIR" - if [[ ! -f "$ZOO_DATA_DIR/myid" ]]; then - echo $HOSTNAME| rev | cut -d "-" -f1 | rev > "$ZOO_DATA_DIR/myid" - fi - env: - - name: HOSTNAME - valueFrom: - fieldRef: - fieldPath: metadata.name - image: zookeeper:3.5 - imagePullPolicy: IfNotPresent - name: zookeeper-init - securityContext: - runAsUser: 0 - volumeMounts: - - name: data - mountPath: /data - readOnly: false - volumeClaimTemplates: - - metadata: - name: data - spec: - accessModes: [ "ReadWriteOnce" ] - resources: - requests: - storage: 1Gi ---- -apiVersion: v1 -kind: Service -metadata: - name: zookeeper - namespace: thingsboard -spec: - type: ClusterIP - ports: - - port: 2181 - targetPort: 2181 - name: client - - port: 2888 - targetPort: 2888 - name: server - - port: 3888 - targetPort: 3888 - name: election - selector: - app: zookeeper ---- -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: tb-kafka - namespace: thingsboard -spec: - serviceName: "tb-kafka" - replicas: 3 - podManagementPolicy: OrderedReady - selector: - matchLabels: - app: tb-kafka - template: - metadata: - labels: - app: tb-kafka - spec: - containers: - - name: tb-kafka - imagePullPolicy: Always - image: wurstmeister/kafka:2.12-2.2.1 - ports: - - containerPort: 9092 - name: kafka-int - - containerPort: 9093 - name: kafka-ext - readinessProbe: - periodSeconds: 5 - timeoutSeconds: 5 - tcpSocket: - port: 9092 - initialDelaySeconds: 60 - livenessProbe: - timeoutSeconds: 5 - periodSeconds: 5 - tcpSocket: - port: 9092 - initialDelaySeconds: 80 - env: - - name: BROKER_ID_COMMAND - value: "hostname | cut -d'-' -f3" - - name: KAFKA_ZOOKEEPER_CONNECT - value: "zookeeper:2181" - - name: KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS - value: "60000" - - name: KAFKA_UNCLEAN_LEADER_ELECTION_ENABLE - value: "true" - - name: KAFKA_LISTENERS - value: "INSIDE://:9092,OUTSIDE://:9093" - - name: KAFKA_ADVERTISED_LISTENERS - value: "INSIDE://:9092,OUTSIDE://:9093" - - name: KAFKA_LISTENER_SECURITY_PROTOCOL_MAP - value: "INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT" - - name: KAFKA_INTER_BROKER_LISTENER_NAME - value: "INSIDE" - - name: KAFKA_CONTROLLER_SHUTDOWN_ENABLE - value: "true" - - name: KAFKA_CREATE_TOPICS - value: "js.eval.requests:100:1:delete --config=retention.ms=60000 --config=segment.bytes=26214400 --config=retention.bytes=104857600,tb.transport.api.requests:30:1:delete --config=retention.ms=60000 --config=segment.bytes=26214400 --config=retention.bytes=104857600,tb.rule-engine:30:1:delete --config=retention.ms=60000 --config=segment.bytes=26214400 --config=retention.bytes=104857600" - - name: KAFKA_AUTO_CREATE_TOPICS_ENABLE - value: "false" - - name: KAFKA_LOG_RETENTION_BYTES - value: "1073741824" - - name: KAFKA_LOG_SEGMENT_BYTES - value: "268435456" - - name: KAFKA_LOG_RETENTION_MS - value: "300000" - - name: KAFKA_LOG_CLEANUP_POLICY - value: "delete" - - name: KAFKA_PORT - value: "9092" - - name: KAFKA_LOG_DIRS - value: "/kafka-logs" - volumeMounts: - - name: logs - mountPath: /kafka-logs - subPath: logs - volumeClaimTemplates: - - metadata: - name: logs - spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi ---- -apiVersion: v1 -kind: Service -metadata: - name: tb-kafka - namespace: thingsboard -spec: - type: ClusterIP - ports: - - port: 9092 - targetPort: 9092 - name: kafka-int - - port: 9093 - targetPort: 9093 - name: kafka-ext - selector: - app: tb-kafka ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: tb-redis - namespace: thingsboard -data: - update-node.sh: | - #!/bin/sh - REDIS_NODES="/data/nodes.conf" - sed -i -e "/myself/ s/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/${POD_IP}/" ${REDIS_NODES} - exec "$@" - redis.conf: |+ - cluster-enabled yes - cluster-require-full-coverage no - cluster-node-timeout 15000 - cluster-config-file /data/nodes.conf - cluster-migration-barrier 1 - appendonly yes - protected-mode no ---- -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: tb-redis - namespace: thingsboard -spec: - serviceName: server - replicas: 6 - selector: - matchLabels: - app: tb-redis - template: - metadata: - labels: - app: tb-redis - spec: - containers: - - name: redis - image: redis:5.0.1-alpine - ports: - - containerPort: 6379 - name: client - - containerPort: 16379 - name: gossip - command: ["/conf/update-node.sh", "redis-server", "/conf/redis.conf"] - env: - - name: POD_IP - valueFrom: - fieldRef: - fieldPath: status.podIP - volumeMounts: - - name: conf - mountPath: /conf - readOnly: false - - name: data - mountPath: /data - readOnly: false - volumes: - - name: conf - configMap: - name: tb-redis - defaultMode: 0755 - volumeClaimTemplates: - - metadata: - name: data - spec: - accessModes: [ "ReadWriteOnce" ] - resources: - requests: - storage: 1Gi ---- -apiVersion: v1 -kind: Service -metadata: - name: tb-redis - namespace: thingsboard -spec: - type: ClusterIP - ports: - - port: 6379 - targetPort: 6379 - name: client - - port: 16379 - targetPort: 16379 - name: gossip - selector: - app: tb-redis ---- apiVersion: apps/v1 kind: Deployment metadata: diff --git a/k8s/thirdparty.yml b/k8s/thirdparty.yml index 8595d560c5..ebd633c8b1 100644 --- a/k8s/thirdparty.yml +++ b/k8s/thirdparty.yml @@ -90,7 +90,7 @@ spec: accessModes: [ "ReadWriteOnce" ] resources: requests: - storage: 1Gi + storage: 100Mi --- apiVersion: v1 kind: Service @@ -120,7 +120,7 @@ metadata: spec: serviceName: "tb-kafka" replicas: 3 - podManagementPolicy: OrderedReady + podManagementPolicy: Parallel selector: matchLabels: app: tb-kafka @@ -136,8 +136,6 @@ spec: ports: - containerPort: 9092 name: kafka-int - - containerPort: 9093 - name: kafka-ext readinessProbe: periodSeconds: 5 timeoutSeconds: 5 @@ -160,17 +158,17 @@ spec: - name: KAFKA_UNCLEAN_LEADER_ELECTION_ENABLE value: "true" - name: KAFKA_LISTENERS - value: "INSIDE://:9092,OUTSIDE://:9093" + value: "INSIDE://:9092" - name: KAFKA_ADVERTISED_LISTENERS - value: "INSIDE://:9092,OUTSIDE://:9093" + value: "INSIDE://:9092" - name: KAFKA_LISTENER_SECURITY_PROTOCOL_MAP - value: "INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT" + value: "INSIDE:PLAINTEXT" - name: KAFKA_INTER_BROKER_LISTENER_NAME value: "INSIDE" - name: KAFKA_CONTROLLER_SHUTDOWN_ENABLE value: "true" - name: KAFKA_CREATE_TOPICS - value: "js.eval.requests:100:1:delete --config=retention.ms=60000 --config=segment.bytes=26214400 --config=retention.bytes=104857600,tb.transport.api.requests:30:1:delete --config=retention.ms=60000 --config=segment.bytes=26214400 --config=retention.bytes=104857600,tb.rule-engine:30:1:delete --config=retention.ms=60000 --config=segment.bytes=26214400 --config=retention.bytes=104857600" + value: "js_eval.requests:100:1:delete --config=retention.ms=60000 --config=segment.bytes=26214400 --config=retention.bytes=104857600,tb_transport.api.requests:30:1:delete --config=retention.ms=60000 --config=segment.bytes=26214400 --config=retention.bytes=104857600" - name: KAFKA_AUTO_CREATE_TOPICS_ENABLE value: "false" - name: KAFKA_LOG_RETENTION_BYTES @@ -197,7 +195,7 @@ spec: - ReadWriteOnce resources: requests: - storage: 10Gi + storage: 1Gi --- apiVersion: v1 kind: Service @@ -210,9 +208,6 @@ spec: - port: 9092 targetPort: 9092 name: kafka-int - - port: 9093 - targetPort: 9093 - name: kafka-ext selector: app: tb-kafka --- @@ -285,7 +280,7 @@ spec: accessModes: [ "ReadWriteOnce" ] resources: requests: - storage: 1Gi + storage: 100Mi --- apiVersion: v1 kind: Service