# Copyright 2017 Istio Authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. ################################################################################################## # Details service ################################################################################################## apiVersion: v1 kind: Service metadata: name: details labels: app: details spec: ports: - port: 9080 name: http selector: app: details --- apiVersion: extensions/v1beta1 kind: Deployment metadata: creationTimestamp: null name: details-v1 spec: replicas: 1 strategy: {} template: metadata: annotations: alpha.istio.io/sidecar: injected alpha.istio.io/version: jenkins@ubuntu-16-04-build-b6e6ae752ccba-0.1.2-6dbd19d-6dbd19d pod.beta.kubernetes.io/init-containers: '[{"args":["-p","15001","-u","1337"],"image":"docker.io/istio/init:0.1.5","imagePullPolicy":"Always","name":"init","securityContext":{"capabilities":{"add":["NET_ADMIN"]}}},{"args":["-c","sysctl -w kernel.core_pattern=/tmp/core.%e.%p.%t \u0026\u0026 ulimit -c unlimited"],"command":["/bin/sh"],"image":"alpine","imagePullPolicy":"Always","name":"enable-core-dump","securityContext":{"privileged":true}}]' creationTimestamp: null labels: app: details version: v1 spec: serviceAccountName: istio-manager-service-account containers: - image: istio/examples-bookinfo-details-v1 imagePullPolicy: IfNotPresent name: details ports: - containerPort: 9080 resources: {} - args: - proxy - sidecar - -v - "2" env: - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - name: POD_IP valueFrom: fieldRef: fieldPath: status.podIP image: docker.io/istio/proxy_debug:0.1.5 imagePullPolicy: Always name: proxy resources: {} securityContext: runAsUser: 1337 volumeMounts: - mountPath: /etc/certs name: istio-certs readOnly: true volumes: - name: istio-certs secret: secretName: istio.default status: {} --- ################################################################################################## # Ratings service ################################################################################################## apiVersion: v1 kind: Service metadata: name: ratings labels: app: ratings spec: ports: - port: 9080 name: http selector: app: ratings --- apiVersion: extensions/v1beta1 kind: Deployment metadata: creationTimestamp: null name: ratings-v1 spec: replicas: 1 strategy: {} template: metadata: annotations: alpha.istio.io/sidecar: injected alpha.istio.io/version: jenkins@ubuntu-16-04-build-b6e6ae752ccba-0.1.2-6dbd19d-6dbd19d pod.beta.kubernetes.io/init-containers: '[{"args":["-p","15001","-u","1337"],"image":"docker.io/istio/init:0.1.5","imagePullPolicy":"Always","name":"init","securityContext":{"capabilities":{"add":["NET_ADMIN"]}}},{"args":["-c","sysctl -w kernel.core_pattern=/tmp/core.%e.%p.%t \u0026\u0026 ulimit -c unlimited"],"command":["/bin/sh"],"image":"alpine","imagePullPolicy":"Always","name":"enable-core-dump","securityContext":{"privileged":true}}]' creationTimestamp: null labels: app: ratings version: v1 spec: serviceAccountName: istio-manager-service-account containers: - image: istio/examples-bookinfo-ratings-v1 imagePullPolicy: IfNotPresent name: ratings ports: - containerPort: 9080 resources: {} - args: - proxy - sidecar - -v - "2" env: - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - name: POD_IP valueFrom: fieldRef: fieldPath: status.podIP image: docker.io/istio/proxy_debug:0.1.5 imagePullPolicy: Always name: proxy resources: {} securityContext: runAsUser: 1337 volumeMounts: - mountPath: /etc/certs name: istio-certs readOnly: true volumes: - name: istio-certs secret: secretName: istio.default status: {} --- ################################################################################################## # Reviews service ################################################################################################## apiVersion: v1 kind: Service metadata: name: reviews labels: app: reviews spec: ports: - port: 9080 name: http selector: app: reviews --- apiVersion: extensions/v1beta1 kind: Deployment metadata: creationTimestamp: null name: reviews-v1 spec: replicas: 1 strategy: {} template: metadata: annotations: alpha.istio.io/sidecar: injected alpha.istio.io/version: jenkins@ubuntu-16-04-build-b6e6ae752ccba-0.1.2-6dbd19d-6dbd19d pod.beta.kubernetes.io/init-containers: '[{"args":["-p","15001","-u","1337"],"image":"docker.io/istio/init:0.1.5","imagePullPolicy":"Always","name":"init","securityContext":{"capabilities":{"add":["NET_ADMIN"]}}},{"args":["-c","sysctl -w kernel.core_pattern=/tmp/core.%e.%p.%t \u0026\u0026 ulimit -c unlimited"],"command":["/bin/sh"],"image":"alpine","imagePullPolicy":"Always","name":"enable-core-dump","securityContext":{"privileged":true}}]' creationTimestamp: null labels: app: reviews version: v1 spec: serviceAccountName: istio-manager-service-account containers: - image: istio/examples-bookinfo-reviews-v1 imagePullPolicy: IfNotPresent name: reviews ports: - containerPort: 9080 resources: {} - args: - proxy - sidecar - -v - "2" env: - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - name: POD_IP valueFrom: fieldRef: fieldPath: status.podIP image: docker.io/istio/proxy_debug:0.1.5 imagePullPolicy: Always name: proxy resources: {} securityContext: runAsUser: 1337 volumeMounts: - mountPath: /etc/certs name: istio-certs readOnly: true volumes: - name: istio-certs secret: secretName: istio.default status: {} --- apiVersion: extensions/v1beta1 kind: Deployment metadata: creationTimestamp: null name: reviews-v2 spec: replicas: 1 strategy: {} template: metadata: annotations: alpha.istio.io/sidecar: injected alpha.istio.io/version: jenkins@ubuntu-16-04-build-b6e6ae752ccba-0.1.2-6dbd19d-6dbd19d pod.beta.kubernetes.io/init-containers: '[{"args":["-p","15001","-u","1337"],"image":"docker.io/istio/init:0.1.5","imagePullPolicy":"Always","name":"init","securityContext":{"capabilities":{"add":["NET_ADMIN"]}}},{"args":["-c","sysctl -w kernel.core_pattern=/tmp/core.%e.%p.%t \u0026\u0026 ulimit -c unlimited"],"command":["/bin/sh"],"image":"alpine","imagePullPolicy":"Always","name":"enable-core-dump","securityContext":{"privileged":true}}]' creationTimestamp: null labels: app: reviews version: v2 spec: serviceAccountName: istio-manager-service-account containers: - image: istio/examples-bookinfo-reviews-v2 imagePullPolicy: IfNotPresent name: reviews ports: - containerPort: 9080 resources: {} - args: - proxy - sidecar - -v - "2" env: - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - name: POD_IP valueFrom: fieldRef: fieldPath: status.podIP image: docker.io/istio/proxy_debug:0.1.5 imagePullPolicy: Always name: proxy resources: {} securityContext: runAsUser: 1337 volumeMounts: - mountPath: /etc/certs name: istio-certs readOnly: true volumes: - name: istio-certs secret: secretName: istio.default status: {} --- apiVersion: extensions/v1beta1 kind: Deployment metadata: creationTimestamp: null name: reviews-v3 spec: replicas: 1 strategy: {} template: metadata: annotations: alpha.istio.io/sidecar: injected alpha.istio.io/version: jenkins@ubuntu-16-04-build-b6e6ae752ccba-0.1.2-6dbd19d-6dbd19d pod.beta.kubernetes.io/init-containers: '[{"args":["-p","15001","-u","1337"],"image":"docker.io/istio/init:0.1.5","imagePullPolicy":"Always","name":"init","securityContext":{"capabilities":{"add":["NET_ADMIN"]}}},{"args":["-c","sysctl -w kernel.core_pattern=/tmp/core.%e.%p.%t \u0026\u0026 ulimit -c unlimited"],"command":["/bin/sh"],"image":"alpine","imagePullPolicy":"Always","name":"enable-core-dump","securityContext":{"privileged":true}}]' creationTimestamp: null labels: app: reviews version: v3 spec: serviceAccountName: istio-manager-service-account containers: - image: istio/examples-bookinfo-reviews-v3 imagePullPolicy: IfNotPresent name: reviews ports: - containerPort: 9080 resources: {} - args: - proxy - sidecar - -v - "2" env: - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - name: POD_IP valueFrom: fieldRef: fieldPath: status.podIP image: docker.io/istio/proxy_debug:0.1.5 imagePullPolicy: Always name: proxy resources: {} securityContext: runAsUser: 1337 volumeMounts: - mountPath: /etc/certs name: istio-certs readOnly: true volumes: - name: istio-certs secret: secretName: istio.default status: {} --- ################################################################################################## # Productpage service ################################################################################################## apiVersion: v1 kind: Service metadata: name: productpage labels: app: productpage spec: ports: - port: 9080 name: http selector: app: productpage --- apiVersion: extensions/v1beta1 kind: Deployment metadata: creationTimestamp: null name: productpage-v1 spec: replicas: 1 strategy: {} template: metadata: annotations: alpha.istio.io/sidecar: injected alpha.istio.io/version: jenkins@ubuntu-16-04-build-b6e6ae752ccba-0.1.2-6dbd19d-6dbd19d pod.beta.kubernetes.io/init-containers: '[{"args":["-p","15001","-u","1337"],"image":"docker.io/istio/init:0.1.5","imagePullPolicy":"Always","name":"init","securityContext":{"capabilities":{"add":["NET_ADMIN"]}}},{"args":["-c","sysctl -w kernel.core_pattern=/tmp/core.%e.%p.%t \u0026\u0026 ulimit -c unlimited"],"command":["/bin/sh"],"image":"alpine","imagePullPolicy":"Always","name":"enable-core-dump","securityContext":{"privileged":true}}]' creationTimestamp: null labels: app: productpage version: v1 spec: serviceAccountName: istio-manager-service-account containers: - image: istio/examples-bookinfo-productpage-v1 imagePullPolicy: IfNotPresent name: productpage ports: - containerPort: 9080 resources: {} - args: - proxy - sidecar - -v - "2" env: - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - name: POD_IP valueFrom: fieldRef: fieldPath: status.podIP image: docker.io/istio/proxy_debug:0.1.5 imagePullPolicy: Always name: proxy resources: {} securityContext: runAsUser: 1337 volumeMounts: - mountPath: /etc/certs name: istio-certs readOnly: true volumes: - name: istio-certs secret: secretName: istio.default status: {} --- ########################################################################### # Ingress resource (gateway) ########################################################################## apiVersion: extensions/v1beta1 kind: Ingress metadata: name: gateway annotations: kubernetes.io/ingress.class: "istio" spec: tls: - secretName: ingress-secret rules: - http: paths: - path: /productpage backend: serviceName: productpage servicePort: 9080 - path: /login backend: serviceName: productpage servicePort: 9080 - path: /logout backend: serviceName: productpage servicePort: 9080 ---