--- apiVersion: apps/v1 kind: StatefulSet metadata: name: storm-ui labels: app: storm-ui spec: serviceName: storm-ui-svc replicas: 1 selector: matchLabels: app: storm-ui template: metadata: labels: app: storm-ui spec: hostAliases: - ip: "192.168.40.127" hostnames: - "bigdata-127" - ip: "192.168.40.151" hostnames: - "bigdata-151" - ip: "192.168.40.152" hostnames: - "bigdata-152" #限制一台服务器上启动太多的服务,因端口占用或者资源问题导致出错 affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: "app" operator: In values: - storm-ui topologyKey: "kubernetes.io/hostname" podAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 1 podAffinityTerm: labelSelector: matchExpressions: - key: "app" operator: In values: - storm-ui topologyKey: "kubernetes.io/hostname" terminationGracePeriodSeconds: 300 #容器的配置 containers: - name: k8s-storm-ui #0表示以root权限运行容器 securityContext: runAsUser: 0 imagePullPolicy: Always image: 192.168.40.153:9080/tsg/storm:1.0.2 resources: requests: memory: "10Gi" cpu: 500m #标注映射的端口 ports: - containerPort: 8080 name: client #创建容器后执行的命令 command: - sh - -c - "/opt/apache-storm-1.0.2/start_storm.sh storm ui" #环境变量 env: - name: ZK_PORTS value: "2182" - name: NIMBUS_IP value: "nimbus-0.nimbus-svc.default.svc.cluster.local" # - name: NIMBUS_IP # valueFrom: # fieldRef: # fieldPath: spec.nodeName - name: ZK_IPARR value: "zk-0.zk-hs.default.svc.cluster.local" - name: SPORTS value: "30" - name: WORKER_MEM value: "2048" #挂载目录 # volumeMounts: # - name: datadir # mountPath: /opt/apache-storm-1.0.2/logs # securityContext: # runAsUser: 1000 # fsGroup: 1000 #声明pvc # volumeClaimTemplates: # - metadata: # name: datadir # spec: # accessModes: [ "ReadWriteMany" ] # storageClassName: nfs # resources: # requests: # storage: 5Gi