mirror of https://github.com/kubernetes/kops.git
scaleway resources are tagged with cloud tags
This commit is contained in:
parent
7622f0daa1
commit
3446b935c1
|
@ -398,19 +398,22 @@ func (b *MasterVolumeBuilder) addAzureVolume(
|
|||
}
|
||||
|
||||
func (b *MasterVolumeBuilder) addScalewayVolume(c *fi.CloudupModelBuilderContext, name string, volumeSize int32, zone string, etcd kops.EtcdClusterSpec, m kops.EtcdMemberSpec, allMembers []string) {
|
||||
tags := []string{
|
||||
volumeTags := []string{
|
||||
fmt.Sprintf("%s=%s", scaleway.TagClusterName, b.Cluster.ObjectMeta.Name),
|
||||
fmt.Sprintf("%s=%s", scaleway.TagNameEtcdClusterPrefix, etcd.Name),
|
||||
fmt.Sprintf("%s=%s", scaleway.TagNameRolePrefix, scaleway.TagRoleControlPlane),
|
||||
fmt.Sprintf("%s=%s", scaleway.TagInstanceGroup, fi.ValueOf(m.InstanceGroup)),
|
||||
}
|
||||
for k, v := range b.CloudTags(b.ClusterName(), false) {
|
||||
volumeTags = append(volumeTags, fmt.Sprintf("%s=%s", k, v))
|
||||
}
|
||||
|
||||
t := &scalewaytasks.Volume{
|
||||
Name: fi.PtrTo(name),
|
||||
Lifecycle: b.Lifecycle,
|
||||
Size: fi.PtrTo(int64(volumeSize) * 1e9),
|
||||
Zone: &zone,
|
||||
Tags: tags,
|
||||
Tags: volumeTags,
|
||||
Type: fi.PtrTo(string(instance.VolumeVolumeTypeBSSD)),
|
||||
}
|
||||
c.AddTask(t)
|
||||
|
|
|
@ -57,11 +57,14 @@ func (b *APILoadBalancerModelBuilder) Build(c *fi.CloudupModelBuilderContext) er
|
|||
if err != nil {
|
||||
return fmt.Errorf("building load-balancer task: %w", err)
|
||||
}
|
||||
lbTags := []string(nil)
|
||||
|
||||
lbTags := []string{
|
||||
fmt.Sprintf("%s=%s", scaleway.TagClusterName, b.ClusterName()),
|
||||
fmt.Sprintf("%s=%s", scaleway.TagNameRolePrefix, scaleway.TagRoleControlPlane),
|
||||
}
|
||||
for k, v := range b.CloudTags(b.ClusterName(), false) {
|
||||
lbTags = append(lbTags, fmt.Sprintf("%s=%s", k, v))
|
||||
}
|
||||
lbTags = append(lbTags, fmt.Sprintf("%s=%s", scaleway.TagNameRolePrefix, scaleway.TagRoleControlPlane))
|
||||
|
||||
loadBalancerName := "api." + b.ClusterName()
|
||||
loadBalancer := &scalewaytasks.LoadBalancer{
|
||||
|
|
|
@ -36,31 +36,36 @@ type InstanceModelBuilder struct {
|
|||
|
||||
var _ fi.CloudupModelBuilder = &InstanceModelBuilder{}
|
||||
|
||||
func (d *InstanceModelBuilder) Build(c *fi.CloudupModelBuilderContext) error {
|
||||
for _, ig := range d.InstanceGroups {
|
||||
func (b *InstanceModelBuilder) Build(c *fi.CloudupModelBuilderContext) error {
|
||||
for _, ig := range b.InstanceGroups {
|
||||
name := ig.Name
|
||||
zone, err := scw.ParseZone(ig.Spec.Subnets[0])
|
||||
if err != nil {
|
||||
return fmt.Errorf("error building instance task for %q: %w", name, err)
|
||||
}
|
||||
|
||||
userData, err := d.BootstrapScriptBuilder.ResourceNodeUp(c, ig)
|
||||
userData, err := b.BootstrapScriptBuilder.ResourceNodeUp(c, ig)
|
||||
if err != nil {
|
||||
return fmt.Errorf("error building bootstrap script for %q: %w", name, err)
|
||||
}
|
||||
|
||||
instanceTags := []string{
|
||||
scaleway.TagClusterName + "=" + b.Cluster.Name,
|
||||
scaleway.TagInstanceGroup + "=" + ig.Name,
|
||||
}
|
||||
for k, v := range b.CloudTags(b.ClusterName(), false) {
|
||||
instanceTags = append(instanceTags, fmt.Sprintf("%s=%s", k, v))
|
||||
}
|
||||
|
||||
instance := scalewaytasks.Instance{
|
||||
Count: int(fi.ValueOf(ig.Spec.MinSize)),
|
||||
Name: fi.PtrTo(name),
|
||||
Lifecycle: d.Lifecycle,
|
||||
Lifecycle: b.Lifecycle,
|
||||
Zone: fi.PtrTo(string(zone)),
|
||||
CommercialType: fi.PtrTo(ig.Spec.MachineType),
|
||||
Image: fi.PtrTo(ig.Spec.Image),
|
||||
UserData: &userData,
|
||||
Tags: []string{
|
||||
scaleway.TagInstanceGroup + "=" + ig.Name,
|
||||
scaleway.TagClusterName + "=" + d.Cluster.Name,
|
||||
},
|
||||
Tags: instanceTags,
|
||||
}
|
||||
|
||||
if ig.IsControlPlane() {
|
||||
|
|
|
@ -187,7 +187,7 @@ resource "scaleway_instance_server" "control-plane-fr-par-1" {
|
|||
image = "ubuntu_focal"
|
||||
ip_id = scaleway_instance_ip.control-plane-fr-par-1.id
|
||||
name = "control-plane-fr-par-1"
|
||||
tags = ["noprefix=kops.k8s.io/instance-group=control-plane-fr-par-1", "noprefix=kops.k8s.io/cluster=scw-minimal.k8s.local", "noprefix=kops.k8s.io/role=ControlPlane"]
|
||||
tags = ["noprefix=kops.k8s.io/cluster=scw-minimal.k8s.local", "noprefix=kops.k8s.io/instance-group=control-plane-fr-par-1", "noprefix=kops.k8s.io/role=ControlPlane"]
|
||||
type = "DEV1-M"
|
||||
user_data = {
|
||||
"cloud-init" = filebase64("${path.module}/data/scaleway_instance_server_control-plane-fr-par-1_user_data")
|
||||
|
@ -198,7 +198,7 @@ resource "scaleway_instance_server" "nodes-fr-par-1" {
|
|||
image = "ubuntu_focal"
|
||||
ip_id = scaleway_instance_ip.nodes-fr-par-1.id
|
||||
name = "nodes-fr-par-1"
|
||||
tags = ["noprefix=kops.k8s.io/instance-group=nodes-fr-par-1", "noprefix=kops.k8s.io/cluster=scw-minimal.k8s.local"]
|
||||
tags = ["noprefix=kops.k8s.io/cluster=scw-minimal.k8s.local", "noprefix=kops.k8s.io/instance-group=nodes-fr-par-1"]
|
||||
type = "DEV1-M"
|
||||
user_data = {
|
||||
"cloud-init" = filebase64("${path.module}/data/scaleway_instance_server_nodes-fr-par-1_user_data")
|
||||
|
@ -222,7 +222,7 @@ resource "scaleway_instance_volume" "etcd-1-etcd-main-scw-minimal-k8s-local" {
|
|||
resource "scaleway_lb" "api-scw-minimal-k8s-local" {
|
||||
ip_id = scaleway_lb_ip.api-scw-minimal-k8s-local.id
|
||||
name = "api.scw-minimal.k8s.local"
|
||||
tags = ["noprefix=kops.k8s.io/role=ControlPlane"]
|
||||
tags = ["noprefix=kops.k8s.io/cluster=scw-minimal.k8s.local", "noprefix=kops.k8s.io/role=ControlPlane"]
|
||||
type = "LB-S"
|
||||
}
|
||||
|
||||
|
|
|
@ -68,7 +68,7 @@ func (s *Instance) Find(c *fi.CloudupContext) (*Instance, error) {
|
|||
igName := ""
|
||||
for _, tag := range server.Tags {
|
||||
if strings.HasPrefix(tag, scaleway.TagInstanceGroup) {
|
||||
igName = strings.TrimPrefix(tag, scaleway.TagInstanceGroup+"_")
|
||||
igName = strings.TrimPrefix(tag, scaleway.TagInstanceGroup+"=")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue