ali sdk中对华为(K8S)的cpu和memory单位处理

This commit is contained in:
zhouqunjie 2022-05-14 16:30:54 +08:00
parent 8f080d9db8
commit 771d105af0
4 changed files with 18 additions and 11 deletions

View File

@ -10,6 +10,7 @@ import (
"gitlink.org.cn/JCCE/PCM/common/tenanter"
"gitlink.org.cn/JCCE/PCM/lan_trans/idl/pbpod"
"gitlink.org.cn/JCCE/PCM/lan_trans/idl/pbtenant"
"strconv"
)
// CreateContainerGroup invokes the eci.CreateContainerGroup API synchronously
@ -32,21 +33,26 @@ func CreateContainerGroup(request *CreateContainerGroupRequest) (response *Creat
glog.Infof("load tenant from file finished")
tenanters, err := tenanter.GetTenanters(provider)
var regionId int32
var cpuPod string
var memoryPod string
container := *request.Container
containerImage := container[0].Image
containerName := container[0].Name
cpuPodFloat, _ := container[0].Cpu.GetValue()
memoryPodFloat, _ := container[0].Memory.GetValue()
switch request.ProviderId {
case 0:
regionId, _ = tenanter.GetAliRegionId(request.RegionId)
case 1:
regionId, _ = tenanter.GetTencentRegionId(request.RegionId)
case 2:
regionId, _ = tenanter.GetHuaweiRegionId(request.RegionId)
cpuPod = strconv.FormatFloat(cpuPodFloat*1000, 'f', 0, 64)
memoryPod = strconv.FormatFloat(memoryPodFloat, 'f', 0, 64)
case 3:
regionId, _ = tenanter.GetK8SRegionId(request.RegionId)
}
container := *request.Container
containerImage := container[0].Image
containerName := container[0].Name
containerPod := container[0].Cpu
memoryPod := container[0].Memory
requestPCM := &pbpod.CreatePodReq{
RequestSource: "ali",
@ -56,8 +62,8 @@ func CreateContainerGroup(request *CreateContainerGroupRequest) (response *Creat
RegionId: regionId,
ContainerImage: containerImage,
ContainerName: containerName,
CpuPod: string(containerPod),
MemoryPod: string(memoryPod),
CpuPod: cpuPod + "m",
MemoryPod: memoryPod + "Gi",
SecurityGroupId: "sg-6qlun7hd",
SubnetId: "subnet-mnwfg2fk",
VpcId: "vpc-rkwt40g5",

View File

@ -130,6 +130,7 @@ func (c *pods) Create(ctx context.Context, pod *v1.Pod, opts metav1.CreateOption
var cpuPod string
var memoryPod string
//华为(K8S)与其他厂商的CPU单位和格式有区别
switch pod.Spec.ProviderId {
case 0:
regionId, _ = tenanter.GetAliRegionId(pod.Spec.RegionId)

View File

@ -31,8 +31,8 @@ func _main(args []*string) (_err error) {
createContainerGroupsRequest := pcm_pod_ali.CreateContainerGroupRequest{
RpcRequest: nil,
//ali:cn-hangzhou tc:ap-guangzhou hw: cn-east-3
RegionId: "cn-hangzhou",
ProviderId: 3,
RegionId: "cn-east-3",
ProviderId: 2,
Namespace: "pcm",
ContainerGroupName: "sdk-alitohuawei",
Container: &containers,

View File

@ -60,7 +60,7 @@ func CreatePod(client *kubernetes.Clientset) (*corev1.Pod, error) {
Labels: map[string]string{"name": "test_api"},
},
Spec: corev1.PodSpec{
ProviderId: 1,
ProviderId: 3,
//ali:cn-hangzhou tc:ap-guangzhou hw: cn-east-3
RegionId: "ap-guangzhou",
RestartPolicy: corev1.RestartPolicyAlways,
@ -93,7 +93,7 @@ func CreatePod(client *kubernetes.Clientset) (*corev1.Pod, error) {
}, nil
}
// UpdatePod 删除Pod
// UpdatePod 更新Pod
func UpdatePod(client *kubernetes.Clientset) error {
pod := corev1.Pod{
TypeMeta: metav1.TypeMeta{