From c057d691d3f6b689398eb611161b632cc9484587 Mon Sep 17 00:00:00 2001 From: zhouqunjie <450705171@qq.com> Date: Tue, 17 May 2022 17:37:15 +0800 Subject: [PATCH] sdk demo 0517 --- .../pod/server/ali/create_container_group.go | 14 ++- .../pod/server/ali/delete_container_group.go | 2 +- .../pod/server/ali/update_container_group.go | 2 +- examples/ali.go | 79 ++++++++++--- examples/huawei.go | 16 +-- examples/pcm_ali.go | 111 ++++++++++++------ examples/pcm_huawei.go | 45 ++++--- go.mod | 1 - 8 files changed, 184 insertions(+), 86 deletions(-) diff --git a/adaptor/pod/server/ali/create_container_group.go b/adaptor/pod/server/ali/create_container_group.go index 16199791..e782792f 100644 --- a/adaptor/pod/server/ali/create_container_group.go +++ b/adaptor/pod/server/ali/create_container_group.go @@ -19,7 +19,7 @@ func CreateContainerGroup(request *CreateContainerGroupRequest) (response *Creat provider := pbtenant.CloudProvider(request.ProviderId) var configFile string - flag.StringVar(&configFile, "conf", "configs/config.yaml", "config.yaml") + flag.StringVar(&configFile, "confAli", "configs/config.yaml", "config.yaml") flag.Parse() defer glog.Flush() @@ -43,13 +43,17 @@ func CreateContainerGroup(request *CreateContainerGroupRequest) (response *Creat switch request.ProviderId { case 0: regionId, _ = tenanter.GetAliRegionId(request.RegionId) + cpuPod = strconv.FormatFloat(cpuPodFloat, 'f', 0, 64) + memoryPod = strconv.FormatFloat(memoryPodFloat, 'f', 0, 64) case 1: regionId, _ = tenanter.GetTencentRegionId(request.RegionId) + cpuPod = strconv.FormatFloat(cpuPodFloat, 'f', 0, 64) + memoryPod = strconv.FormatFloat(memoryPodFloat, 'f', 0, 64) case 2: //华为的CPU和内存数量要进行转换 regionId, _ = tenanter.GetHuaweiRegionId(request.RegionId) - cpuPod = strconv.FormatFloat(cpuPodFloat*1000, 'f', 0, 64) - memoryPod = strconv.FormatFloat(memoryPodFloat, 'f', 0, 64) + cpuPod = strconv.FormatFloat(cpuPodFloat*1000, 'f', 0, 64) + "m" + memoryPod = strconv.FormatFloat(memoryPodFloat, 'f', 0, 64) + "Gi" case 3: regionId, _ = tenanter.GetK8SRegionId(request.RegionId) } @@ -62,8 +66,8 @@ func CreateContainerGroup(request *CreateContainerGroupRequest) (response *Creat RegionId: regionId, ContainerImage: containerImage, ContainerName: containerName, - CpuPod: cpuPod + "m", - MemoryPod: memoryPod + "Gi", + CpuPod: cpuPod, + MemoryPod: memoryPod, SecurityGroupId: "sg-6qlun7hd", SubnetId: "subnet-mnwfg2fk", VpcId: "vpc-rkwt40g5", diff --git a/adaptor/pod/server/ali/delete_container_group.go b/adaptor/pod/server/ali/delete_container_group.go index a933de87..6c647248 100644 --- a/adaptor/pod/server/ali/delete_container_group.go +++ b/adaptor/pod/server/ali/delete_container_group.go @@ -33,7 +33,7 @@ func DeleteContainerGroup(request *DeleteContainerGroupRequest) (response *Delet provider := pbtenant.CloudProvider(request.ProviderId) var configFile string - flag.StringVar(&configFile, "conf", "configs/config.yaml", "config.yaml") + flag.StringVar(&configFile, "confAli", "configs/config.yaml", "config.yaml") flag.Parse() defer glog.Flush() diff --git a/adaptor/pod/server/ali/update_container_group.go b/adaptor/pod/server/ali/update_container_group.go index dc2f7c49..f58141c9 100644 --- a/adaptor/pod/server/ali/update_container_group.go +++ b/adaptor/pod/server/ali/update_container_group.go @@ -33,7 +33,7 @@ func UpdateContainerGroup(request *UpdateContainerGroupRequest) (response *Updat provider := pbtenant.CloudProvider(request.ProviderId) var configFile string - flag.StringVar(&configFile, "conf", "configs/config.yaml", "config.yaml") + flag.StringVar(&configFile, "confAli", "configs/config.yaml", "config.yaml") flag.Parse() defer glog.Flush() diff --git a/examples/ali.go b/examples/ali.go index fcd90396..25343e58 100644 --- a/examples/ali.go +++ b/examples/ali.go @@ -3,11 +3,12 @@ package main import ( openapi "github.com/alibabacloud-go/darabonba-openapi/client" - eci20180808 "github.com/alibabacloud-go/eci-20180808/v2/client" + "github.com/aliyun/alibaba-cloud-sdk-go/services/eci" + "github.com/alibabacloud-go/tea/tea" ) -func CreateClient(accessKeyId *string, accessKeySecret *string) (_result *eci20180808.Client, _err error) { +func CreateClient(accessKeyId *string, accessKeySecret *string) (_result *eci.Client, _err error) { config := &openapi.Config{ // 您的AccessKey ID AccessKeyId: accessKeyId, @@ -16,32 +17,78 @@ func CreateClient(accessKeyId *string, accessKeySecret *string) (_result *eci201 } // 访问的域名 config.Endpoint = tea.String("eci.aliyuncs.com") - _result = &eci20180808.Client{} - _result, _err = eci20180808.NewClient(config) + _result = &eci.Client{} + _result, _err = eci.NewClientWithAccessKey("cn-hangzhou", *accessKeyId, *accessKeySecret) return _result, _err } -func aliOriginMain() (_err error) { - client, _err := CreateClient(tea.String(""), tea.String("")) - if _err != nil { - return _err - } +func aliCreate(client eci.Client) (_err error) { + + request := eci.CreateCreateContainerGroupRequest() + request.RegionId = "cn-hangzhou" + request.ContainerGroupName = "pcm0517" + requestContainer := make([]eci.CreateContainerGroupContainer, 1) + requestContainer[0].Image = "nginx:latest" + requestContainer[0].Name = "pcm" + requestContainer[0].Cpu = "1" + requestContainer[0].Memory = "2" + request.Container = &requestContainer + + resp, _err := client.CreateContainerGroup(request) + println(resp.ContainerGroupId) + + return _err +} + +func aliDescribe(client eci.Client) (_err error) { + + request := eci.CreateDescribeContainerGroupsRequest() + request.RegionId = "cn-hangzhou" + + resp, _err := client.DescribeContainerGroups(request) + println(resp.ContainerGroups[0].ContainerGroupId) - describeContainerGroupsRequest := &eci20180808.DescribeContainerGroupsRequest{ - RegionId: tea.String("cn-hangzhou"), - } - // 复制代码运行请自行打印 API 的返回值 - resp, _err := client.DescribeContainerGroups(describeContainerGroupsRequest) - println(*resp.Body.ContainerGroups[0].ContainerGroupId) if _err != nil { return _err } return _err } +func aliUpdate(client eci.Client) (_err error) { + + request := eci.CreateUpdateContainerGroupRequest() + request.RegionId = "cn-hangzhou" + request.ContainerGroupId = "eci-bp10k06yd8efj65d4iqg" + request.RestartPolicy = "Never" + + resp, _err := client.UpdateContainerGroup(request) + println(resp.RequestId) + if _err != nil { + return _err + } + return _err +} + +func aliDelete(client eci.Client) (_err error) { + + request := eci.CreateDeleteContainerGroupRequest() + request.RegionId = "cn-hangzhou" + request.ContainerGroupId = "eci-bp10k06yd8efj65d4iqg" + + resp, _err := client.DeleteContainerGroup(request) + println(resp.RequestId) + if _err != nil { + return _err + } + return _err +} func main() { - err := aliOriginMain() + client, _ := CreateClient(tea.String("LTAI5tJbog28gBTVzBmvqCBG"), tea.String("CXTClnd0ZQhxn4C2b5NN1nmra7hl1z")) + + err := aliDelete(*client) + if err != nil { panic(err) } + } diff --git a/examples/huawei.go b/examples/huawei.go index bdce68b5..ee5d3303 100644 --- a/examples/huawei.go +++ b/examples/huawei.go @@ -12,14 +12,14 @@ import ( "k8s.io/client-go/tools/clientcmd/api" ) -const ( - apiVersion = "client.authentication.k8s.io/v1beta1" - cciEndpoint = "https://cci.cn-east-3.myhuaweicloud.com" - iamEndpoint = "https://iam.cn-east-3.myhuaweicloud.com" - projectName = "cn-east-3" - ak = "ATQTIWUT9K66VRMMXKVY" - sk = "Wa0aixDVuhZOfDZGWvgIJQBHnyiDlGdgDn1Ai5Yy" -) +//const ( +// apiVersion = "client.authentication.k8s.io/v1beta1" +// cciEndpoint = "https://cci.cn-east-3.myhuaweicloud.com" +// iamEndpoint = "https://iam.cn-east-3.myhuaweicloud.com" +// projectName = "cn-east-3" +// ak = "ATQTIWUT9K66VRMMXKVY" +// sk = "Wa0aixDVuhZOfDZGWvgIJQBHnyiDlGdgDn1Ai5Yy" +//) // NewClientOrigin 通过AK/SK认证创建ClientSet func NewClientOrigin() (*kubernetes.Clientset, error) { diff --git a/examples/pcm_ali.go b/examples/pcm_ali.go index 9a492395..df1869bf 100644 --- a/examples/pcm_ali.go +++ b/examples/pcm_ali.go @@ -2,51 +2,90 @@ package main import ( pcm_pod_ali "code.gitlink.org.cn/JCCE/PCM.git/adaptor/pod/server/ali" - "github.com/alibabacloud-go/tea/tea" - "os" ) -func _main(args []*string) (_err error) { +func aliCreatePCM() (_err error) { + request := pcm_pod_ali.CreateCreateContainerGroupRequest() - //查询 - //describeContainerGroupsRequest := pcm_pod_ali.DescribeContainerGroupsRequest{ - // RegionId: "cn-hangzhou", - // ProviderId: 1, - //} - // - //// 复制代码运行请自行打印 API 的返回值 - //resp, _err := pcm_pod_ali.DescribeContainerGroups(&describeContainerGroupsRequest) - //println(resp.ContainerGroups[0].ContainerGroupId) - - //创建 - container := pcm_pod_ali.CreateContainerGroupContainer{ - Image: "nginx:latest", - Name: "pcm-sdk-ali", - Cpu: "1", - Memory: "2", - } - containers := make([]pcm_pod_ali.CreateContainerGroupContainer, 0) - containers = append(containers, container) - - createContainerGroupsRequest := pcm_pod_ali.CreateContainerGroupRequest{ - RpcRequest: nil, - //ali:cn-hangzhou tc:ap-guangzhou hw: cn-east-3 - RegionId: "cn-east-3", - ProviderId: 2, - Namespace: "pcm", - ContainerGroupName: "sdk-alitohuawei", - Container: &containers, - } - - // 复制代码运行请自行打印 API 的返回值 - resp, _err := pcm_pod_ali.CreateContainerGroup(&createContainerGroupsRequest) + /****************PCM params******************/ + request.ProviderId = 2 + //ali:cn-hangzhou tc:ap-guangzhou hw: cn-east-3 + request.RegionId = "cn-east-3" + request.Namespace = "pcm" + /****************PCM params******************/ + request.ContainerGroupName = "pcm0517" + requestContainer := make([]pcm_pod_ali.CreateContainerGroupContainer, 1) + requestContainer[0].Image = "nginx:latest" + requestContainer[0].Name = "pcm" + requestContainer[0].Cpu = "1" + requestContainer[0].Memory = "2" + request.Container = &requestContainer + resp, _err := pcm_pod_ali.CreateContainerGroup(request) println(resp.ContainerGroupId) + + return _err +} + +func aliDescribePCM() (_err error) { + request := pcm_pod_ali.CreateDescribeContainerGroupsRequest() + + /****************PCM params******************/ + request.ProviderId = 2 + //ali:cn-hangzhou tc:ap-guangzhou hw: cn-east-3 + request.RegionId = "cn-east-3" + request.Namespace = "pcm" + /****************PCM params******************/ + + resp, _err := pcm_pod_ali.DescribeContainerGroups(request) + println(resp.ContainerGroups[0].ContainerGroupId) + + return _err +} + +func aliUpdatePCM() (_err error) { + request := pcm_pod_ali.CreateUpdateContainerGroupRequest() + + /****************PCM params******************/ + request.ProviderId = 2 + //ali:cn-hangzhou tc:ap-guangzhou hw: cn-east-3 + request.RegionId = "cn-east-3" + request.Namespace = "pcm" + + /****************PCM params******************/ + requestContainer := make([]pcm_pod_ali.UpdateContainerGroupContainer, 1) + requestContainer[0].Cpu = "2" + requestContainer[0].Memory = "4" + request.Container = &requestContainer + + resp, _err := pcm_pod_ali.UpdateContainerGroup(request) + println(resp.RequestId) + + return _err +} + +func aliDeletePCM() (_err error) { + + request := pcm_pod_ali.CreateDeleteContainerGroupRequest() + /****************PCM params******************/ + request.ProviderId = 2 + //ali:cn-hangzhou tc:ap-guangzhou hw: cn-east-3 + request.RegionId = "cn-east-3" + request.Namespace = "pcm" + /****************PCM params******************/ + request.ContainerGroupId = "eksci-hhfpfms6" + + resp, _err := pcm_pod_ali.DeleteContainerGroup(request) + println(resp.RequestId) + if _err != nil { + return _err + } return _err } func main() { - err := _main(tea.StringSlice(os.Args[1:])) + + err := aliUpdatePCM() if err != nil { panic(err) } diff --git a/examples/pcm_huawei.go b/examples/pcm_huawei.go index ca2a9e51..c31aec36 100644 --- a/examples/pcm_huawei.go +++ b/examples/pcm_huawei.go @@ -12,6 +12,15 @@ import ( "k8s.io/client-go/tools/clientcmd/api" ) +const ( + apiVersion = "client.authentication.k8s.io/v1beta1" + cciEndpoint = "https://cci.cn-east-3.myhuaweicloud.com" + iamEndpoint = "https://iam.cn-east-3.myhuaweicloud.com" + projectName = "cn-east-3" + ak = "ATQTIWUT9K66VRMMXKVY" + sk = "Wa0aixDVuhZOfDZGWvgIJQBHnyiDlGdgDn1Ai5Yy" +) + // NewClient 通过AK/SK认证创建ClientSet func NewClient() (*kubernetes.Clientset, error) { config, err := clientcmd.BuildConfigFromFlags(cciEndpoint, "") @@ -161,23 +170,23 @@ func main() { return } fmt.Println("Pod created") - fmt.Println("start to get Pod details") - _, err = ListPod(cs) - if err != nil { - return - } - fmt.Println("Pod details got") - fmt.Println("start to update Pod") - err = UpdatePod(cs) - if err != nil { - return - } - fmt.Println("Pod updated") - fmt.Println("start to delete Pod") - err = DeletePod(cs) - if err != nil { - return - } - fmt.Println("Pod deleted") + //fmt.Println("start to get Pod details") + //_, err = ListPod(cs) + //if err != nil { + // return + //} + //fmt.Println("Pod details got") + //fmt.Println("start to update Pod") + //err = UpdatePod(cs) + //if err != nil { + // return + //} + //fmt.Println("Pod updated") + //fmt.Println("start to delete Pod") + //err = DeletePod(cs) + //if err != nil { + // return + //} + //fmt.Println("Pod deleted") } diff --git a/go.mod b/go.mod index f5bd53cb..7566726f 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,6 @@ go 1.17 require ( github.com/alibabacloud-go/darabonba-openapi v0.1.4 github.com/alibabacloud-go/darabonba-string v1.0.0 - github.com/alibabacloud-go/eci-20180808/v2 v2.0.2 github.com/alibabacloud-go/ecs-20140526/v2 v2.1.0 github.com/alibabacloud-go/tea v1.1.15 github.com/alibabacloud-go/tea-utils v1.3.9