我正在尝试在 Kubernetes 上自动缩放 StatefulSet。为此,我需要获取当前的 Pod 数量。
处理部署时:
kubectl describe deployments [deployment-name] | grep desired | awk '{print $2}' | head -n1
Run Code Online (Sandbox Code Playgroud)
这会输出一个数字,即当前部署的数量。
然而,当你跑步时
kubectl describe statefulsets
Run Code Online (Sandbox Code Playgroud)
我们没有得到那么多信息。知道如何获取有状态集的当前副本数量吗?
autoscaling google-cloud-platform kubernetes google-kubernetes-engine statefulset
我有一个rabbitmq 服务器,并使用pika 库和Python 来生成/使用消息。出于开发目的,我只是使用
credentials = pika.PlainCredentials(<user-name>, <password>)
我想将其更改为使用 pika.ExternalCredentials 或 TLS。
我已将rabbitmq 服务器设置为在端口 5671 上侦听 TLS,并已正确配置它。我能够从本地主机与rabbitmq进行通信,但是当我尝试从本地主机外部与它进行通信时,它不喜欢这样。我有一种感觉,我的“凭据”是基于rabbitmq中的“来宾”用户。
%% -*- mode: erlang -*-
[
{rabbit,
[
{ssl_listeners, [5671]},
{auth_mechanisms, ['PLAIN', 'AMQPLAIN', 'EXTERNAL']},
{ssl_options, [{cacertfile,"~/tls-gen/basic/result/ca_certificate.pem"},
{certfile,"~/tls-gen/basic/result/server_certificate.pem"},
{keyfile,"~/tls-gen/basic/result/server_key.pem"},
{verify,verify_none},
{ssl_cert_login_from, common_name},
{fail_if_no_peer_cert,false}]}
]}
].
Run Code Online (Sandbox Code Playgroud)
我可以确认这是有效的,因为在我的rabbitmq日志中我看到:
2019-08-21 15:34:47.663 [info] <0.442.0> started TLS (SSL) listener on [::]:5671
Run Code Online (Sandbox Code Playgroud)
服务器端的一切似乎都已设置完毕,我还生成了证书和所需的所有 .pem 文件。
import pika
import ssl
from pika.credentials import ExternalCredentials
context = ssl.create_default_context(cafile="~/tls-gen/basic/result/ca_certificate.pem")
context.load_cert_chain("~/tls-gen/basic/result/client_certificate.pem",
"~/tls-gen/basic/result/client_key.pem")
ssl_options = pika.SSLOptions(context, "10.154.0.27")
params = pika.ConnectionParameters(port=5671,ssl_options=ssl_options, credentials = ExternalCredentials()) …Run Code Online (Sandbox Code Playgroud)