ali sdk中对华为(K8S)的cpu和memory单位处理
This commit is contained in:
parent
8f080d9db8
commit
771d105af0
|
@ -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",
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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{
|
||||||
|
|
Loading…
Reference in New Issue