Skip to content

Instantly share code, notes, and snippets.

@kudoh
Created July 24, 2022 06:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kudoh/6e9dfe63fff2c1e49c98d99ad02b9adc to your computer and use it in GitHub Desktop.
Save kudoh/6e9dfe63fff2c1e49c98d99ad02b9adc to your computer and use it in GitHub Desktop.
foo-canary.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: server
namespace: foo
data:
server.go: |
package main
import (
"fmt"
"net/http"
"os"
)
func main() {
http.HandleFunc("/foo", func(writer http.ResponseWriter, request *http.Request) {
fmt.Fprintln(writer, "foo", os.Getenv("POD_NAME"))
})
http.ListenAndServe(":8000", nil)
}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: foo-v1
namespace: foo
spec:
selector:
matchLabels:
app: foo
version: v1
template:
metadata:
name: foo-v1
labels:
app: foo
version: v1
spec:
volumes:
- name: server
configMap:
name: server
containers:
- name: foo
image: golang
ports:
- name: http
containerPort: 8000
volumeMounts:
- name: server
mountPath: /app
command: [go, run, /app/server.go]
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
---
apiVersion: v1
kind: Service
metadata:
name: foo-v1
namespace: foo
spec:
selector:
app: foo
version: v1
ports:
- port: 80
targetPort: http
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: foo-v2
namespace: foo
spec:
selector:
matchLabels:
app: foo
version: v2
template:
metadata:
name: foo-v2
labels:
app: foo
version: v2
spec:
volumes:
- name: server
configMap:
name: server
containers:
- name: foo
image: golang
ports:
- name: http
containerPort: 8000
volumeMounts:
- name: server
mountPath: /app
command: [go, run, /app/server.go]
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
---
apiVersion: v1
kind: Service
metadata:
name: foo-v2
namespace: foo
spec:
selector:
app: foo
version: v2
ports:
- port: 80
targetPort: http
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment