详情:
我正在使用AWS EKS服务来管理K8集群中的应用程序。在命名空间mytenantspace
中的一个名为my-core-pod
的pod中,我运行了一个python flask应用程序。我已经创建了一个端点create_infra
,它的作用是,它接受POST请求并增加命名空间myenvspace
中pod my-daemon-service-pod
的副本数量。
现在我已经安装了kubectl
,并且在.kube/config
中正确更新了配置。我使用的是python 3.8
,kuberenets
客户端是28.1.0
。
**注意:**我可以使用python kubernetes客户端连接并列出集群的所有pod和命名空间。
这是我增加副本pod的实现。
#code running in the `my-core-pod` in the namespace `mytenantspace`
from kubernetes import client, config
config.load_kube_config()
v1 = client.CoreV1Api()
@app.route("/create_infra", methods=["POST"])
def create_pod():
number_pods = 3
pod_name = "my-daemon-service-pod"
namespace = "myenvspace"
# Get the existing pod's template.
existing_pod = v1.read_namespaced_pod(pod_name, namespace)
#Clear the resourceVersion to avoid the error.
existing_pod.metadata.resource_version = None
# Create new pods based on the existing pod's template.
for i in range(number_pods):
new_pod_name = f"{pod_name}-replica-{i}"
new_pod = existing_pod
new_pod.metadata.name = new_pod_name
new_pod.metadata.uid = None # Clear the UID to ensure a unique pod is created.
# Create the new pod replica.
v1.create_namespaced_pod(namespace, new_pod)
字符串
我没有收到任何错误。我在控制台收到一个巨大的响应JSON。但我的pod没有伸缩。你能在我的代码中找到问题吗?我使用的是正确的API吗?
1条答案
按热度按时间368yc8dk1#
这对我很有效:
字符串