Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python客户端euqivelent'kubectl rollout restart<;部署>;_Python_Kubernetes - Fatal编程技术网

Python客户端euqivelent'kubectl rollout restart<;部署>;

Python客户端euqivelent'kubectl rollout restart<;部署>;,python,kubernetes,Python,Kubernetes,我正在尝试用Python运行一个自动化作业,该作业将重新启动Kubernetes集群中的部署。由于权限有限,我无法在机箱上安装kubectl。有人对此有什么建议或解决方案吗 谢谢。Kubernetes客户端中的kubectl卷展栏重新启动没有对应的原子操作。这是一个由多个API调用组成的操作 做什么,取决于你想要什么。要仅获取相同部署的新Pod,您可以删除Pod,或者您可以在部署上添加或更改注释以触发新的滚动部署。Kubernetes客户端中的kubectl卷展栏重新启动没有原子对应操作。这是一

我正在尝试用Python运行一个自动化作业,该作业将重新启动Kubernetes集群中的部署。由于权限有限,我无法在机箱上安装
kubectl
。有人对此有什么建议或解决方案吗


谢谢。

Kubernetes客户端中的
kubectl卷展栏重新启动
没有对应的原子操作。这是一个由多个API调用组成的操作


做什么,取决于你想要什么。要仅获取相同
部署的新Pod
,您可以删除
Pod
,或者您可以在
部署
上添加或更改注释以触发新的滚动部署。

Kubernetes客户端中的
kubectl卷展栏重新启动
没有原子对应操作。这是一个由多个API调用组成的操作


做什么,取决于你想要什么。要仅获取相同部署的新Pod,您可以删除一个
Pod
,或者您可以在部署上添加或更改注释,以触发新的滚动部署。

有关配置,请遵循-


有关配置,请参见-


非常感谢你。我试图修改现有部署上的注释,更改成功应用,但没有触发POD重启。我正在使用Python客户端进行Kubernetes和
patch\u namespaced\u部署
API调用。虽然这有一个
force
选项,但当我将其值设置为
True
时,它返回了一个错误
禁止:不能为非应用补丁指定。我做错了什么?我在谷歌搜索中找不到任何与此相关的资源。您可能需要更改
模板中的注释:
部署的一部分,以触发新的POD。非常感谢。那很有帮助。非常感谢。我试图修改现有部署上的注释,更改成功应用,但没有触发POD重启。我正在使用Python客户端进行Kubernetes和
patch\u namespaced\u部署
API调用。虽然这有一个
force
选项,但当我将其值设置为
True
时,它返回了一个错误
禁止:不能为非应用补丁指定。我做错了什么?我在谷歌搜索中找不到任何与此相关的资源。您可能需要更改
模板中的注释:
部署的一部分,以触发新的POD。非常感谢。这很有帮助。
# This is equivalent to `kubectl rollout restart deployment/dashboard-kubernetes-dashboard -n default`


from kubernetes import client, config
from kubernetes.client.rest import ApiException
import datetime

def restart_deployment(v1_apps, deployment, namespace):
    now = datetime.datetime.utcnow()
    now = str(now.isoformat("T") + "Z")
    body = {
        'spec': {
            'template':{
                'metadata': {
                    'annotations': {
                        'kubectl.kubernetes.io/restartedAt': now
                    }
                }
            }
        }
    }
    try:
        v1_apps.patch_namespaced_deployment(deployment, namespace, body, pretty='true')
    except ApiException as e:
        print("Exception when calling AppsV1Api->read_namespaced_deployment_status: %s\n" % e)


def main():
    config.load_kube_config(context="minikube")
    # Enter name of deployment and "namespace"
    deployment = "dashboard-kubernetes-dashboard"
    namespace = "default"
    v1_apps = client.AppsV1Api()
    restart_deployment(v1_apps, deployment, namespace)


if __name__ == '__main__':
    main()