-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add peerpods support for the node-installer #959
Changes from all commits
e92d3ee
b684cd9
286caee
5dae109
a15ecde
395e908
25d2338
3ff88be
2036e37
e0f0c13
915d90a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -47,16 +47,10 @@ node-installer platform=default_platform: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
just push "tardev-snapshotter" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
just push "node-installer-microsoft" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
;; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
"K3s-QEMU-SNP"|"K3s-QEMU-TDX"|"RKE2-QEMU-TDX") | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
"AKS-PEER-SNP"|"K3s-QEMU-SNP"|"K3s-QEMU-TDX"|"RKE2-QEMU-TDX") | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
just push "nydus-snapshotter" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
just push "node-installer-kata" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
;; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
"AKS-PEER-SNP") | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nix run -L .#scripts.deploy-caa -- \ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
--kustomization=./infra/azure-peerpods/kustomization.yaml \ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
--workload-identity=./infra/azure-peerpods/workload-identity.yaml \ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
--pub-key=./infra/azure-peerpods/id_rsa.pub | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
;; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
echo "Unsupported platform: {{ platform }}" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
exit 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
@@ -73,7 +67,7 @@ e2e target=default_deploy_target platform=default_platform: soft-clean coordinat | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
--skip-undeploy=true | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# Generate policies, apply Kubernetes manifests. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deploy target=default_deploy_target cli=default_cli platform=default_platform: (runtime target platform) (apply "runtime") (populate target platform) (generate cli platform) (apply target) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deploy target=default_deploy_target cli=default_cli platform=default_platform: (runtime target platform) (apply-runtime target platform) (populate target platform) (generate cli platform) (apply target) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# Populate the workspace with a runtime class deployment | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
runtime target=default_deploy_target platform=default_platform: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
@@ -127,15 +121,20 @@ generate cli=default_cli platform=default_platform: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
;; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
esac | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# Apply the runtime. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
apply-runtime target=default_deploy_target platform=default_platform: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#!/usr/bin/env bash | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
set -euo pipefail | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
kubectl apply -f ./{{ workspace_dir }}/runtime | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if [[ {{ platform }} == "AKS-PEER-SNP" ]]; then | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
kubectl apply -f ./infra/azure-peerpods/peer-pods-config.yaml --namespace {{ target }}${namespace_suffix-} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We are still unable to deploy the runtime without knowing the target namespace, right? Please create a ticket with a detailed issue description. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No, this has been fixed. Instead of using federated credentials, we know use a application password credential and directly pass a client id and secret to the cloud-api-adaptor. Conventionally, we already had a application password credential set up: There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Who is supposed to place There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Terraform: contrast/infra/azure-peerpods/main.tf Lines 126 to 163 in f649399
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fi | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# Apply Kubernetes manifests from /deployment | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
apply target=default_deploy_target: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#!/usr/bin/env bash | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
set -euo pipefail | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
case {{ target }} in | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
"runtime") | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
kubectl apply -f ./{{ workspace_dir }}/runtime | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
exit 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
;; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
"openssl" | "emojivoto" | "volume-stateful-set") | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
;; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# upstream source: https://github.com/kata-containers/kata-containers/blob/51bc71b8d96874cf4a555e1084ee07e948bff957/src/runtime/config/configuration-remote.toml.in | ||
[hypervisor.remote] | ||
remote_hypervisor_socket = "/run/peerpod/hypervisor.sock" | ||
remote_hypervisor_timeout = 600 | ||
enable_annotations = ["machine_type", "default_memory", "default_vcpus"] | ||
firmware = "" | ||
default_bridges = 1 | ||
disable_selinux = false | ||
disable_guest_selinux = true | ||
|
||
[agent.kata] | ||
|
||
[runtime] | ||
internetworking_model = "none" | ||
disable_guest_seccomp = true | ||
disable_new_netns = true | ||
sandbox_cgroup_only = false | ||
static_sandbox_resource_mgmt = true | ||
vfio_mode = "guest-kernel" | ||
disable_guest_empty_dir = false | ||
experimental = [] | ||
create_container_timeout = 60 | ||
dan_conf = "/run/edgeless/kata-containers/dans" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nothing that needs to be done now, but if we still want to have a "working peerpods cluster" through a single
terraform apply
, using the Kubernetes Terraform provider might be cleaner here.