Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 83 additions & 0 deletions k8s/kkweon-okteto/envoy-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
apiVersion: v1
data:
envoy.yaml: |-
admin:
access_log_path: /tmp/admin_access.log
address:
socket_address:
address: 0.0.0.0
port_value: 9000
static_resources:
listeners:
- name: listener_0
address:
socket_address:
address: 0.0.0.0
port_value: 8080
filter_chains:
- filters:
- name: envoy.filters.network.http_connection_manager
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
stat_prefix: ingress_http
access_log:
- name: envoy.access_loggers.stdout
typed_config:
"@type": type.googleapis.com/envoy.extensions.access_loggers.stream.v3.StdoutAccessLog
http_filters:
- name: envoy.filters.http.health_check
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.health_check.v3.HealthCheck
pass_through_mode: false
headers:
- name: ":path"
exact_match: "/healthz"
- name: "x-envoy-livenessprobe"
exact_match: "healthz"
- name: envoy.filters.http.grpc_web
- name: envoy.filters.http.cors
- name: envoy.filters.http.router
route_config:
name: local_route
virtual_hosts:
- name: local_service
domains: [ "*" ]
routes:
- match:
prefix: "/"
route:
cluster: grpc_service
timeout: 0s
max_stream_duration:
grpc_timeout_header_max: 0s
cors:
allow_origin_string_match:
- prefix: "*"
allow_methods: GET, PUT, DELETE, POST, OPTIONS
allow_headers: keep-alive,user-agent,cache-control,content-type,content-transfer-encoding,custom-header-1,x-accept-content-transfer-encoding,x-accept-response-streaming,x-user-agent,x-grpc-web,grpc-timeout
max_age: "1728000"
expose_headers: custom-header-1,grpc-status,grpc-message
clusters:
- name: grpc_service
connect_timeout: 0.25s
type: logical_dns
http2_protocol_options: {}
lb_policy: round_robin
load_assignment:
cluster_name: cluster_0
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: server
port_value: 9000
health_checks:
timeout: 1s
interval: 10s
unhealthy_threshold: 2
healthy_threshold: 2
grpc_health_check: {}
kind: ConfigMap
metadata:
name: envoy-config
80 changes: 80 additions & 0 deletions k8s/kkweon-okteto/envoy-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
kind: Ingress
apiVersion: networking.k8s.io/v1
metadata:
name: envoy
annotations:
dev.okteto.com/generate-host: "true"
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
rules:
- host: this-name-does-not-matter
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: envoy
port:
name: envoy
---
apiVersion: v1
kind: Service
metadata:
labels:
app: envoy
name: envoy
spec:
ports:
- name: envoy
port: 8080
protocol: TCP
targetPort: envoy
- name: admin
port: 9000
protocol: TCP
targetPort: admin
selector:
app: envoy
type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: envoy
name: envoy
spec:
replicas: 1
selector:
matchLabels:
app: envoy
template:
metadata:
labels:
app: envoy
spec:
containers:
- image: envoyproxy/envoy-alpine:v1.18-latest
name: envoy-distroless
ports:
- containerPort: 9000
name: admin
- containerPort: 8080
name: envoy
volumeMounts:
- mountPath: /etc/envoy/envoy.yaml
subPath: envoy.yaml
name: envoy-config
readinessProbe:
httpGet:
port: envoy
httpHeaders:
- name: x-envoy-livenessprobe
value: healthz
path: /healthz
volumes:
- name: envoy-config
configMap:
name: envoy-config
4 changes: 3 additions & 1 deletion okteto-pipeline.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@ deploy:
- for file in k8s/kkweon-okteto/*.yaml; do envsubst < $file | kubectl apply -f -; done
- kubectl set image deployment server server=okteto.dev/codingpot-pr12er-server:${OKTETO_GIT_COMMIT}
- kubectl rollout restart deployment grafana-agent
- kubectl rollout status deployment server && kubectl rollout status deployment grafana-agent
- kubectl rollout status deployment server
- kubectl rollout status deployment grafana-agent
- kubectl rollout status deployment envoy