cloud-run アドオンを有効にして、Google Kubernetes Engine クラスタのオートスケーラーを調整しようとしています。configmap を編集すると、変更が API サーバーによって受け入れられます。ただし、数分後に configmap は元のバージョンに戻ります。クラウド実行クラスター アドオンの使用中にオートスケーラーを調整する方法はありますか?
再現する手順:
- 構成マップを編集する
kubectl edit cm config-autoscaler -n knative-serving
# ...
configmap/config-autoscaler configured
- 結果を確認します。
kubectl get -n knative-serving configmap config-autoscaler -o json | jq '.data'
#=>
{
"container-concurrency-target-default": "1",
"container-concurrency-target-percentage": "0.5",
"enable-scale-to-zero": "false",
"max-scale-up-rate": "1000",
"panic-threshold-percentage": "200.0",
"panic-window-percentage": "10.0",
"scale-to-zero-grace-period": "90s",
"stable-window": "600s",
"target-burst-capacity": "-1",
"tick-interval": "2s"
}
- 数分待ってから、もう一度確認してください。
kubectl get -n knative-serving configmap config-autoscaler -o json | jq '.data'
#=>
{
"_example": "################################\n# #\n# EXAMPLE CONFIGURATION #\n# #\n################################\n# This block is not actually functional configuration,\n# but serves to illustrate the available configuration\n# options and document them in a way that is accessible\n# to users that `kubectl edit` this config map.\n#\n# These sample configuration options may be copied out of\n# this example block and unindented to be in the data block\n# to actually change the configuration.\n# The Revision ContainerConcurrency field specifies the maximum number\n# of requests the Container can handle at once. Container concurrency\n# target percentage is how much of that maximum to use in a stable\n# state. E.g. if a Revision specifies ContainerConcurrency of 10, then\n# the Autoscaler will try to maintain 7 concurrent connections per pod\n# on average. A value of 0.7 is chosen because the Autoscaler panics\n# when concurrency exceeds 2x the desired set point. So we will panic\n# before we reach the limit.\ncontainer-concurrency-target-percentage: \"1.0\"\n# The container concurrency target default is what the Autoscaler will\n# try to maintain when the Revision specifies unlimited concurrency.\n# Even when specifying unlimited concurrency, the autoscaler will\n# horizontally scale the application based on this target concurrency.\n#\n# A value of 100 is chosen because it's enough to allow vertical pod\n# autoscaling to tune resource requests. E.g. maintaining 1 concurrent\n# \"hello world\" request doesn't consume enough resources to allow VPA\n# to achieve efficient resource usage (VPA CPU minimum is 300m).\ncontainer-concurrency-target-default: \"100\"\n# When operating in a stable mode, the autoscaler operates on the\n# average concurrency over the stable window.\nstable-window: \"60s\"\n# When observed average concurrency during the panic window reaches\n# panic-threshold-percentage the target concurrency, the autoscaler\n# enters panic mode. When operating in panic mode, the autoscaler\n# scales on the average concurrency over the panic window which is\n# panic-window-percentage of the stable-window.\npanic-window-percentage: \"10.0\"\n# Absolute panic window duration.\n# Deprecated in favor of panic-window-percentage.\n# Existing revisions will continue to scale based on panic-window\n# but new revisions will default to panic-window-percentage.\npanic-window: \"6s\"\n# The percentage of the container concurrency target at which to\n# enter panic mode when reached within the panic window.\npanic-threshold-percentage: \"200.0\"\n# Max scale up rate limits the rate at which the autoscaler will\n# increase pod count. It is the maximum ratio of desired pods versus\n# observed pods.\nmax-scale-up-rate: \"10\"\n# Scale to zero feature flag\nenable-scale-to-zero: \"true\"\n# Tick interval is the time between autoscaling calculations.\ntick-interval: \"2s\"\n# Dynamic parameters (take effect when config map is updated):\n# Scale to zero grace period is the time an inactive revision is left\n# running before it is scaled to zero (min: 30s).\nscale-to-zero-grace-period: \"30s\"\n"
}
欠けているものはありますか、それとも knative サービング オートスケーラーを管理する configmap を編集することはできませんか? そうでない場合、私の代替手段は何ですか?