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/common/tenanter"
"gitlink.org.cn/JCCE/PCM/lan_trans/idl/pbpod" "gitlink.org.cn/JCCE/PCM/lan_trans/idl/pbpod"
"gitlink.org.cn/JCCE/PCM/lan_trans/idl/pbtenant" "gitlink.org.cn/JCCE/PCM/lan_trans/idl/pbtenant"
"strconv"
) )
// CreateContainerGroup invokes the eci.CreateContainerGroup API synchronously // CreateContainerGroup invokes the eci.CreateContainerGroup API synchronously
@ -32,21 +33,26 @@ func CreateContainerGroup(request *CreateContainerGroupRequest) (response *Creat
glog.Infof("load tenant from file finished") glog.Infof("load tenant from file finished")
tenanters, err := tenanter.GetTenanters(provider) tenanters, err := tenanter.GetTenanters(provider)
var regionId int32 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 { switch request.ProviderId {
case 0: case 0:
regionId, _ = tenanter.GetAliRegionId(request.RegionId) regionId, _ = tenanter.GetAliRegionId(request.RegionId)
case 1: case 1:
regionId, _ = tenanter.GetTencentRegionId(request.RegionId) regionId, _ = tenanter.GetTencentRegionId(request.RegionId)
case 2: case 2:
regionId, _ = tenanter.GetHuaweiRegionId(request.RegionId) regionId, _ = tenanter.GetHuaweiRegionId(request.RegionId)
cpuPod = strconv.FormatFloat(cpuPodFloat*1000, 'f', 0, 64)
memoryPod = strconv.FormatFloat(memoryPodFloat, 'f', 0, 64)
case 3: case 3:
regionId, _ = tenanter.GetK8SRegionId(request.RegionId) 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{ requestPCM := &pbpod.CreatePodReq{
RequestSource: "ali", RequestSource: "ali",
@ -56,8 +62,8 @@ func CreateContainerGroup(request *CreateContainerGroupRequest) (response *Creat
RegionId: regionId, RegionId: regionId,
ContainerImage: containerImage, ContainerImage: containerImage,
ContainerName: containerName, ContainerName: containerName,
CpuPod: string(containerPod), CpuPod: cpuPod + "m",
MemoryPod: string(memoryPod), MemoryPod: memoryPod + "Gi",
SecurityGroupId: "sg-6qlun7hd", SecurityGroupId: "sg-6qlun7hd",
SubnetId: "subnet-mnwfg2fk", SubnetId: "subnet-mnwfg2fk",
VpcId: "vpc-rkwt40g5", 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 cpuPod string
var memoryPod string var memoryPod string
//华为(K8S)与其他厂商的CPU单位和格式有区别
switch pod.Spec.ProviderId { switch pod.Spec.ProviderId {
case 0: case 0:
regionId, _ = tenanter.GetAliRegionId(pod.Spec.RegionId) regionId, _ = tenanter.GetAliRegionId(pod.Spec.RegionId)

View File

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

View File

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