feat: add gateway-api support#299
Conversation
28079c5 to
f84c000
Compare
|
Dell Sonic does actually work, but you need credentials to pull from r.metal-stack.io. |
|
Sadly I got the following error: I had the following overrides |
|
|
@Sven-Ric Would you mind taking a look at the network changes? |
|
It seems like the kind node always ends up in the default kind network on a clean first run. The kind network is read from .env, which is written by env.sh. However the Makefile reads .env before env.sh is invoked and the kind node network falls back to default. Because .env is persistent the bug is masked on all subsequent runs. On initial run: # docker inspect metal-control-plane-control-plane
[
{
<SNIP>
"NetworkSettings": {
<SNIP>
"Networks": {
"kind": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"DriverOpts": null,
"GwPriority": 0,
"NetworkID": "6530b19e41b397d41d37f6a38d6b1bbd74c9ba2b7478df95f6a6270cc84c4d0e",
"EndpointID": "6d56f5f0fa83330b85e0b0ebbd04175a93d8586c48492c9b545beb7eeecce015",
"Gateway": "172.18.0.1",
"IPAddress": "172.18.0.2",
"MacAddress": "12:98:42:c8:e4:ec",
"IPPrefixLen": 16,
"IPv6Gateway": "fc00:f853:ccd:e793::1",
"GlobalIPv6Address": "fc00:f853:ccd:e793::2",
"GlobalIPv6PrefixLen": 64,
"DNSNames": [
"metal-control-plane-control-plane",
"bd976835cec0"
]
}
}
},
"ImageManifestDescriptor": {
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"digest": "sha256:21c46cf61fd45873f89e6a1bfcba4b7904dffa84c2bec88aeeca9a0409af4725",
"size": 743,
"platform": {
"architecture": "amd64",
"os": "linux"
}
}
}
]On all subsequent runs: # docker inspect metal-control-plane-control-plane
[
{
<SNIP>
"NetworkSettings": {
<SNIP>
"Networks": {
"mini_lab_internal": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"DriverOpts": null,
"GwPriority": 0,
"NetworkID": "2734b8f942cae84d8693ecd43ab3bb9d5cd71905faf992fbfe5c3df17ddc376b",
"EndpointID": "62f8b2a6eb379bb65f13f6441a9249417fc9ce754218a29b699cd7511b393d29",
"Gateway": "172.42.0.1",
"IPAddress": "172.42.0.2",
"MacAddress": "66:e7:b9:9c:2e:39",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"DNSNames": [
"metal-control-plane-control-plane",
"5b12fbbedfdc"
]
}
}
},
"ImageManifestDescriptor": {
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"digest": "sha256:21c46cf61fd45873f89e6a1bfcba4b7904dffa84c2bec88aeeca9a0409af4725",
"size": 743,
"platform": {
"architecture": "amd64",
"os": "linux"
}
}
}
] |
8075d54 to
ffc4120
Compare
Gerrit91
left a comment
There was a problem hiding this comment.
PR looks good to me. Thanks for the effort!
Would like to read the migration path somewhere. I guess for most operators it is sufficient to deploy a Gateway controller and then set metal_control_plane_gateway_dns: "{{ metal_control_plane_ingress_dns }} and when we remove the old metal_control_plane_ingress_dns then they need to replace the old variable in their deployment repository?
Still required for Dex, Thanos, Gardener, PowerDNS
Dex should not be used anymore, let's remove the role in another PR.
| networking: | ||
| apiServerPort: 6443 | ||
| apiServerAddress: 0.0.0.0 | ||
| apiServerAddress: 172.42.0.1 |
There was a problem hiding this comment.
I think it would be nice to add a NOTEWORTHY section and mention that the docker network will get created now in the mini-lab.
| grpc \ | ||
| masterdata-api; do | ||
| masterdata-api \ | ||
| metal-api; do |
There was a problem hiding this comment.
Wasn't the grpc component used for metal-api gRPC already? What is the cert used for?
| wait: true | ||
| - name: Deploy Envoy GatewayClass |
There was a problem hiding this comment.
Maybe some line breaks could increase readability of this file (as common for all task definitions we have).
There was a problem hiding this comment.
Hm, unsure if changing it here ad-hoc will help us. I got used to looking for the dashes in the task lists. Maybe there is an editor plugin for improving element seperation in view-only
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
948ee84 to
f80647f
Compare
Description
Type: Loadbalancerservicesmini_lab_externaldocker networkWIPs
Link metal-roles pr branch to run ci in pull requestmetal-roles PR is mergedUsed AI-Tools ✨
Closes: #297
Requires: metal-stack/helm-charts#156 and metal-stack/metal-roles#594
Tested configurations