-
Notifications
You must be signed in to change notification settings - Fork 0
/
manifest.yaml
134 lines (134 loc) · 2.45 KB
/
manifest.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
apiVersion: v1
kind: Secret
metadata:
name: anchor-hmac-key
type: Opaque
stringData:
acme-hmac-key: ${ACME_HMAC_KEY}
---
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: anchor-my-org-internal
spec:
acme:
server: ${ACME_DIRECTORY_URL}
privateKeySecretRef:
name: anchor-my-org-internal
externalAccountBinding:
keyID: ${ACME_KID}
keySecretRef:
name: anchor-hmac-key
key: acme-hmac-key
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: alice
spec:
replicas: 1
selector:
matchLabels:
app: alice-app
template:
metadata:
name: alice-pod
labels:
app: alice-app
spec:
containers:
- name: alice-container
image: hashicorp/http-echo
args: ['-listen=:8080', '-text="hello from alice!"']
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: alice-svc
labels:
app: alice-app
spec:
selector:
app: alice-app
type: NodePort
ports:
- nodePort: 30801
port: 80
targetPort: 8080
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: bob
spec:
replicas: 1
selector:
matchLabels:
app: bob-app
template:
metadata:
name: bob-pod
labels:
app: bob-app
spec:
containers:
- name: bob-container
image: hashicorp/http-echo
args: ['-listen=:8080', '-text="hello from bob!"']
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: bob-svc
labels:
app: bob-app
spec:
selector:
app: bob-app
type: NodePort
ports:
- nodePort: 30802
port: 80
targetPort: 8080
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: api-gateway-ing
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$1
kubernetes.io/ingress.class: "nginx"
cert-manager.io/issuer: "anchor-my-org-internal"
spec:
tls:
- hosts:
- alice.${DOMAIN_NAME}
secretName: alice-my-org-internal-key
- hosts:
- bob.${DOMAIN_NAME}
secretName: bob-my-org-internal-key
rules:
- host: alice.${DOMAIN_NAME}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: alice-svc
port:
number: 80
- host: bob.${DOMAIN_NAME}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: bob-svc
port:
number: 80