Add Flatcar Linux ARM64 examples
* Fix content tabs format for switching between example code blocks
This commit is contained in:
parent
2265ab5375
commit
5af0a5c5b9
|
@ -9,6 +9,8 @@ Typhoon has experimental support for ARM64 on AWS, with Fedora CoreOS or Flatcar
|
||||||
|
|
||||||
Create a cluster with ARM64 controller and worker nodes. Container workloads must be `arm64` compatible and use `arm64` container images.
|
Create a cluster with ARM64 controller and worker nodes. Container workloads must be `arm64` compatible and use `arm64` container images.
|
||||||
|
|
||||||
|
=== "Fedora CoreOS Cluster (arm64)"
|
||||||
|
|
||||||
```tf
|
```tf
|
||||||
module "gravitas" {
|
module "gravitas" {
|
||||||
source = "git::https://github.com/poseidon/typhoon//aws/fedora-coreos/kubernetes?ref=v1.23.1"
|
source = "git::https://github.com/poseidon/typhoon//aws/fedora-coreos/kubernetes?ref=v1.23.1"
|
||||||
|
@ -32,6 +34,31 @@ module "gravitas" {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
=== "Flatcar Linux Cluster (arm64)"
|
||||||
|
|
||||||
|
```tf
|
||||||
|
module "gravitas" {
|
||||||
|
source = "git::https://github.com/poseidon/typhoon//aws/flatcar-linux/kubernetes?ref=v1.23.1"
|
||||||
|
|
||||||
|
# AWS
|
||||||
|
cluster_name = "gravitas"
|
||||||
|
dns_zone = "aws.example.com"
|
||||||
|
dns_zone_id = "Z3PAABBCFAKEC0"
|
||||||
|
|
||||||
|
# configuration
|
||||||
|
ssh_authorized_key = "ssh-ed25519 AAAAB3Nz..."
|
||||||
|
|
||||||
|
# optional
|
||||||
|
arch = "arm64"
|
||||||
|
networking = "cilium"
|
||||||
|
worker_count = 2
|
||||||
|
worker_price = "0.0168"
|
||||||
|
|
||||||
|
controller_type = "t4g.small"
|
||||||
|
worker_type = "t4g.small"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
Verify the cluster has only arm64 (`aarch64`) nodes. For Flatcar Linux, describe nodes.
|
Verify the cluster has only arm64 (`aarch64`) nodes. For Flatcar Linux, describe nodes.
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -46,7 +73,7 @@ ip-10-0-5-79 Ready <none> 77s v1.23.1 10.0.5.79 <none> F
|
||||||
|
|
||||||
Create a hybrid/mixed arch cluster by defining an AWS cluster. Then define a [worker pool](worker-pools.md#aws) with ARM64 workers. Optional taints are added to aid in scheduling.
|
Create a hybrid/mixed arch cluster by defining an AWS cluster. Then define a [worker pool](worker-pools.md#aws) with ARM64 workers. Optional taints are added to aid in scheduling.
|
||||||
|
|
||||||
=== "Cluster (amd64)"
|
=== "FCOS Cluster"
|
||||||
|
|
||||||
```tf
|
```tf
|
||||||
module "gravitas" {
|
module "gravitas" {
|
||||||
|
@ -69,7 +96,30 @@ Create a hybrid/mixed arch cluster by defining an AWS cluster. Then define a [wo
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
=== "Worker Pool (arm64)"
|
=== "Flatcar Cluster"
|
||||||
|
|
||||||
|
```tf
|
||||||
|
module "gravitas" {
|
||||||
|
source = "git::https://github.com/poseidon/typhoon//aws/flatcar-linux/kubernetes?ref=v1.23.1"
|
||||||
|
|
||||||
|
# AWS
|
||||||
|
cluster_name = "gravitas"
|
||||||
|
dns_zone = "aws.example.com"
|
||||||
|
dns_zone_id = "Z3PAABBCFAKEC0"
|
||||||
|
|
||||||
|
# configuration
|
||||||
|
ssh_authorized_key = "ssh-ed25519 AAAAB3Nz..."
|
||||||
|
|
||||||
|
# optional
|
||||||
|
networking = "cilium"
|
||||||
|
worker_count = 2
|
||||||
|
worker_price = "0.021"
|
||||||
|
|
||||||
|
daemonset_tolerations = ["arch"] # important
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
=== "FCOS ARM64 Workers"
|
||||||
|
|
||||||
```tf
|
```tf
|
||||||
module "gravitas-arm64" {
|
module "gravitas-arm64" {
|
||||||
|
@ -93,14 +143,38 @@ Create a hybrid/mixed arch cluster by defining an AWS cluster. Then define a [wo
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
=== "Flatcar ARM64 Workers"
|
||||||
|
|
||||||
|
```tf
|
||||||
|
module "gravitas-arm64" {
|
||||||
|
source = "git::https://github.com/poseidon/typhoon//aws/flatcar-linux/kubernetes/workers?ref=v1.23.1"
|
||||||
|
|
||||||
|
# AWS
|
||||||
|
vpc_id = module.gravitas.vpc_id
|
||||||
|
subnet_ids = module.gravitas.subnet_ids
|
||||||
|
security_groups = module.gravitas.worker_security_groups
|
||||||
|
|
||||||
|
# configuration
|
||||||
|
name = "gravitas-arm64"
|
||||||
|
kubeconfig = module.gravitas.kubeconfig
|
||||||
|
ssh_authorized_key = var.ssh_authorized_key
|
||||||
|
|
||||||
|
# optional
|
||||||
|
arch = "arm64"
|
||||||
|
instance_type = "t4g.small"
|
||||||
|
spot_price = "0.0168"
|
||||||
|
node_taints = ["arch=arm64:NoSchedule"]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
Verify amd64 (x86_64) and arm64 (aarch64) nodes are present.
|
Verify amd64 (x86_64) and arm64 (aarch64) nodes are present.
|
||||||
|
|
||||||
```
|
```
|
||||||
$ kubectl get nodes -o wide
|
$ kubectl get nodes -o wide
|
||||||
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
|
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
|
||||||
ip-10-0-1-81 Ready <none> 4m28s v1.23.1 10.0.1.81 <none> Fedora CoreOS 34.20210427.3.0 5.11.15-300.fc34.x86_64 docker://20.10.6
|
ip-10-0-1-73 Ready <none> 111m v1.23.1 10.0.1.73 <none> Fedora CoreOS 35.20211215.3.0 5.15.7-200.fc35.x86_64 containerd://1.5.8
|
||||||
ip-10-0-17-86 Ready <none> 4m28s v1.23.1 10.0.17.86 <none> Fedora CoreOS 33.20210413.dev.0 5.10.19-200.fc33.aarch64 docker://19.3.13
|
ip-10-0-22-79... Ready <none> 111m v1.23.1 10.0.22.79 <none> Flatcar Container Linux by Kinvolk 3033.2.0 (Oklo) 5.10.84-flatcar containerd://1.5.8
|
||||||
ip-10-0-21-45 Ready <none> 4m28s v1.23.1 10.0.21.45 <none> Fedora CoreOS 34.20210427.3.0 5.11.15-300.fc34.x86_64 docker://20.10.6
|
ip-10-0-24-130 Ready <none> 111m v1.23.1 10.0.24.130 <none> Fedora CoreOS 35.20211215.3.0 5.15.7-200.fc35.x86_64 containerd://1.5.8
|
||||||
ip-10-0-40-36 Ready <none> 4m22s v1.23.1 10.0.40.36 <none> Fedora CoreOS 34.20210427.3.0 5.11.15-300.fc34.x86_64 docker://20.10.6
|
ip-10-0-39-19 Ready <none> 111m v1.23.1 10.0.39.19 <none> Fedora CoreOS 35.20211215.3.0 5.15.7-200.fc35.x86_64 containerd://1.5.8
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,8 @@ markdown_extensions:
|
||||||
- pymdownx.mark
|
- pymdownx.mark
|
||||||
- pymdownx.smartsymbols
|
- pymdownx.smartsymbols
|
||||||
- pymdownx.superfences
|
- pymdownx.superfences
|
||||||
- pymdownx.tabbed
|
- pymdownx.tabbed:
|
||||||
|
alternate_style: true
|
||||||
- pymdownx.tasklist:
|
- pymdownx.tasklist:
|
||||||
custom_checkbox: true
|
custom_checkbox: true
|
||||||
- pymdownx.tilde
|
- pymdownx.tilde
|
||||||
|
|
Loading…
Reference in New Issue