mirror of https://github.com/kubernetes/kops.git
Merge pull request #6628 from AliyunContainerService/flags
add ALI flags
This commit is contained in:
commit
9ecabb9159
|
|
@ -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")
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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 ""
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue