Я создал таблицу управления для кеш-сервера varni sh, который работает в кластере kubernetes, в то время как тестирование с «внешним IP-адресом» сгенерировало ошибку метания, делясь ниже
Sharing varni sh .vcl ( псевдоним default.vcl в моем случае ), values.yaml ниже. Любые предложения, как решить, как я жестко закодировал сервер / веб-сервер как .host = "www.varnish-cache.org" с портом: "80". Мое требование - выполнить входящий IP-адрес curl -IL для балансировки нагрузки (в моем случае), я должен получить ответ с кэшированными значениями, не такими, как описано выше (напрямую с внутреннего сервера) ..
Любые решения / подходы, как исправить это. Сделайте запрос, пожалуйста, дайте любой ответ / предложение, основанное на моем вышеупомянутом файле varni sh (default.vcl) и values.yaml. Пожалуйста, рассмотрите это как высокий приоритет.
varni sh .vcl:
VCL version 5.0 is not supported so it should be 4.0 or 4.1 even though actually used Varnish version is 6
vcl 4.1;
import std;
# The minimal Varnish version is 5.0
# For SSL offloading, pass the following header in your proxy server or load balancer: 'X-Forwarded-Proto: https'
{{ .Values.varnishconfigData | indent 2 }}
sub vcl_recv {
if(req.url == "/healthcheck") {
return(synth(200,"OK"));
}
}
values.yaml:
# Default values for varnish.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
repository: varnish
tag: 6.3
pullPolicy: IfNotPresent
nameOverride: ""
fullnameOverride: ""
service:
# type: ClusterIP
type: LoadBalancer
port: 80
varnishconfigData: |-
backend default {
.host = "35.170.216.115";
.port = "80";
.first_byte_timeout = 60s;
.connect_timeout = 300s ;
.probe = {
.url = "/";
.timeout = 1s;
.interval = 5s;
.window = 5;
.threshold = 3;
}
sub vcl_backend_response {
set beresp.ttl = 5m;
}
ingress:
enabled: false
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
path: /
hosts:
- chart-example.local
tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
resources:
limits:
memory: 128Mi
requests:
memory: 64Mi
#resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
nodeSelector: {}
tolerations: []
affinity: {}