Kubernetes容器云平台自动化运维工具——管理Pod服务
Kubernetes Python运维脚本开发-使用SDK方式管理Pod服务。
在提供的OpenStack私有云平台上,使用k8s-python-dev镜像创建1台云主机,云主机类型使用4vCPU/12G内存/100G硬盘。该主机中已经默认安装了所需的开发环境,登录默认账号密码为“root/1DaoYun@2022”。
使用Kubernetes python SDK的“kubernetes”Python库,在/root目录下,创建sdk_manager_deployment.py文件,要求编写python代码,代码实现以下任务:
(1)首先使用nginx-deployment.yaml文件创建deployment资源。
(2)创建完成后,查询该服务的信息,查询的body部分通过控制台输出,并以json格式的文件输出到当前目录下的deployment_sdk_dev.json文件中。
编写完成后,提交该云主机的用户名、密码和IP地址到答题框。
from kubernetes import client, config
import yaml
config.load_kube_config(config_file='kube_config')
k8s = client.AppsV1Api()
with open('nginx-deployment.yaml', encoding='utf-8') as f:
dep = yaml.safe_load(f.read())
try:
k8s.delete_namespaced_deployment('nginx-deployment', 'default')
except Exception as e:
print(e)
k8s.create_namespaced_deployment('default', body=dep)
resp = str(k8s.read_namespaced_deployment('nginx-deployment', 'default'))
print(resp)
with open('deployment_sdk_dev.json', 'w') as f:
f.write(resp)