Skip to content
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

Kubeadm download fails on armv7l #4065

Closed
nmiculinic opened this issue Jan 18, 2019 · 8 comments
Closed

Kubeadm download fails on armv7l #4065

nmiculinic opened this issue Jan 18, 2019 · 8 comments

Comments

@nmiculinic
Copy link
Contributor

nmiculinic commented Jan 18, 2019

Environment:

  • Cloud provider or hardware configuration:
    Hybrid. Masters are on AWS, workers are on Beablebone Black

  • OS (printf "$(uname -srm)\n$(cat /etc/os-release)\n"):
    debian@bbb-test:~$ printf "$(uname -srm)\n$(cat /etc/os-release)\n"
    Linux 4.19.9-ti-r5 armv7l
    PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
    NAME="Debian GNU/Linux"
    VERSION_ID="9"
    VERSION="9 (stretch)"
    ID=debian
    HOME_URL="https://www.debian.org/"
    SUPPORT_URL="https://www.debian.org/support"
    BUG_REPORT_URL="https://bugs.debian.org/"

  • Version of Ansible (ansible --version):
    ansible 2.7.1
    config file = /Users/lpp/Desktop/ascalia/bb/ansible.cfg
    configured module search path = [u'/Users/lpp/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
    ansible python module location = /usr/local/lib/python2.7/site-packages/ansible
    executable location = /usr/local/bin/ansible
    python version = 2.7.15 (default, Oct 2 2018, 11:47:18) [GCC 4.2.1 Compatible Apple LLVM 10.0.0 (clang-1000.11.45.2)]

Kubespray version (commit) (git rev-parse --short HEAD):
bb (master) ✗ git rev-parse --short HEAD k8s [kubernetes-admin@bbb.local]
Alias tip: g rev-parse --short HEAD
c204794

Network plugin used:
weave

Ansible failed output:

fatal: [bbb-test]: FAILED! => {"attempts": 4, "changed": false, "dest": "/tmp/releases/kubeadm", "msg": "Request failed: <urlopen error no host given>", "state": "absent", "url": "https://storage.googleapis.com/kubernetes-release/release/v1.13.1/bin/linux/armv7l\n/kubeadm"}

EDIT: Closed in favor of #4294

@nmiculinic nmiculinic changed the title Kubeadm download fails on ARM Kubeadm download fails on armv7l Jan 18, 2019
@laimison
Copy link

laimison commented Feb 2, 2019

any luck on this issue?

@nmiculinic
Copy link
Contributor Author

Hmm... I figured the arch was wrongly detected since it was armhf. In the end, I gave up on kubeadm (( you could download it from debian repos for armhf )) since there were some issues during installation.

I did it by hand on the arm, setup kubelet manually with systemd and it kinda works. In the process, I learned kubelet is pretty resource intensive for such weak hardware. Further research pending.

@laimison
Copy link

laimison commented Feb 2, 2019

Thanks for your reply. Are you using Raspberry Pi? I'm wondered if you can install armhf images to this?

My one is Raspberry Pi 3 B+ and the same architecture detected in /etc/*release which is armv7l.

I'm stuck at similar error, but different image:

FAILED - RETRYING: container_download | Download containers if pull is required or told to always pull (all nodes) (2 retries left).
fatal: [raspberrypi-master-1.lan]: FAILED! => {"attempts": 4, "changed": true, "cmd": ["/usr/bin/docker", "pull", "gcr.io/google_containers/cluster-proportional-autoscaler-armv7l", ":1.3.0"], "delta": "0:00:00.301587", "end": "2019-02-02 01:08:19.666244", "msg": "non-zero return code", "rc": 1, "start": "2019-02-02 01:08:19.364657", "stderr": "\"docker pull\" requires exactly 1 argument.\nSee 'docker pull --help'.\n\nUsage:  docker pull [OPTIONS] NAME[:TAG|@DIGEST]\n\nPull an image or a repository from a registry", "stderr_lines": ["\"docker pull\" requires exactly 1 argument.", "See 'docker pull --help'.", "", "Usage:  docker pull [OPTIONS] NAME[:TAG|@DIGEST]", "", "Pull an image or a repository from a registry"], "stdout": "", "stdout_lines": []}

Why you didn't try to replace gcr.io/google_containers to another repo in kubespray (for example to Debian)?
If there are cluster-proportional-autoscaler-arm* and kubeadm packages available.

@laimison
Copy link

laimison commented Feb 2, 2019

I'm wondered that I'm not able to find any results on Google search by using cluster-proportional-autoscaler-armv7l or cluster-proportional-autoscaler-armhf and kubespray by default points to gcr.io/google_containers/cluster-proportional-autoscaler-armv7l which is not available at all. Any hints on this? Is that the reason why you ended up by configuring manually?

@b23prodtm
Copy link

Turns out that k8s-dns-dnsmasq-nanny-arm is in kubernetes version 1.14.4 which fixed that issue
kubernetes/kubernetes#48090

@lwolf
Copy link
Contributor

lwolf commented Feb 17, 2019

had the same issue.
ansible_architecture_rename rule does not work as expected on armv7, it sets host_architecture value as armv7l\n

Reformatting the rule es shown below, helps.

- name: ansible_architecture_rename
  set_fact:
    host_architecture: >-
      {%- if ansible_architecture in architecture_groups -%}
      {{architecture_groups[ansible_architecture]}}
      {%- else -%}
       {{ansible_architecture}}
      {% endif %}
- name: ansible_architecture_rename
  set_fact:
    host_architecture: "{%- if ansible_architecture in architecture_groups -%}{{architecture_groups[ansible_architecture]}}{%- else -%}{{ansible_architecture}}{% endif %}"

@b23prodtm
Copy link

b23prodtm commented Feb 20, 2019

Found this helps 👍

- set_fact:
    architecture_groups:
      x86_64: amd64
      aarch64: arm64
      armv7l: arm

@nmiculinic
Copy link
Contributor Author

nmiculinic commented Feb 25, 2019

How about we close this issue in favor of #4294 ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants