sdk demo 0517

This commit is contained in:
zhouqunjie 2022-05-17 17:37:15 +08:00
parent 63f8433567
commit c057d691d3
8 changed files with 184 additions and 86 deletions

View File

@ -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",

View File

@ -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()

View File

@ -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()

View File

@ -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)
}
}

View File

@ -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) {

View File

@ -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,
/****************PCM params******************/
request.ProviderId = 2
//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)
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)
}

View File

@ -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")
}

1
go.mod
View File

@ -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