Skip to content

Commit

Permalink
Merge branch 'branch-0.17.0-0.3' into feature/CLOUD-35_Implement_GNP_…
Browse files Browse the repository at this point in the history
…IMDS_Azure_AKS
  • Loading branch information
lreciomelero committed Jul 10, 2023
2 parents f57cde9 + d123d39 commit 72df756
Show file tree
Hide file tree
Showing 9 changed files with 408 additions and 45 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

## 0.17.0-0.3.0 (Upcoming)

* Add clusterAPI capabilities for AWS VMs
* Add EKS secrets encryption support
* Fix wait conditions for unmanaged clusters

Expand Down
21 changes: 16 additions & 5 deletions DEPENDENCIES
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,22 @@ aws:
clusterawsadm: v2.1.4
cluster-api-aws: v2.1.4-0.4.0
cluster-api-aws-templates: v2.1.4
eks-addons:
aws-ebs-csi-driver: v1.19.0-eksbuild.2
coredns: v1.9.3-eksbuild.3
kube-proxy: v1.24.10-eksbuild.2
vpc-cni: v1.12.6-eksbuild.2
managed:
eks-addons:
aws-ebs-csi-driver: v1.19.0-eksbuild.2
coredns: v1.9.3-eksbuild.3
kube-proxy: v1.24.10-eksbuild.2
vpc-cni: v1.12.6-eksbuild.2
unmanaged:
aws-ebs-csi-driver-chart: v2.20.0
aws-ebs-csi-driver: v2.20.0
external-attacher: v4.3.0-eks-1-27-3
external-provisioner: v3.5.0-eks-1-27-3
external-resizer: v1.8.0-eks-1-27-3
csi-snapshotter: v6.2.1-eks-1-27-3
livenessprobe: v2.10.0-eks-1-27-3
node-driver-registrar: v2.8.0-eks-1-27-3
volume-modifier-for-k8s: v0.1.0
azure:
azuredisk-csi-driver: v1.27.1
cluster-api-azure: v1.9.3
Expand Down
36 changes: 27 additions & 9 deletions pkg/cluster/internal/create/actions/createworker/aws.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,6 @@ import (
"sigs.k8s.io/kind/pkg/exec"
)

var defaultAWSSc = "gp2"

var storageClassAWSTemplate = StorageClassDef{
APIVersion: "storage.k8s.io/v1",
Kind: "StorageClass",
Expand Down Expand Up @@ -85,13 +83,12 @@ func (b *AWSBuilder) setCapx(managed bool) {
b.capxVersion = "v2.1.4"
b.capxImageVersion = "2.1.4-0.4.0"
b.capxName = "capa"
b.csiNamespace = "kube-system"
b.stClassName = "keos"
if managed {
b.capxTemplate = "aws.eks.tmpl"
b.csiNamespace = ""
} else {
b.capxTemplate = "aws.tmpl"
b.csiNamespace = ""
}
}

Expand Down Expand Up @@ -123,6 +120,17 @@ func (b *AWSBuilder) getProvider() Provider {
}

func (b *AWSBuilder) installCSI(n nodes.Node, k string) error {
var c string
var err error

c = "helm install aws-ebs-csi-driver /stratio/helm/aws-ebs-csi-driver" +
" --kubeconfig " + k +
" --namespace " + b.csiNamespace
_, err = commons.ExecuteCommand(n, c)
if err != nil {
return errors.Wrap(err, "failed to deploy AWS EBS CSI driver Helm Chart")
}

return nil
}

Expand Down Expand Up @@ -338,11 +346,22 @@ func getEcrToken(p commons.ProviderParams) (string, error) {
}

func (b *AWSBuilder) configureStorageClass(n nodes.Node, k string, sc commons.StorageClass) error {
var c string
var err error
var cmd exec.Cmd

cmd = n.Command("kubectl", "--kubeconfig", k, "delete", "storageclass", defaultAWSSc)
if err := cmd.Run(); err != nil {
return errors.Wrap(err, "failed to delete default StorageClass")
// Remove annotation from default storage class
c = "kubectl --kubeconfig " + k + " get sc | grep '(default)' | awk '{print $1}'"
output, err := commons.ExecuteCommand(n, c)
if err != nil {
return errors.Wrap(err, "failed to get default storage class")
}
if strings.TrimSpace(output) != "" && strings.TrimSpace(output) != "No resources found" {
c = "kubectl --kubeconfig " + k + " annotate sc " + strings.TrimSpace(output) + " " + defaultScAnnotation + "-"
_, err = commons.ExecuteCommand(n, c)
if err != nil {
return errors.Wrap(err, "failed to remove annotation from default storage class")
}
}

params := b.getParameters(sc)
Expand All @@ -356,10 +375,9 @@ func (b *AWSBuilder) configureStorageClass(n nodes.Node, k string, sc commons.St

cmd = n.Command("kubectl", "--kubeconfig", k, "apply", "-f", "-")
if err = cmd.SetStdin(strings.NewReader(storageClass)).Run(); err != nil {
return errors.Wrap(err, "failed to create StorageClass")
return errors.Wrap(err, "failed to create default storage class")
}
return nil

}

func (b *AWSBuilder) getParameters(sc commons.StorageClass) commons.SCParameters {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@ spec:
protocol: TCP
order: 0
namespaceSelector: kubernetes.io/metadata.name in { 'kube-system', 'capa-system' }
selector: app.kubernetes.io/name == 'aws-ebs-csi-driver' || cluster.x-k8s.io/provider == 'infrastructure-aws'
selector: app.kubernetes.io/name == 'aws-ebs-csi-driver' || cluster.x-k8s.io/provider == 'infrastructure-aws'
types:
- Egress
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,12 @@ metadata:
namespace: "cluster-{{ .KeosCluster.Metadata.Name }}"
spec:
additionalTags:
"keos.stratio.com/owner": \"{{ .KeosCluster.Metadata.Name }}\"
{{- range .KeosCluster.Spec.ControlPlane.Tags }}
{{- range $key,$value := . }}
{{ $key }}: {{ $value }}
{{- end }}
"keos.stratio.com/owner": \"{{ .KeosCluster.Metadata.Name }}\"
{{- range .KeosCluster.Spec.ControlPlane.Tags }}
{{- range $key, $value := . }}
{{ $key }}: \"{{ $value }}\"
{{- end }}
{{- end }}
addons:
- name: "vpc-cni"
version: "v1.12.6-eksbuild.2"
Expand Down
Loading

0 comments on commit 72df756

Please sign in to comment.