Skip to content

自动定量

Knative服务提供自动缩放,也称为自动缩放。 这意味着,Knative服务在不使用时,默认情况下会减少到零个运行的pod。

列出您的Knative服务

使用Knative (kn)命令行查看Knative服务所在的URL:

运行命令查看Knative服务列表:

kn service list

Expected output

NAME    URL                                                LATEST        AGE   CONDITIONS   READY
hello   http://hello.default.${LOADBALANCER_IP}.sslip.io   hello-00001   13s   3 OK / 3     True

运行命令查看Knative服务列表:

kubectl get ksvc

Expected output

NAME    URL                                                LATESTCREATED   LATESTREADY   READY   REASON
hello   http://hello.default.${LOADBALANCER_IP}.sslip.io   hello-00001     hello-00001   True

访问您的Knative服务

通过在浏览器中打开前面的URL或运行以下命令来访问您的Knative服务:

echo "Accessing URL $(kn service describe hello -o url)"
curl "$(kn service describe hello -o url)"

Expected output

Hello World!
你看到 curl: (6) Could not resolve host: hello.default.${LOADBALANCER_IP}.sslip.io?

在某些情况下,您的DNS服务器可能设置为不解析*.sslip.io地址。 如果遇到这个问题,可以通过使用不同的名称服务器来解决这些地址。

具体的步骤将根据您的发行版有所不同。 例如,对于使用systemd-resolved的Ubuntu派生系统,你可以在/etc/systemd/resolved.conf中添加以下条目:

[Resolve]
DNS=8.8.8.8
Domains=~sslip.io.

然后简单地用sudo service systemd-resolved restart重新启动服务。

对于MacOS用户,可以使用这里所述的网络设置添加DNS和域。

观察自动伸缩

观察这些Pod,看看在流量停止访问URL后,它们是如何缩小到零的:

kubectl get pod -l serving.knative.dev/service=hello -w

Note

可能需要2分钟才能让你的舱缩小。再次ping您的服务将重置此计时器。

Expected output

NAME                                     READY   STATUS
hello-world                              2/2     Running
hello-world                              2/2     Terminating
hello-world                              1/2     Terminating
hello-world                              0/2     Terminating

扩大您的Knative服务

在浏览器中重新运行Knative服务。你可以看到一个新的Pod再次运行:

Expected output

NAME                                     READY   STATUS
hello-world                              0/2     Pending
hello-world                              0/2     ContainerCreating
hello-world                              1/2     Running
hello-world                              2/2     Running

Ctrl+c退出kubectl watch命令。

Back to top

We use analytics and cookies to understand site traffic. Information about your use of our site is shared with Google for that purpose. Learn more.

× OK