Я установил k-native на свой кластер k8s в GKE.Сейчас я запускаю тест с образцом приложения HelloWorld .
Поскольку я работаю в GKE и плачу за кластер 24/7, нет смысла масштабировать развертывание до нуля ивсегда иметь холодный старт для первого запроса.
Список того, что я пробовал до сих пор
- Ран
kubectl -n knative-serving edit cm config-autoscaler
, а затем изменил флаг enable-scale-to-zero
на 'false' с'true' как эта ссылка подразумевает - Ран
kubectl annotate --overwrite svc helloworld-go-5jm9r autoscaling.knative.dev/minScale="1"
, как указано в эта ссылка - Ран
kubectl annotate --overwrite svc helloworld-go-5jm9r autoscaling.knative.dev/class-
как один из моих собственных экспериментов
Независимо от того, какие изменения я сделал, модули PodW HelloWorld, запущенные для обслуживания, перестали работать, так как больше не поступало вызовов.Правильно ли я должен был поддерживать стручок вечно, я не прав?
Люди говорят, что опция setting-a-custom-minScale доступна здесь и там, но я не могу ее включить.Что мне не хватает?Например, приветствуются конкретные команды для запуска.
2-я попытка:
$ kubectl annotate --overwrite revision helloworld-go-5jm9r autoscaling.knative.dev/minScale="1"
revision.serving.knative.dev/helloworld-go-5jm9r annotated
$ kubectl describe revision
Name: helloworld-go-5jm9r
Namespace: default
Labels: serving.knative.dev/configuration=helloworld-go
serving.knative.dev/configurationGeneration=1
serving.knative.dev/service=helloworld-go
Annotations: autoscaling.knative.dev/minScale: 1
serving.knative.dev/lastPinned: 1560488757
(..omit..)
$ kubectl get po --watch
NAME READY STATUS RESTARTS AGE
helloworld-go-5jm9r-deployment-65dd4cc9d4-4hhrw 2/2 Running 0 19s
helloworld-go-5jm9r-deployment-65dd4cc9d4-4hhrw 2/2 Terminating 0 98s
helloworld-go-5jm9r-deployment-65dd4cc9d4-4hhrw 1/2 Terminating 0 101s
helloworld-go-5jm9r-deployment-65dd4cc9d4-4hhrw 0/2 Terminating 0 2m
Аннотирование ревизии не поддержало запущенный модуль ... Есть идеи?
Ответ:
Это был PodAutoscaler
, не Service или Revision.
$ kubectl annotate --overwrite PodAutoscaler helloworld-go-5jm9r autoscaling.knative.dev/minScale="2"
podautoscaler.autoscaling.internal.knative.dev/helloworld-go-5jm9r annotated
$ kubectl describe PodAutoscaler
Name: helloworld-go-5jm9r
Namespace: default
Labels: app=helloworld-go-5jm9r
serving.knative.dev/configuration=helloworld-go
serving.knative.dev/configurationGeneration=1
serving.knative.dev/revision=helloworld-go-5jm9r
serving.knative.dev/revisionUID=706b4f42-8be6-11e9-a475-42010a920158
serving.knative.dev/service=helloworld-go
Annotations: autoscaling.knative.dev/class: kpa.autoscaling.knative.dev
autoscaling.knative.dev/metric: concurrency
autoscaling.knative.dev/minScale: 2
(..omit..)
$ kubectl get po --watch
NAME READY STATUS RESTARTS AGE
helloworld-go-5jm9r-deployment-65dd4cc9d4-6rtr9 0/2 ContainerCreating 0 2s
helloworld-go-5jm9r-deployment-65dd4cc9d4-pqvcz 2/2 Running 0 116s
helloworld-go-5jm9r-deployment-65dd4cc9d4-6rtr9 1/2 Running 0 4s
helloworld-go-5jm9r-deployment-65dd4cc9d4-6rtr9 2/2 Running 0 4s