apiVersion: apps/v1 kind: Deployment metadata: name: ratelimit namespace: istio-system spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app: ratelimit strategy: type: Recreate template: metadata: creationTimestamp: null labels: app: ratelimit spec: containers: - command: - /bin/ratelimit env: - name: LOG_LEVEL value: debug - name: REDIS_SOCKET_TYPE value: tcp - name: REDIS_URL value: redis:6379 - name: USE_STATSD value: "false" - name: RUNTIME_ROOT value: /data - name: RUNTIME_SUBDIRECTORY value: ratelimit image: envoyproxy/ratelimit:6f5de117 imagePullPolicy: Always name: ratelimit ports: - containerPort: 8080 protocol: TCP - containerPort: 8081 protocol: TCP - containerPort: 6070 protocol: TCP resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /data/ratelimit/config/config.yaml name: config-volume subPath: config.yaml dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 volumes: - configMap: defaultMode: 420 name: ratelimit-config name: config-volume --- apiVersion: apps/v1 kind: Deployment metadata: name: redis namespace: istio-system spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app: redis strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: creationTimestamp: null labels: app: redis spec: containers: - image: redis:alpine imagePullPolicy: Always name: redis ports: - containerPort: 6379 name: redis protocol: TCP resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 --- apiVersion: v1 kind: Service metadata: labels: app: ratelimit name: ratelimit namespace: istio-system spec: ports: - name: http-port port: 8080 protocol: TCP targetPort: 8080 - name: grpc-port port: 8081 protocol: TCP targetPort: 8081 - name: http-debug port: 6070 protocol: TCP targetPort: 6070 selector: app: ratelimit sessionAffinity: None type: ClusterIP --- apiVersion: v1 kind: Service metadata: labels: app: redis name: redis namespace: istio-system spec: ports: - name: redis port: 6379 protocol: TCP targetPort: 6379 selector: app: redis sessionAffinity: None type: ClusterIP