Kubernetes容器云平台自动化运维工具——管理job服务

Kubernetes Python运维脚本开发-使用SDK方式管理job服务。
在提供的OpenStack私有云平台上,使用k8s-python-dev镜像创建1台云主机,云主机类型使用4vCPU/12G内存/100G硬盘。该主机中已经默认安装了所需的开发环境,登录默认账号密码为“root/1DaoYun@2022”。
使用Kubernetes python SDK的“kubernetes”Python库,在/root目录下,创建sdk_job_manager.py文件,要求编写python代码,代码实现以下任务:
(1)编写Python程序实现Job资源的创建。Job配置信息如下。如果同名Job存在,先删除再创建。
(2)创建完成后,查询该Job的详细信息,执行结果控制台输出,以json格式展示。
Job创建yaml的信息如下:
apiVersion: batch/v1
kind: Job
metadata:
name: pi
spec:
template:
spec:
containers:

  • name: pi
    image: perl
    command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
    restartPolicy: Never
    backoffLimit: 4
    编写完成后,提交该云主机的用户名、密码和IP地址到答题框。

    from os import path
    
    import yaml
    import json
    from kubernetes import client, config
    
    
    def main():
      config.load_kube_config()
    
      with open(path.join(path.dirname(__file__), "nginx-deployment.yaml")) as f:
          dep = yaml.safe_load(f)
          k8s_apps_v1 = client.AppsV1Api()
          k8s_apps_v1.delete_namespaced_deployment(name="nginx-deployment", namespace="default")
          k8s_apps_v1.create_namespaced_deployment(body=dep, namespace="default")
          sspi = k8s_apps_v1.read_namespaced_deployment(name="nginx-deployment", namespace="default")
          deployment_info_json = json.dumps(client.ApiClient().sanitize_for_serialization(sspi))
          print(sspi)
          with open("deployment_sdk_dev.json", "a") as file:
              file.write(str(deployment_info_json))
    
    
    if __name__ == '__main__':
      main()
    
该文章的评论已关闭