Merge pull request #6628 from AliyunContainerService/flags

add ALI flags
This commit is contained in:
Kubernetes Prow Robot 2019-03-25 09:23:09 -07:00 committed by GitHub
commit 9ecabb9159
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 62 additions and 3 deletions

View File

@ -108,6 +108,10 @@ func ValidateCluster(c *kops.Cluster, strict bool) *field.Error {
if c.Spec.NetworkCIDR != "" {
return field.Invalid(fieldSpec.Child("NetworkCIDR"), c.Spec.NetworkCIDR, "NetworkCIDR should not be set on DigitalOcean")
}
case kops.CloudProviderALI:
requiresSubnets = false
requiresSubnetCIDR = false
requiresNetworkCIDR = false
case kops.CloudProviderAWS:
case kops.CloudProviderVSphere:
case kops.CloudProviderOpenstack:
@ -335,6 +339,8 @@ func ValidateCluster(c *kops.Cluster, strict bool) *field.Error {
k8sCloudProvider = ""
case kops.CloudProviderOpenstack:
k8sCloudProvider = "openstack"
case kops.CloudProviderALI:
k8sCloudProvider = "alicloud"
default:
return field.Invalid(fieldSpec.Child("CloudProvider"), c.Spec.CloudProvider, "unknown cloudprovider")
}

View File

@ -106,6 +106,23 @@ func (b *BootstrapScript) buildEnvironmentVariables(cluster *kops.Cluster) (map[
}
}
if kops.CloudProviderID(cluster.Spec.CloudProvider) == kops.CloudProviderALI {
region := os.Getenv("OSS_REGION")
if region != "" {
env["OSS_REGION"] = os.Getenv("OSS_REGION")
}
aliID := os.Getenv("ALIYUN_ACCESS_KEY_ID")
if aliID != "" {
env["ALIYUN_ACCESS_KEY_ID"] = os.Getenv("ALIYUN_ACCESS_KEY_ID")
}
aliSecret := os.Getenv("ALIYUN_ACCESS_KEY_SECRET")
if aliSecret != "" {
env["ALIYUN_ACCESS_KEY_SECRET"] = os.Getenv("ALIYUN_ACCESS_KEY_SECRET")
}
}
return env, nil
}

View File

@ -161,6 +161,8 @@ func (b *KubeAPIServerOptionsBuilder) BuildOptions(o interface{}) error {
// for baremetal, we don't specify a cloudprovider to apiserver
case kops.CloudProviderOpenstack:
c.CloudProvider = "openstack"
case kops.CloudProviderALI:
c.CloudProvider = "alicloud"
default:
return fmt.Errorf("unknown cloudprovider %q", clusterSpec.CloudProvider)
}

View File

@ -116,6 +116,9 @@ func (b *KubeControllerManagerOptionsBuilder) BuildOptions(o interface{}) error
case kops.CloudProviderOpenstack:
kcm.CloudProvider = "openstack"
case kops.CloudProviderALI:
kcm.CloudProvider = "alicloud"
default:
return fmt.Errorf("unknown cloudprovider %q", clusterSpec.CloudProvider)
}

View File

@ -211,6 +211,10 @@ func (b *KubeletOptionsBuilder) BuildOptions(o interface{}) error {
clusterSpec.Kubelet.CloudProvider = "openstack"
}
if cloudProvider == kops.CloudProviderALI {
clusterSpec.Kubelet.CloudProvider = "alicloud"
}
if clusterSpec.ExternalCloudControllerManager != nil {
clusterSpec.Kubelet.CloudProvider = "external"
}

View File

@ -197,7 +197,14 @@ func run() error {
if clusterID == "" {
clusterID = osVolumes.ClusterID()
}
} else if cloud == "alicloud" {
glog.Info("Initializing AliCloud volumes")
aliVolumes, err := protokube.NewALIVolumes()
if err != nil {
glog.Errorf("Error initializing Aliyun: %q", err)
os.Exit(1)
}
volumes = aliVolumes
} else if cloud == "alicloud" {
glog.Info("Initializing AliCloud volumes")
aliVolumes, err := protokube.NewALIVolumes()

View File

@ -154,7 +154,7 @@ func (_ *VPC) RenderALI(t *aliup.ALIAPITarget, a, e, changes *VPC) error {
type terraformVPC struct {
CIDR *string `json:"cidr_block,omitempty"`
Name *string `json:"name,omitempty"`
Name *string `json:"vpc_name,omitempty"`
}
func (_ *VPC) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *VPC) error {

View File

@ -35,16 +35,20 @@ const (
defaultNodeMachineTypeGCE = "n1-standard-2"
defaultNodeMachineTypeVSphere = "vsphere_node"
defaultNodeMachineTypeDO = "s-2vcpu-4gb"
defaultNodeMachineTypeALI = "ecs.n2.medium"
defaultBastionMachineTypeGCE = "f1-micro"
defaultBastionMachineTypeVSphere = "vsphere_bastion"
defaultBastionMachineTypeALI = "ecs.n2.small"
defaultMasterMachineTypeGCE = "n1-standard-1"
defaultMasterMachineTypeVSphere = "vsphere_master"
defaultMasterMachineTypeDO = "s-2vcpu-2gb"
defaultMasterMachineTypeALI = "ecs.n2.medium"
defaultVSphereNodeImage = "kops_ubuntu_16_04.ova"
defaultDONodeImage = "coreos-stable"
defaultALINodeImage = "centos_7_04_64_20G_alibase_201701015.vhd"
)
var awsDedicatedInstanceExceptions = map[string]bool{
@ -215,6 +219,17 @@ func defaultMachineType(cluster *kops.Cluster, ig *kops.InstanceGroup) (string,
}
return instanceType, nil
case kops.CloudProviderALI:
switch ig.Spec.Role {
case kops.InstanceGroupRoleMaster:
return defaultMasterMachineTypeALI, nil
case kops.InstanceGroupRoleNode:
return defaultNodeMachineTypeALI, nil
case kops.InstanceGroupRoleBastion:
return defaultBastionMachineTypeALI, nil
}
}
glog.V(2).Infof("Cannot set default MachineType for CloudProvider=%q, Role=%q", cluster.Spec.CloudProvider, ig.Spec.Role)
@ -245,8 +260,9 @@ func defaultImage(cluster *kops.Cluster, channel *kops.Channel) string {
return defaultDONodeImage
case kops.CloudProviderVSphere:
return defaultVSphereNodeImage
case kops.CloudProviderALI:
return defaultALINodeImage
}
glog.Infof("Cannot set default Image for CloudProvider=%q", cluster.Spec.CloudProvider)
return ""
}

View File

@ -60,6 +60,10 @@ func buildCloudupTags(cluster *api.Cluster) (sets.String, error) {
case api.CloudProviderOpenstack:
case api.CloudProviderALI:
{
tags.Insert("_ali")
}
default:
return nil, fmt.Errorf("unknown CloudProvider %q", cluster.Spec.CloudProvider)
}