Skip to content

Commit

Permalink
add support for vSMP MemoryOne on Garden Linux
Browse files Browse the repository at this point in the history
The necessary code and APIs for supporing vSMP
MemoryOne was taken from the suse-chost extension
which already had this support for several years.
With this, the Garden Linux extension now
understands a providerConfig and also registers
for the type os/memoryone-gardenlinux.
  • Loading branch information
MrBatschner committed Jul 31, 2023
1 parent 020f32d commit 08824b2
Show file tree
Hide file tree
Showing 32 changed files with 1,238 additions and 99 deletions.
66 changes: 48 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,54 @@
[![CI Build status](https://concourse.ci.gardener.cloud/api/v1/teams/gardener/pipelines/gardener-extension-os-gardenlinux-master/jobs/master-head-update-job/badge)](https://concourse.ci.gardener.cloud/teams/gardener/pipelines/gardener-extension-os-gardenlinux-master/jobs/master-head-update-job)
[![Go Report Card](https://goreportcard.com/badge/github.com/gardener/gardener-extension-os-gardenlinux)](https://goreportcard.com/report/github.com/gardener/gardener-extension-os-gardenlinux)

This controller operates on the [`OperatingSystemConfig`](https://github.com/gardener/gardener/blob/master/docs/proposals/01-extensibility.md#cloud-config-user-data-for-bootstrapping-machines) resource in the `extensions.gardener.cloud/v1alpha1` API group. It manages those objects that are requesting [Garden Linux OS](https://gardenlinux.io/) configuration (`.spec.type=gardenlinux`):
This controller operates on the [`OperatingSystemConfig`](https://github.com/gardener/gardener/blob/master/docs/proposals/01-extensibility.md#cloud-config-user-data-for-bootstrapping-machines) resource in the `extensions.gardener.cloud/v1alpha1` API group.

It manages those objects that are requesting...

- [Garden Linux OS](https://gardenlinux.io/) configuration (`.spec.type=gardenlinux`):

```yaml
---
apiVersion: extensions.gardener.cloud/v1alpha1
kind: OperatingSystemConfig
metadata:
name: pool-01-original
namespace: default
spec:
type: gardenlinux
units:
...
files:
...
```
Please find [a concrete example](example/40-operatingsystemconfig-gardenlinux.yaml) in the `example` folder.


- MemoryOne on Garden Linux configuration (`spec.type=memoryone-gardenlinux`):

```yaml
---
apiVersion: extensions.gardener.cloud/v1alpha1
kind: OperatingSystemConfig
metadata:
name: pool-01-original
namespace: default
spec:
type: memoryone-gardenlinux
units:
...
files:
...
providerConfig:
apiVersion: memoryone-gardenlinux.os.extensions.gardener.cloud/v1alpha1
kind: OperatingSystemConfiguration
memoryTopology: "2"
systemMemory: "6x"
```

Please find [a concrete example](example/40-operatingsystemconfig-memoryonegardenlinux.yaml) in the `example` folder.

```yaml
---
apiVersion: extensions.gardener.cloud/v1alpha1
kind: OperatingSystemConfig
metadata:
name: pool-01-original
namespace: default
spec:
type: gardenlinux
units:
...
files:
...
```
Please find [a concrete example](example/40-operatingsystemconfig.yaml) in the `example` folder.

After reconciliation the resulting data will be stored in a secret within the same namespace (as the config itself might contain confidential data). The name of the secret will be written into the resource's `.status` field:

Expand All @@ -43,7 +73,7 @@ The secret has one data key `cloud_config` that stores the generation.

An example for a `ControllerRegistration` resource that can be used to register this controller to Gardener can be found [here](example/controller-registration.yaml).

This controller is based on revision [b5ba8164](https://github.com/gardener/gardener-extension-os-ubuntu-alicloud/commit/b5ba8164ed4c52872b1d4bd5ee3eaa4ed58da966) of [gardener-extension-os-ubuntu-alicloud](https://github.com/gardener/gardener-extension-os-ubuntu-alicloud). Its implementation is using the [`oscommon`](https://github.com/gardener/gardener/blob/master/extensions/pkg/controller/operatingsystemconfig/oscommon/README.md) library for operating system configuration controllers.
The implementation of this controller is using Gardeners [`oscommon`](https://github.com/gardener/gardener/blob/master/extensions/pkg/controller/operatingsystemconfig/oscommon/README.md) library for operating system configuration controllers.

Please find more information regarding the extensibility concepts and a detailed proposal [here](https://github.com/gardener/gardener/blob/master/docs/proposals/01-extensibility.md).

Expand Down
2 changes: 1 addition & 1 deletion charts/gardener-extension-os-gardenlinux/doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.

//go:generate sh -c "../../vendor/github.com/gardener/gardener/hack/generate-controller-registration.sh os-gardenlinux . $(cat ../../VERSION) ../../example/controller-registration.yaml OperatingSystemConfig:gardenlinux"
//go:generate sh -c "../../vendor/github.com/gardener/gardener/hack/generate-controller-registration.sh os-gardenlinux . $(cat ../../VERSION) ../../example/controller-registration.yaml OperatingSystemConfig:gardenlinux OperatingSystemConfig:memoryone-gardenlinux"

// Package chart enables go:generate support for generating the correct controller registration.
package chart
4 changes: 3 additions & 1 deletion cmd/gardener-extension-os-gardenlinux/app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,13 @@ import (
"sigs.k8s.io/controller-runtime/pkg/manager"

"github.com/gardener/gardener-extension-os-gardenlinux/pkg/generator"
"github.com/gardener/gardener-extension-os-gardenlinux/pkg/generator/gardenlinux"
"github.com/gardener/gardener-extension-os-gardenlinux/pkg/generator/memoryone"
)

var (
ctrlName = "gardenlinux"
osTypes = []string{"gardenlinux"}
osTypes = []string{gardenlinux.OSTypeGardenLinux, memoryone.OSTypeMemoryOneGardenLinux}
)

// NewControllerCommand returns a new Command with a new Generator
Expand Down
File renamed without changes.
49 changes: 49 additions & 0 deletions example/40-operatingsystemconfig-memoryonegardenlinux.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
apiVersion: extensions.gardener.cloud/v1alpha1
kind: OperatingSystemConfig
metadata:
name: pool-02-original
namespace: default
spec:
type: memoryone-gardenlinux
units:
- name: docker.service
dropIns:
- name: 10-docker-opts.conf
content: |
[Service]
Environment="DOCKER_OPTS=--log-opt max-size=60m --log-opt max-file=3"
- name: docker-monitor.service
command: start
enable: true
content: |
[Unit]
Description=Docker-monitor daemon
After=kubelet.service
[Install]
WantedBy=multi-user.target
[Service]
Restart=always
EnvironmentFile=/etc/environment
ExecStart=/opt/bin/health-monitor docker
files:
- path: /var/lib/example/file.txt
permissions: 0644
encoding: b64
content:
secretRef:
name: example-file
dataKey: file.txt
- path: /etc/sysctl.d/99-k8s-general.conf
permissions: 0644
content:
inline:
data: |
# A higher vm.max_map_count is great for elasticsearch, mongo, or other mmap users
# See https://github.com/kubernetes/kops/issues/1340
vm.max_map_count = 135217728
providerConfig:
apiVersion: memoryone-gardenlinux.os.extensions.gardener.cloud/v1alpha1
kind: OperatingSystemConfiguration
memoryTopology: "3"
systemMemory: "7x"
4 changes: 3 additions & 1 deletion example/controller-registration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ metadata:
name: os-gardenlinux
type: helm
providerConfig:
chart: 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
chart: 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
values:
image:
tag: v0.21.0-dev
Expand All @@ -23,3 +23,5 @@ spec:
resources:
- kind: OperatingSystemConfig
type: gardenlinux
- kind: OperatingSystemConfig
type: memoryone-gardenlinux
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ require (
k8s.io/client-go v0.26.3
k8s.io/code-generator v0.26.3
k8s.io/component-base v0.26.3
k8s.io/utils v0.0.0-20221128185143-99ec85e7a448
sigs.k8s.io/controller-runtime v0.14.6
)

Expand Down Expand Up @@ -110,7 +111,6 @@ require (
k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280 // indirect
k8s.io/kubelet v0.26.3 // indirect
k8s.io/metrics v0.26.3 // indirect
k8s.io/utils v0.0.0-20221128185143-99ec85e7a448 // indirect
sigs.k8s.io/controller-runtime/tools/setup-envtest v0.0.0-20221212190805-d4f1e822ca11 // indirect
sigs.k8s.io/controller-tools v0.11.3 // indirect
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect
Expand Down
24 changes: 24 additions & 0 deletions hack/api-reference/memoryonegardenlinux.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"hideMemberFields": [
"TypeMeta"
],
"hideTypePatterns": [
"ParseError$",
"List$"
],
"externalPackages": [
{
"typeMatchPrefix": "^k8s\\.io/(api|apimachinery/pkg/apis)/",
"docsURLTemplate": "https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#{{lower .TypeIdentifier}}-{{arrIndex .PackageSegments -1}}-{{arrIndex .PackageSegments -2}}"
},
{
"typeMatchPrefix": "github.com/gardener/gardener/extensions/pkg/controller/healthcheck/config",
"docsURLTemplate": "https://github.com/gardener/gardener/extensions/pkg/controller/healthcheck/config"
}
],
"typeDisplayNamePrefixOverrides": {
"k8s.io/api/": "Kubernetes ",
"k8s.io/apimachinery/pkg/apis/": "Kubernetes "
},
"markdownDisabled": false
}
74 changes: 74 additions & 0 deletions hack/api-reference/memoryonegardenlinux.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
<p>Packages:</p>
<ul>
<li>
<a href="#memoryone-gardenlinux.os.extensions.gardener.cloud%2fv1alpha1">memoryone-gardenlinux.os.extensions.gardener.cloud/v1alpha1</a>
</li>
</ul>
<h2 id="memoryone-gardenlinux.os.extensions.gardener.cloud/v1alpha1">memoryone-gardenlinux.os.extensions.gardener.cloud/v1alpha1</h2>
<p>
<p>Package v1alpha1 contains the v1alpha1 version of the API.</p>
</p>
Resource Types:
<ul><li>
<a href="#memoryone-gardenlinux.os.extensions.gardener.cloud/v1alpha1.OperatingSystemConfiguration">OperatingSystemConfiguration</a>
</li></ul>
<h3 id="memoryone-gardenlinux.os.extensions.gardener.cloud/v1alpha1.OperatingSystemConfiguration">OperatingSystemConfiguration
</h3>
<p>
<p>OperatingSystemConfiguration allows to specify configuration for the operating system.</p>
</p>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<code>apiVersion</code></br>
string</td>
<td>
<code>
memoryone-gardenlinux.os.extensions.gardener.cloud/v1alpha1
</code>
</td>
</tr>
<tr>
<td>
<code>kind</code></br>
string
</td>
<td><code>OperatingSystemConfiguration</code></td>
</tr>
<tr>
<td>
<code>memoryTopology</code></br>
<em>
string
</em>
</td>
<td>
<em>(Optional)</em>
<p>MemoryTopology allows to configure the <code>mem_topology</code> parameter. If not present, it will default to <code>2</code>.</p>
</td>
</tr>
<tr>
<td>
<code>systemMemory</code></br>
<em>
string
</em>
</td>
<td>
<em>(Optional)</em>
<p>SystemMemory allows to configure the <code>system_memory</code> parameter. If not present, it will default to <code>6x</code>.</p>
</td>
</tr>
</tbody>
</table>
<hr/>
<p><em>
Generated with <a href="https://github.com/ahmetb/gen-crd-api-reference-docs">gen-crd-api-reference-docs</a>
</em></p>
Loading

0 comments on commit 08824b2

Please sign in to comment.