trace/cloud-trace-demo-app-opentelemetry/app/cloud-trace-demo.yaml (142 lines of code) (raw):
# Copyright 2022 Google LLC
#
# 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
#
# https://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.
apiVersion: apps/v1
kind: Deployment
metadata:
name: cloud-trace-demo-a
labels:
app: cloud-trace-demo-app-a
spec:
replicas: 1
selector:
matchLabels:
app: cloud-trace-demo-app-a
template:
metadata:
name: cloud-trace-demo-a
labels:
app: cloud-trace-demo-app-a
spec:
containers:
- name: cloud-trace-demo-container
image: gcr.io/google_samples/cloud-trace-demo-opentelemetry:latest
imagePullPolicy: "Always"
command:
- python
args:
- app.py
ports:
- containerPort: 8080
env:
- name: PORT
value: "8080"
- name: KEYWORD
value: "Hello, I am service A"
- name: ENDPOINT
value: "http://cloud-trace-demo-b:8090"
---
apiVersion: v1
kind: Service
metadata:
name: cloud-trace-demo-a
spec:
selector:
app: cloud-trace-demo-app-a
ports:
- protocol: TCP
port: 80
targetPort: 8080
type: LoadBalancer
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: cloud-trace-demo-b
labels:
app: cloud-trace-demo-app-b
spec:
replicas: 1
selector:
matchLabels:
app: cloud-trace-demo-app-b
template:
metadata:
name: cloud-trace-demo-b
labels:
app: cloud-trace-demo-app-b
spec:
containers:
- name: cloud-trace-demo-container
image: gcr.io/google_samples/cloud-trace-demo-opentelemetry:latest
imagePullPolicy: "Always"
command:
- python
args:
- app.py
ports:
- containerPort: 8090
env:
- name: PORT
value: "8090"
- name: KEYWORD
value: "And I am service B"
- name: ENDPOINT
value: "http://cloud-trace-demo-c:8090"
---
apiVersion: v1
kind: Service
metadata:
name: cloud-trace-demo-b
spec:
selector:
app: cloud-trace-demo-app-b
ports:
- protocol: TCP
port: 8090
targetPort: 8090
type: ClusterIP
---
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: cloud-trace-demo-c
labels:
app: cloud-trace-demo-app-c
spec:
replicas: 1
selector:
matchLabels:
app: cloud-trace-demo-app-c
template:
metadata:
name: cloud-trace-demo-c
labels:
app: cloud-trace-demo-app-c
spec:
containers:
- name: cloud-trace-demo-container
image: gcr.io/google_samples/cloud-trace-demo-opentelemetry:latest
imagePullPolicy: "Always"
command:
- python
args:
- app.py
ports:
- containerPort: 8090
env:
- name: PORT
value: "8090"
- name: KEYWORD
value: "Hello, I am service C"
---
apiVersion: v1
kind: Service
metadata:
name: cloud-trace-demo-c
spec:
selector:
app: cloud-trace-demo-app-c
ports:
- protocol: TCP
port: 8090
targetPort: 8090
type: ClusterIP