Skip to content

Commit

Permalink
Merge branch 'edge' into rynowak/kubernetes-interop-tutorial
Browse files Browse the repository at this point in the history
  • Loading branch information
AaronCrawfis authored Oct 20, 2023
2 parents ac3b287 + a3adfe3 commit f9368e9
Show file tree
Hide file tree
Showing 8 changed files with 151 additions and 2 deletions.
4 changes: 2 additions & 2 deletions samples/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Reference applicatins
# Reference applications

Reference apps are templates that show a complete app. You are able to clone and deploy any of these apps to try out various Project Radius functionality.
Clone and deploy reference applications to learn more about Radius.

| Reference app | Description |
|---------------|-------------|
Expand Down
5 changes: 5 additions & 0 deletions samples/kubernetes/guestbook/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Kubernetes Guestbook application example

This is an example containerized Guestbook application originally authored by the Kubernetes community for use in their own tutorial. The application's Kubernetes deployment manifests copied over from the Kubernetes source [repo](https://github.com/kubernetes/examples/tree/master/guestbook) are contained in the `deploy` directory.

The Guestbook application consists of a web front end along with primary and secondary Redis containers for storage, all deployed with Kubernetes. For more information about the application and accessing its source code, see the [Kubernetes tutorial](https://kubernetes.io/docs/tutorials/stateless-application/guestbook/) and their [examples repo](https://github.com/kubernetes/examples/tree/master/guestbook).
33 changes: 33 additions & 0 deletions samples/kubernetes/guestbook/deploy/frontend-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
apiVersion: apps/v1 # for k8s versions before 1.9.0 use apps/v1beta2 and before 1.8.0 use extensions/v1beta1
kind: Deployment
metadata:
name: frontend
spec:
selector:
matchLabels:
app: guestbook
tier: frontend
replicas: 3
template:
metadata:
labels:
app: guestbook
tier: frontend
spec:
containers:
- name: php-redis
image: gcr.io/google-samples/gb-frontend:v4
resources:
requests:
cpu: 100m
memory: 100Mi
env:
- name: GET_HOSTS_FROM
value: dns
# If your cluster config does not include a dns service, then to
# instead access environment variables to find service host
# info, comment out the 'value: dns' line above, and uncomment the
# line below:
# value: env
ports:
- containerPort: 80
18 changes: 18 additions & 0 deletions samples/kubernetes/guestbook/deploy/frontend-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
name: frontend
labels:
app: guestbook
tier: frontend
spec:
# comment or delete the following line if you want to use a LoadBalancer
type: NodePort
# if your cluster supports it, uncomment the following to automatically create
# an external load-balanced IP for the frontend service.
# type: LoadBalancer
ports:
- port: 80
selector:
app: guestbook
tier: frontend
27 changes: 27 additions & 0 deletions samples/kubernetes/guestbook/deploy/redis-master-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
apiVersion: apps/v1 # for k8s versions before 1.9.0 use apps/v1beta2 and before 1.8.0 use extensions/v1beta1
kind: Deployment
metadata:
name: redis-master
spec:
selector:
matchLabels:
app: redis
role: master
tier: backend
replicas: 1
template:
metadata:
labels:
app: redis
role: master
tier: backend
spec:
containers:
- name: master
image: registry.k8s.io/redis:e2e # or just image: redis
resources:
requests:
cpu: 100m
memory: 100Mi
ports:
- containerPort: 6379
16 changes: 16 additions & 0 deletions samples/kubernetes/guestbook/deploy/redis-master-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
apiVersion: v1
kind: Service
metadata:
name: redis-master
labels:
app: redis
role: master
tier: backend
spec:
ports:
- port: 6379
targetPort: 6379
selector:
app: redis
role: master
tier: backend
35 changes: 35 additions & 0 deletions samples/kubernetes/guestbook/deploy/redis-replica-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
apiVersion: apps/v1 # for k8s versions before 1.9.0 use apps/v1beta2 and before 1.8.0 use extensions/v1beta1
kind: Deployment
metadata:
name: redis-replica
spec:
selector:
matchLabels:
app: redis
role: replica
tier: backend
replicas: 2
template:
metadata:
labels:
app: redis
role: replica
tier: backend
spec:
containers:
- name: slave
image: gcr.io/google_samples/gb-redisslave:v1
resources:
requests:
cpu: 100m
memory: 100Mi
env:
- name: GET_HOSTS_FROM
value: dns
# If your cluster config does not include a dns service, then to
# instead access an environment variable to find the master
# service's host, comment out the 'value: dns' line above, and
# uncomment the line below:
# value: env
ports:
- containerPort: 6379
15 changes: 15 additions & 0 deletions samples/kubernetes/guestbook/deploy/redis-replica-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: redis-replica
labels:
app: redis
role: replica
tier: backend
spec:
ports:
- port: 6379
selector:
app: redis
role: replica
tier: backend

0 comments on commit f9368e9

Please sign in to comment.