MaxLang操作资源示例
MaxLang 操作MaxCloud相关功能示例
登录MaxCloud
loginMaxCloud("用户名","密码")
参数1:用户名(登录MaxCloud账户)
参数2:密码(登录MaxCloud密码)
使用Credential 方式登录MaxCloud
setCredential("maxcloud", "jianwen.gao@mobvista.com", <<password>>)
loginMaxcloud("maxcloud")
获取Team列表
获取登录账号可以使用的所有Team列表
获取Team下的所有项目列表
listProject(teamId)
参数1:团队ID
获取项目下的所有集群列表
listCluster(teamId, projectId)
参数1:团队ID
参数2:项目ID
初始化集群参数变量
使用一个map变量保存teamId、projectId,clusterId、namespace 等参数,使用一个方便识别的名称,后续集群相关方法调用第一个参数都传入这个变量,用于指定集群环境。
teamId,projectId,clusterId 等参数可以直接从MaxCloud项目管理页面复制,如下图所示
从网页中复制的一下内容,只有 teamId
、projectId
、 clusterId
、 namespace
几个参数是必填的,Name相关参数只是为了方便您识别
设置当前环境的kubeconfig
参数1:集群环境变量
此函数执行后会把当前集群环境变量指定集群的kubeconfig放在当前环境的~/.kube/config 文件中,后续可以使用 exec(xxx)
执行shell 命令,如果使用exec(kubectl get pod -n namespaceName)
就可以获取指定namespace下的pod列表
如果需要切换kubeconfig需要重新执行useCluster,该操作会用新集群kubeconfig覆盖之前的文件
展示设置集群kubeconfig后使用shell命令操作集群
创建命名空间
参数1:集群环境变量
参数2:新命名空间名称
获取资源Yaml
参数1:集群环境变量
参数2:资源类型
参数3:资源名称
Describe 资源
参数1:集群环境变量
参数2: 资源类型
参数3:资源名称
Scale Deployment
参数1:集群环境变量
参数2:Deployment 名称
参数3: Replicas 数量
Scale Statefulset
参数1:集群环境变量
参数2:Statefulset 名称
参数3:Replicas 数量
列举所有资源
参数1:集群环境变量
参数2:资源类型
listResource 指定资源类型后可以获取上面指定集群命名空间下的所有资源 listResource 可以只传入一个类型参数,也可以传入第二个参数作为零时命名空间(不会覆盖之前useCluster设置的命名空间)
目前支持的资源为:
deployment
job
cronjob
daemonset
statefulset
service
ingress
persistentvolumeclaim
configmap
secret
gateway
namespace
pod
horizontalpodautoscaler
serviceaccount
replicaset
poddisruptionbudget
node
storageclass
获取随机字符串
randStr参数为需要获取随机字符串长度,如果不传参数默认为6
把Maxlang对象转换成Json
测试把Map转换为json
测试把数组对象转换成json
测试把函数返回对象转为json
等待N秒
sleep(second)
参数1:休眠秒数
使用模版Apply Yaml
声明字符串模版
模版语法同Golang 语法
声明一个Map数据用于替换上面模版的占位
Map 数据key、value 都必须是字符串,暂不支持其他类型
使用fillTemp 方法用map 替换模版中的占位符,获取最终可执行的yaml字符串
调用applyYaml 方法在集群中部署yaml
HPA
锁定HPA
参数1:当前集群环境 参数2:HPA 名称 参数3:minReplicas
设置minReplicas值,默认MaxReplicas不变,如果当前MaxReplicas小于要设置的minReplicas则修改 MaxReplicas为minReplicas一样 例如:
调用 localHpa(env, "demo-hpa", 3),锁定为3则执行后结果为
如果再次调用调用 localHpa(env, "demo-hpa", 10),锁定为10则执行后结果为
设置HPA 的Replicas
参数1:HPA名称
参数2:minReplicas
参数3:maxReplicas
获取HPA的minReplicas
参数1:集群环境
参数2:HPA名称
获取HPA的maxReplicas
参数1:集群环境
参数2:HPA名称
获取HPA当前Replicas
参数1:集群环境
参数2:HPA名称
Helm 安装
添加Repo
参数1:集群环境变量
参数2:repo name
参数3:repo URL
设置sets
安装Chart
参数1:集群环境变量
参数2:releaseName
参数3:chart name
参数4:chart版本
参数5:sets参数 (可选)
查循已安装的Helm列表
参…-stage-old.detailroi.mintegral.com")
AWS ASG Size查询和更改
ASG 相关方法都支持通过公共方法执行云商,或者用云商的方法名,以获取asg为例
参数中指定云商(aws、aliyun、huawei)
直接用云商的方法
listASGs、getASG、updateASG、lockASG 都支持上述使用方式
usage:
列出region的ASG, 如果asgName是空, 列出所有的ASG
更新ASG的最小容量、最大容量、所需容量
获取ASG的最大、最小、所需容量
锁定ASG到lockSize
e.g.
查询ASG(s)
参数1:云商credential ,请先试用setCredential(name, key, value 设置)
参数2:region
参数3:asgName (可选)
获取Aws asg列表
获取阿里云 asg 列表
获取huawei asg 列表
使用参数指定云商
更改ASG的最小容量、最大容量、所需容量
参数1:云商credential ,请先试用setCredential(name, key, value 设置)
参数2:region
参数3:asgName
参数4:最小
参数5:最大
参数6:期望值
修改Aws asg
修改阿里云 asg
修改 huawei asg
使用参数指定云商
锁定ASG容量
参数1:云商credential ,请先试用setCredential(name, key, value 设置)
参数2:region
参数3:asgName
参数4:锁定值
如果参数4锁定值小于1,则最小值会被修改为当前的期望值 如果参数4大于最大值,则最大值会被修改为锁定值 如果期望值小于参数4锁定值,则期望值修改为所定值
锁定Aws asg
锁定aliyun asg
锁定huawei asg
获取asg
参数1:云商credential ,请先试用setCredential(name, key, value 设置)
参数2:region
参数3:asgName
获取Aws asg列表
获取阿里云 asg 列表
获取huawei asg 列表
Bucket 管理
列出Bucket
参数1:credential
参数2:云商provider
参数3:endpoint(aliyun的时候必传)
列出Aws bucket
列出Aliyun bucket
创建文件夹
参数1:credential
参数2:云商provider (aws,aliyun)
参数3:bucketName
参数4:dirName
参数5:endpoint(aliyun的时候必传)
aws 指定bucket下创建文件
aliyun 指定bucket下创建文件
列出Bucket 中的文件
参数1:credential
参数2:云商provider
参数3:bucketName
参数4:前缀 Prefix
参数5:endpoint(aliyun的时候必传)
列出aws 指定bucket 下的文件
列出aliyun 指定bucket 下的文件
最后更新于
这有帮助吗?