Skip to content

Commit 1148246

Browse files
committedMay 1, 2023
Welcome to StackSimplify
1 parent f04ff14 commit 1148246

File tree

4 files changed

+102
-15
lines changed

4 files changed

+102
-15
lines changed
 
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: kubeapp-ecr
5+
labels:
6+
app: kubeapp-ecr
7+
spec:
8+
replicas: 2
9+
selector:
10+
matchLabels:
11+
app: kubeapp-ecr
12+
template:
13+
metadata:
14+
labels:
15+
app: kubeapp-ecr
16+
spec:
17+
containers:
18+
- name: kubeapp-ecr
19+
image: 180789647333.dkr.ecr.us-east-1.amazonaws.com/aws-ecr-kubenginx:1.0.0
20+
resources:
21+
requests:
22+
memory: "128Mi"
23+
cpu: "500m"
24+
limits:
25+
memory: "256Mi"
26+
cpu: "1000m"
27+
ports:
28+
- containerPort: 80
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: kubeapp-ecr-nodeport-service
5+
labels:
6+
app: kubeapp-ecr
7+
annotations:
8+
#Important Note: Need to add health check path annotations in service level if we are planning to use multiple targets in a load balancer
9+
alb.ingress.kubernetes.io/healthcheck-path: /index.html
10+
spec:
11+
type: NodePort
12+
selector:
13+
app: kubeapp-ecr
14+
ports:
15+
- port: 80
16+
targetPort: 80
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Annotations Reference: https://kubernetes-sigs.github.io/aws-alb-ingress-controller/guide/ingress/annotation/
2+
apiVersion: extensions/v1beta1
3+
kind: Ingress
4+
metadata:
5+
name: ecr-ingress-service
6+
labels:
7+
app: kubeapp-ecr
8+
annotations:
9+
# Ingress Core Settings
10+
kubernetes.io/ingress.class: "alb"
11+
alb.ingress.kubernetes.io/scheme: internet-facing
12+
# Health Check Settings
13+
alb.ingress.kubernetes.io/healthcheck-protocol: HTTP
14+
alb.ingress.kubernetes.io/healthcheck-port: traffic-port
15+
alb.ingress.kubernetes.io/healthcheck-interval-seconds: '15'
16+
alb.ingress.kubernetes.io/healthcheck-timeout-seconds: '5'
17+
alb.ingress.kubernetes.io/success-codes: '200'
18+
alb.ingress.kubernetes.io/healthy-threshold-count: '2'
19+
alb.ingress.kubernetes.io/unhealthy-threshold-count: '2'
20+
## SSL Settings
21+
alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}, {"HTTP":80}]'
22+
alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-east-1:180789647333:certificate/9f042b5d-86fd-4fad-96d0-c81c5abc71e1
23+
#alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS-1-1-2017-01 #Optional (Picks default if not used)
24+
# SSL Redirect Setting
25+
alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}'
26+
# External DNS - For creating a Record Set in Route53
27+
external-dns.alpha.kubernetes.io/hostname: ecrdemo.kubeoncloud.com
28+
spec:
29+
rules:
30+
- http:
31+
paths:
32+
- path: /* # SSL Redirect Setting
33+
backend:
34+
serviceName: ssl-redirect
35+
servicePort: use-annotation
36+
- path: /*
37+
backend:
38+
serviceName: kubeapp-ecr-nodeport-service
39+
servicePort: 80
40+
# Important Note-1: In path based routing order is very important, if we are going to use "/*", try to use it at the end of all rules.
41+
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,43 @@
1-
# Annotations Reference: https://kubernetes-sigs.github.io/aws-alb-ingress-controller/guide/ingress/annotation/
2-
apiVersion: extensions/v1beta1
1+
# Annotations Reference: https://kubernetes-sigs.github.io/aws-load-balancer-controller/latest/guide/ingress/annotations/
2+
apiVersion: networking.k8s.io/v1
33
kind: Ingress
44
metadata:
55
name: ecr-ingress-service
66
labels:
77
app: kubeapp-ecr
88
annotations:
9+
# Load Balancer Name
10+
alb.ingress.kubernetes.io/load-balancer-name: ecr-ingress
911
# Ingress Core Settings
10-
kubernetes.io/ingress.class: "alb"
12+
#kubernetes.io/ingress.class: "alb" (OLD INGRESS CLASS NOTATION - STILL WORKS BUT RECOMMENDED TO USE IngressClass Resource)
1113
alb.ingress.kubernetes.io/scheme: internet-facing
1214
# Health Check Settings
1315
alb.ingress.kubernetes.io/healthcheck-protocol: HTTP
1416
alb.ingress.kubernetes.io/healthcheck-port: traffic-port
17+
#Important Note: Need to add health check path annotations in service level if we are planning to use multiple targets in a load balancer
1518
alb.ingress.kubernetes.io/healthcheck-interval-seconds: '15'
1619
alb.ingress.kubernetes.io/healthcheck-timeout-seconds: '5'
1720
alb.ingress.kubernetes.io/success-codes: '200'
1821
alb.ingress.kubernetes.io/healthy-threshold-count: '2'
19-
alb.ingress.kubernetes.io/unhealthy-threshold-count: '2'
22+
alb.ingress.kubernetes.io/unhealthy-threshold-count: '2'
2023
## SSL Settings
2124
alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}, {"HTTP":80}]'
22-
alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-east-1:180789647333:certificate/9f042b5d-86fd-4fad-96d0-c81c5abc71e1
25+
alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-east-1:180789647333:certificate/d86de939-8ffd-410f-adce-0ce1f5be6e0d
2326
#alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS-1-1-2017-01 #Optional (Picks default if not used)
2427
# SSL Redirect Setting
25-
alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}'
28+
alb.ingress.kubernetes.io/ssl-redirect: '443'
2629
# External DNS - For creating a Record Set in Route53
27-
external-dns.alpha.kubernetes.io/hostname: ecrdemo.kubeoncloud.com
30+
external-dns.alpha.kubernetes.io/hostname: ecrdemo.kubeoncloud.com
2831
spec:
2932
rules:
3033
- http:
31-
paths:
32-
- path: /* # SSL Redirect Setting
34+
paths:
35+
- path: /
36+
pathType: Prefix
3337
backend:
34-
serviceName: ssl-redirect
35-
servicePort: use-annotation
36-
- path: /*
37-
backend:
38-
serviceName: kubeapp-ecr-nodeport-service
39-
servicePort: 80
38+
service:
39+
name: kubeapp-ecr-nodeport-service
40+
port:
41+
number: 80
4042
# Important Note-1: In path based routing order is very important, if we are going to use "/*", try to use it at the end of all rules.
4143

0 commit comments

Comments
 (0)
Please sign in to comment.