sdk demo 0517
This commit is contained in:
parent
63f8433567
commit
c057d691d3
|
@ -19,7 +19,7 @@ func CreateContainerGroup(request *CreateContainerGroupRequest) (response *Creat
|
||||||
|
|
||||||
provider := pbtenant.CloudProvider(request.ProviderId)
|
provider := pbtenant.CloudProvider(request.ProviderId)
|
||||||
var configFile string
|
var configFile string
|
||||||
flag.StringVar(&configFile, "conf", "configs/config.yaml", "config.yaml")
|
flag.StringVar(&configFile, "confAli", "configs/config.yaml", "config.yaml")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
defer glog.Flush()
|
defer glog.Flush()
|
||||||
|
|
||||||
|
@ -43,13 +43,17 @@ func CreateContainerGroup(request *CreateContainerGroupRequest) (response *Creat
|
||||||
switch request.ProviderId {
|
switch request.ProviderId {
|
||||||
case 0:
|
case 0:
|
||||||
regionId, _ = tenanter.GetAliRegionId(request.RegionId)
|
regionId, _ = tenanter.GetAliRegionId(request.RegionId)
|
||||||
|
cpuPod = strconv.FormatFloat(cpuPodFloat, 'f', 0, 64)
|
||||||
|
memoryPod = strconv.FormatFloat(memoryPodFloat, 'f', 0, 64)
|
||||||
case 1:
|
case 1:
|
||||||
regionId, _ = tenanter.GetTencentRegionId(request.RegionId)
|
regionId, _ = tenanter.GetTencentRegionId(request.RegionId)
|
||||||
|
cpuPod = strconv.FormatFloat(cpuPodFloat, 'f', 0, 64)
|
||||||
|
memoryPod = strconv.FormatFloat(memoryPodFloat, 'f', 0, 64)
|
||||||
case 2:
|
case 2:
|
||||||
//华为的CPU和内存数量要进行转换
|
//华为的CPU和内存数量要进行转换
|
||||||
regionId, _ = tenanter.GetHuaweiRegionId(request.RegionId)
|
regionId, _ = tenanter.GetHuaweiRegionId(request.RegionId)
|
||||||
cpuPod = strconv.FormatFloat(cpuPodFloat*1000, 'f', 0, 64)
|
cpuPod = strconv.FormatFloat(cpuPodFloat*1000, 'f', 0, 64) + "m"
|
||||||
memoryPod = strconv.FormatFloat(memoryPodFloat, 'f', 0, 64)
|
memoryPod = strconv.FormatFloat(memoryPodFloat, 'f', 0, 64) + "Gi"
|
||||||
case 3:
|
case 3:
|
||||||
regionId, _ = tenanter.GetK8SRegionId(request.RegionId)
|
regionId, _ = tenanter.GetK8SRegionId(request.RegionId)
|
||||||
}
|
}
|
||||||
|
@ -62,8 +66,8 @@ func CreateContainerGroup(request *CreateContainerGroupRequest) (response *Creat
|
||||||
RegionId: regionId,
|
RegionId: regionId,
|
||||||
ContainerImage: containerImage,
|
ContainerImage: containerImage,
|
||||||
ContainerName: containerName,
|
ContainerName: containerName,
|
||||||
CpuPod: cpuPod + "m",
|
CpuPod: cpuPod,
|
||||||
MemoryPod: memoryPod + "Gi",
|
MemoryPod: memoryPod,
|
||||||
SecurityGroupId: "sg-6qlun7hd",
|
SecurityGroupId: "sg-6qlun7hd",
|
||||||
SubnetId: "subnet-mnwfg2fk",
|
SubnetId: "subnet-mnwfg2fk",
|
||||||
VpcId: "vpc-rkwt40g5",
|
VpcId: "vpc-rkwt40g5",
|
||||||
|
|
|
@ -33,7 +33,7 @@ func DeleteContainerGroup(request *DeleteContainerGroupRequest) (response *Delet
|
||||||
|
|
||||||
provider := pbtenant.CloudProvider(request.ProviderId)
|
provider := pbtenant.CloudProvider(request.ProviderId)
|
||||||
var configFile string
|
var configFile string
|
||||||
flag.StringVar(&configFile, "conf", "configs/config.yaml", "config.yaml")
|
flag.StringVar(&configFile, "confAli", "configs/config.yaml", "config.yaml")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
defer glog.Flush()
|
defer glog.Flush()
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@ func UpdateContainerGroup(request *UpdateContainerGroupRequest) (response *Updat
|
||||||
|
|
||||||
provider := pbtenant.CloudProvider(request.ProviderId)
|
provider := pbtenant.CloudProvider(request.ProviderId)
|
||||||
var configFile string
|
var configFile string
|
||||||
flag.StringVar(&configFile, "conf", "configs/config.yaml", "config.yaml")
|
flag.StringVar(&configFile, "confAli", "configs/config.yaml", "config.yaml")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
defer glog.Flush()
|
defer glog.Flush()
|
||||||
|
|
||||||
|
|
|
@ -3,11 +3,12 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
openapi "github.com/alibabacloud-go/darabonba-openapi/client"
|
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"
|
"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{
|
config := &openapi.Config{
|
||||||
// 您的AccessKey ID
|
// 您的AccessKey ID
|
||||||
AccessKeyId: accessKeyId,
|
AccessKeyId: accessKeyId,
|
||||||
|
@ -16,32 +17,78 @@ func CreateClient(accessKeyId *string, accessKeySecret *string) (_result *eci201
|
||||||
}
|
}
|
||||||
// 访问的域名
|
// 访问的域名
|
||||||
config.Endpoint = tea.String("eci.aliyuncs.com")
|
config.Endpoint = tea.String("eci.aliyuncs.com")
|
||||||
_result = &eci20180808.Client{}
|
_result = &eci.Client{}
|
||||||
_result, _err = eci20180808.NewClient(config)
|
_result, _err = eci.NewClientWithAccessKey("cn-hangzhou", *accessKeyId, *accessKeySecret)
|
||||||
return _result, _err
|
return _result, _err
|
||||||
}
|
}
|
||||||
|
|
||||||
func aliOriginMain() (_err error) {
|
func aliCreate(client eci.Client) (_err error) {
|
||||||
client, _err := CreateClient(tea.String(""), tea.String(""))
|
|
||||||
if _err != nil {
|
request := eci.CreateCreateContainerGroupRequest()
|
||||||
return _err
|
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 {
|
if _err != nil {
|
||||||
return _err
|
return _err
|
||||||
}
|
}
|
||||||
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() {
|
func main() {
|
||||||
err := aliOriginMain()
|
client, _ := CreateClient(tea.String("LTAI5tJbog28gBTVzBmvqCBG"), tea.String("CXTClnd0ZQhxn4C2b5NN1nmra7hl1z"))
|
||||||
|
|
||||||
|
err := aliDelete(*client)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,14 +12,14 @@ import (
|
||||||
"k8s.io/client-go/tools/clientcmd/api"
|
"k8s.io/client-go/tools/clientcmd/api"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
//const (
|
||||||
apiVersion = "client.authentication.k8s.io/v1beta1"
|
// apiVersion = "client.authentication.k8s.io/v1beta1"
|
||||||
cciEndpoint = "https://cci.cn-east-3.myhuaweicloud.com"
|
// cciEndpoint = "https://cci.cn-east-3.myhuaweicloud.com"
|
||||||
iamEndpoint = "https://iam.cn-east-3.myhuaweicloud.com"
|
// iamEndpoint = "https://iam.cn-east-3.myhuaweicloud.com"
|
||||||
projectName = "cn-east-3"
|
// projectName = "cn-east-3"
|
||||||
ak = "ATQTIWUT9K66VRMMXKVY"
|
// ak = "ATQTIWUT9K66VRMMXKVY"
|
||||||
sk = "Wa0aixDVuhZOfDZGWvgIJQBHnyiDlGdgDn1Ai5Yy"
|
// sk = "Wa0aixDVuhZOfDZGWvgIJQBHnyiDlGdgDn1Ai5Yy"
|
||||||
)
|
//)
|
||||||
|
|
||||||
// NewClientOrigin 通过AK/SK认证创建ClientSet
|
// NewClientOrigin 通过AK/SK认证创建ClientSet
|
||||||
func NewClientOrigin() (*kubernetes.Clientset, error) {
|
func NewClientOrigin() (*kubernetes.Clientset, error) {
|
||||||
|
|
|
@ -2,51 +2,90 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
pcm_pod_ali "code.gitlink.org.cn/JCCE/PCM.git/adaptor/pod/server/ali"
|
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()
|
||||||
|
|
||||||
//查询
|
/****************PCM params******************/
|
||||||
//describeContainerGroupsRequest := pcm_pod_ali.DescribeContainerGroupsRequest{
|
request.ProviderId = 2
|
||||||
// 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
|
//ali:cn-hangzhou tc:ap-guangzhou hw: cn-east-3
|
||||||
RegionId: "cn-east-3",
|
request.RegionId = "cn-east-3"
|
||||||
ProviderId: 2,
|
request.Namespace = "pcm"
|
||||||
Namespace: "pcm",
|
/****************PCM params******************/
|
||||||
ContainerGroupName: "sdk-alitohuawei",
|
request.ContainerGroupName = "pcm0517"
|
||||||
Container: &containers,
|
requestContainer := make([]pcm_pod_ali.CreateContainerGroupContainer, 1)
|
||||||
}
|
requestContainer[0].Image = "nginx:latest"
|
||||||
|
requestContainer[0].Name = "pcm"
|
||||||
// 复制代码运行请自行打印 API 的返回值
|
requestContainer[0].Cpu = "1"
|
||||||
resp, _err := pcm_pod_ali.CreateContainerGroup(&createContainerGroupsRequest)
|
requestContainer[0].Memory = "2"
|
||||||
|
request.Container = &requestContainer
|
||||||
|
|
||||||
|
resp, _err := pcm_pod_ali.CreateContainerGroup(request)
|
||||||
println(resp.ContainerGroupId)
|
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
|
return _err
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
err := _main(tea.StringSlice(os.Args[1:]))
|
|
||||||
|
err := aliUpdatePCM()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,15 @@ import (
|
||||||
"k8s.io/client-go/tools/clientcmd/api"
|
"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
|
// NewClient 通过AK/SK认证创建ClientSet
|
||||||
func NewClient() (*kubernetes.Clientset, error) {
|
func NewClient() (*kubernetes.Clientset, error) {
|
||||||
config, err := clientcmd.BuildConfigFromFlags(cciEndpoint, "")
|
config, err := clientcmd.BuildConfigFromFlags(cciEndpoint, "")
|
||||||
|
@ -161,23 +170,23 @@ func main() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
fmt.Println("Pod created")
|
fmt.Println("Pod created")
|
||||||
fmt.Println("start to get Pod details")
|
//fmt.Println("start to get Pod details")
|
||||||
_, err = ListPod(cs)
|
//_, err = ListPod(cs)
|
||||||
if err != nil {
|
//if err != nil {
|
||||||
return
|
// return
|
||||||
}
|
//}
|
||||||
fmt.Println("Pod details got")
|
//fmt.Println("Pod details got")
|
||||||
fmt.Println("start to update Pod")
|
//fmt.Println("start to update Pod")
|
||||||
err = UpdatePod(cs)
|
//err = UpdatePod(cs)
|
||||||
if err != nil {
|
//if err != nil {
|
||||||
return
|
// return
|
||||||
}
|
//}
|
||||||
fmt.Println("Pod updated")
|
//fmt.Println("Pod updated")
|
||||||
fmt.Println("start to delete Pod")
|
//fmt.Println("start to delete Pod")
|
||||||
err = DeletePod(cs)
|
//err = DeletePod(cs)
|
||||||
if err != nil {
|
//if err != nil {
|
||||||
return
|
// return
|
||||||
}
|
//}
|
||||||
fmt.Println("Pod deleted")
|
//fmt.Println("Pod deleted")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
1
go.mod
1
go.mod
|
@ -5,7 +5,6 @@ go 1.17
|
||||||
require (
|
require (
|
||||||
github.com/alibabacloud-go/darabonba-openapi v0.1.4
|
github.com/alibabacloud-go/darabonba-openapi v0.1.4
|
||||||
github.com/alibabacloud-go/darabonba-string v1.0.0
|
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/ecs-20140526/v2 v2.1.0
|
||||||
github.com/alibabacloud-go/tea v1.1.15
|
github.com/alibabacloud-go/tea v1.1.15
|
||||||
github.com/alibabacloud-go/tea-utils v1.3.9
|
github.com/alibabacloud-go/tea-utils v1.3.9
|
||||||
|
|
Loading…
Reference in New Issue