Kubespray on Arm64

Description

Deliverables

  • Kubespary investigation on Arm64

  • patches need to fix kubespray on Arm64

  • Deploy K8s with Kubespary

Out of Scope (Optional)

  • List items you are sure of

Risks and Assumptions (Optional)

  • Risk - Mitigation

  • Assumptions

Acceptance Criteria Example and Notes (Optional)

Criteria

Status

Closeout Notes/Links

description of acceptance criteria...

(/)(x)

notes

eg. CI Report: http://cireport.linaro.org

notes

eg. Testing Reports: http://verification.linaro.org

notes

 

 

 

Legend:

Done, Not Done, Doesn't apply (note the reason)

 

Checklist

Activity

Show:

Fu Wei Fu October 20, 2020 at 8:00 AM
Edited

[20201020] I have tested Kubespray on aarch64 machine which proviced by LDCG team, there is not problem to deploy Kubernetes on aarch64:
1, prepare environment:
install ubuntn 18.04 on qemu
192.168.122.11
192.168.122.12
192.168.122.13

wget -c 'http://ports.ubuntu.com/ubuntu-ports/dists/bionic-updates/main/installer-arm64/current/images/netboot/mini.iso'
cp -vi mini.iso /var/lib/libvirt/images/ubuntu-mini.iso
qemu-img create -f qcow2 /var/lib/libvirt/images/ubuntu18.04.qcow2 40G
virsh start ubuntu18.04
virt-clone --auto-clone -n ubuntu18.04_S1 --auto-clone -m RANDOM --original ubuntu18.04
virt-clone --auto-clone -n ubuntu18.04_S2 --auto-clone -m RANDOM --original ubuntu18.04
virt-clone --auto-clone -n ubuntu18.04_S3 --auto-clone -m RANDOM --original ubuntu18.04

  1. for these four machines
    virsh console ubuntu18.04_S?
    sudo vi /etc/netplan/01-netcfg.yaml
    #config network

2, in host 192.168.122.1

ssh-copy-id tekk@192.168.122.1[1,2,3]

git clone https://github.com/kubernetes-sigs/kubespray.git
cd kubespray
apt -y install python3-pip
pip3 install -r requirements.txt
cp -rfp inventory/sample inventory/mycluster
declare -a IPS=(192.168.122.11 192.168.122.12 192.168.122.13)
CONFIG_FILE=inventory/mycluster/hosts.yaml python3 contrib/inventory_builder/inventory.py ${IPS[@]}
vi inventory/mycluster/hosts.yaml
vi inventory/mycluster/group_vars/k8s-cluster/k8s-cluster.yml

kube_apiserver_insecure_port: 8080 # (http)

ansible-playbook -i inventory/mycluster/hosts.yaml --become --become-user=root cluster.yml

Done

Details

Assignee

Reporter

Priority

Epic Name

Checklist

Sentry

Created September 2, 2020 at 9:42 AM
Updated August 10, 2021 at 11:51 AM
Resolved August 10, 2021 at 11:51 AM