Skip to content

Instantly share code, notes, and snippets.

@ksandermann
Last active June 24, 2019 14:10
Show Gist options
  • Save ksandermann/846417399175699509fb5235d2b3fc8b to your computer and use it in GitHub Desktop.
Save ksandermann/846417399175699509fb5235d2b3fc8b to your computer and use it in GitHub Desktop.
kubespray-issue-ksandermann-output
k8s-bootstrap tag Kubernetes Kubespray Ansible Jinja2 Python OpenSSH
v1.13.5_1.0 1.13.5 2.9.0 2.7.6 2.10.1 2.7 7.8
v1.12.7_1.0 1.12.7 2.8.4 2.7.4 2.10 2.7 7.8
v1.12.5_3.1 1.12.5 2.8.3 2.7.4 2.10 2.7 7.8
v1.12.5_3.0 1.12.5 2.8.3 2.7.4 2.10 2.7 7.8
v1.12.5_2.1 1.12.5 2.8.3 2.7.4 2.10 2.7 7.8
v1.12.5_2.0 1.12.5 2.8.2 2.7.4 2.10 2.7 7.8
v1.12.5_1.1 1.12.5 2.8.2 2.7.4 2.10 2.7 7.8
v1.12.5_1.0 1.12.5 2.8.2 2.7.4 2.10 2.7 7.8
v1.12.4_1.0 1.12.4 2.8.1 2.7.4 2.10 2.7 7.8
FROM ubuntu:16.04
LABEL maintainer="[email protected]"
#proxy settings
ARG http_proxy=http://193.29.130.150:8080
ARG https_proxy=http://193.29.130.150:8080
ENV http_proxy ${http_proxy:-v0}
ENV https_proxy ${https_proxy:-v0}
#set http(s) proxy for apt
RUN echo 'Acquire::http::Proxy "'${http_proxy}'";' >> /etc/apt/apt.conf.d/70proxy
RUN echo 'Acquire::https::Proxy "'${https_proxy}'";' >> /etc/apt/apt.conf.d/70proxy
#install tooling
RUN apt-get update && \
apt-get install -y \
less \
curl \
nano \
python2.7 \
python-pip \
python-virtualenv \
python-lxml \
python-pexpect \
jq \
git \
vim \
unzip \
sudo \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common \
groff \
net-tools \
netcat \
wget \
&& apt-get clean
#upgrade pip and install ansible and kubespray requirements
RUN pip install pip --upgrade
RUN pip install ansible==2.7.6 jinja2==2.10.1 pbr==5.1.1 hvac netaddr pyvmomi
#install k8s/os python client for ansible k8s_raw module
RUN pip install openshift
#install kubespray requirements including ansible
COPY kubespray/requirements.txt /k8s-bootstrap/tmp/requirements.txt
RUN pip install -r /k8s-bootstrap/tmp/requirements.txt
#add kubectl repo + key, install kubectl
RUN curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
RUN echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
RUN apt-get update && \
apt-get install -y \
kubectl=1.13.5-00
#Set ansible config path. This has to be done as the path will be world-writable which ansible does not recommend security-wise.
#As we just run this on a local container, this is no issue.
#Disabled host key checking for ansible ssh
ENV ANSIBLE_CONFIG=/k8s-bootstrap/kubespray/ansible.cfg
ENV ANSIBLE_HOST_KEY_CHECKING=False
#install OpenSSH 7.8
RUN sudo apt install -y build-essential libssl-dev zlib1g-dev \
&& wget "http://mirror.exonetric.net/pub/OpenBSD/OpenSSH/portable/openssh-7.8p1.tar.gz" \
&& tar xfz openssh-7.8p1.tar.gz \
&& cd openssh-7.8p1 \
&& ./configure \
&& make \
&& sudo make install
#ssh config - copying the ssh config file into the folder for buildtime is a workaround, as windows machines run into issues having the ssh config from an ntfs volume mounted into the container.
#for linux and macos, it would be better to just mount the volumes into the container via -v ~/.ssh:/root/.ssh
#Put these at the end so changing the ssh config will only create 1 new layer in the image
COPY k8s-bootstrapper/files/.ssh /root/.ssh
RUN chmod -R 600 /root/.ssh/*
COPY k8s-bootstrapper/files/.bashrc /root/.bashrc
#default workdir for all ansible roles
WORKDIR /k8s-bootstrap
[all]
k8s-dev-master1 ansible_host=193.29.130.79
k8s-dev-master2 ansible_host=193.29.130.80
k8s-dev-master3 ansible_host=193.29.130.81
k8s-dev-node1 ansible_host=193.29.130.82
k8s-dev-node2 ansible_host=193.29.130.83
k8s-dev-node3 ansible_host=193.29.130.62
[kube-master]
k8s-dev-master1
k8s-dev-master2
k8s-dev-master3
[etcd]
k8s-dev-master1
k8s-dev-master2
k8s-dev-master3
[kube-node]
k8s-dev-node1
k8s-dev-node2
k8s-dev-node3
[k8s-cluster:children]
kube-master
kube-node
TASK [kubernetes/master : kubeadm | write out kubeadm certs] *****************************************************************************************************************************************************************************************************************************************************************
Wednesday 17 April 2019 13:09:36 +0000 (0:00:13.628) 0:28:30.249 *******
TASK [kubernetes/master : Backup old configuration files] ********************************************************************************************************************************************************************************************************************************************************************
Wednesday 17 April 2019 13:09:36 +0000 (0:00:00.183) 0:28:30.433 *******
TASK [kubernetes/master : Remove old configuration files] ********************************************************************************************************************************************************************************************************************************************************************
Wednesday 17 April 2019 13:09:37 +0000 (0:00:00.103) 0:28:30.537 *******
TASK [kubernetes/master : Generate new configuration files] ******************************************************************************************************************************************************************************************************************************************************************
Wednesday 17 April 2019 13:09:37 +0000 (0:00:00.092) 0:28:30.630 *******
TASK [kubernetes/master : Generate new configuration files] ******************************************************************************************************************************************************************************************************************************************************************
Wednesday 17 April 2019 13:09:37 +0000 (0:00:00.051) 0:28:30.682 *******
TASK [kubernetes/master : kubeadm | Init other uninitialized masters] ********************************************************************************************************************************************************************************************************************************************************
Wednesday 17 April 2019 13:09:37 +0000 (0:00:00.065) 0:28:30.747 *******
TASK [kubernetes/master : kubeadm | Upgrade first master] ********************************************************************************************************************************************************************************************************************************************************************
Wednesday 17 April 2019 13:09:37 +0000 (0:00:00.065) 0:28:30.812 *******
fatal: [k8s-dev-master1]: FAILED! => {"changed": true, "cmd": ["tin/kubeadm"imeout", "-k", "600s", "600s", "/usr/local/b, "upgrade", "apply", "-y", "v1.13.5", "--config=/etc/kubernetes/kubeadm-config.yaml", "--ignore-preflight-errors=all", "--allow-experimental-upgrades", "--allow-release-candidate-upgrades", "--etcd-upgrade=false", "--force"], "delta": "0:00:00.031473", "end": "2019-04-17 15:09:38.640492", "failed_when_result": true, "msg": "non-zero return code", "rc": 1, "start": "2019-04-17 15:09:38.609019", "stderr": "W0417 15:09:38.638822 23242 strict.go:54] error unmarshaling configuration schema.GroupVersionKind{Group:\"kubeproxy.config.k8s.io\", Version:\"v1alpha1\", Kind:\"KubeProxyConfiguration\"}: error unmarshaling JSON: while decoding JSON: json: cannot unmarshal bool into Go struct field KubeProxyConfiguration.nodePortAddresses of type []string\nv1alpha1.KubeProxyConfiguration.NodePortAddresses: []string: decode slice: expect [ or n, but found f, error found in #10 byte of ...|dresses\":false,\"oomS|..., bigger context ...|0.1:10249\",\"mode\":\"iptables\",\"nodePortAddresses\":false,\"oomScoreAdj\":-999,\"portRange\":null,\"resource|...", "stderr_lines": ["W0417 15:09:38.638822 23242 strict.go:54] error unmarshaling configuration schema.GroupVersionKind{Group:\"kubeproxy.config.k8s.io\", Version:\"v1alpha1\", Kind:\"KubeProxyConfiguration\"}: error unmarshaling JSON: while decoding JSON: json: cannot unmarshal bool into Go struct field KubeProxyConfiguration.nodePortAddresses of type []string", "v1alpha1.KubeProxyConfiguration.NodePortAddresses: []string: decode slice: expect [ or n, but found f, error found in #10 byte of ...|dresses\":false,\"oomS|..., bigger context ...|0.1:10249\",\"mode\":\"iptables\",\"nodePortAddresses\":false,\"oomScoreAdj\":-999,\"portRange\":null,\"resource|..."], "stdout": "[preflight] Running pre-flight checks.", "stdout_lines": ["[preflight] Running pre-flight checks."]}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment