Choose one: BUG REPORT or FEATURE REQUEST
FEATURE REQUEST
And other platforms that may not have deb/rpm installation support
Moved from: https://github.com/kubernetes/kubernetes/issues/34134
CoreOS is the most appealing option to me for Kubernetes due to it's simplified security/update model. Previously a viable option may have been the setup scripts provided by CoreOS, but it doesn't look like they have any desire to maintain these outside of Tectonic. kubeadm seems like a good, de facto home for this alongside the other distros.
Is there a way to make this work unofficially right now?
@lucasyvas yes, maybe something like this? https://github.com/xakraz/kubeadm-installer
Don't know the status of it currently though
cc @xakraz
@luxas I'm using that one! Thanks for kicking it off. I ran into other CoreOS install issues but was able to get kubeadm on the box with this no problem.
Maybe we can close that issue then ?
@luxas Is there anything we can do for this issue, or should we close? This work could also be tracked by #17.
I'm confused on the state of this issue... sounds like it almost works but no one is actively working on making it fully supported?
@pswenson This is a packaging effort that someone might want to do.
Basically repackaging the debs/rpms into an installer container for CoreOS.
Nobody is working on this though in favor for higher-priority tasks.
Is this covered by #503? More specifically, what is required here _beyond_ just getting the kubeadm binary on disk?
FWIW, the following script configure "everything" (I think so) that is needed to use kubeadm
on CoreOS:
#!/bin/bash
set -o nounset -o errexit
RELEASE="$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)"
CNI_VERSION="v0.6.0"
mkdir -p /opt/bin
cd /opt/bin
curl -L --remote-name-all https://storage.googleapis.com/kubernetes-release/release/${RELEASE}/bin/linux/amd64/{kubeadm,kubelet,kubectl}
chmod +x {kubeadm,kubelet,kubectl}
mkdir -p /opt/cni/bin
curl -L "https://github.com/containernetworking/plugins/releases/download/${CNI_VERSION}/cni-plugins-amd64-${CNI_VERSION}.tgz" | tar -C /opt/cni/bin -xz
BRANCH="release-$(cut -f1-2 -d .<<< "${RELEASE##v}")"
cd "/etc/systemd/system/"
curl -L "https://raw.githubusercontent.com/kubernetes/kubernetes/${BRANCH}/build/debs/kubelet.service" | sed 's:/usr/bin:/opt/bin:g' > kubelet.service
mkdir -p "/etc/systemd/system/kubelet.service.d"
cd "/etc/systemd/system/kubelet.service.d"
curl -L "https://raw.githubusercontent.com/kubernetes/kubernetes/${BRANCH}/build/debs/10-kubeadm.conf" | sed 's:/usr/bin:/opt/bin:g' > 10-kubeadm.conf
Save it on disk and run with sudo
.
I tested kubeadm
with:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
sudo kubectl --kubeconfig=/etc/kubernetes/admin.conf apply -f https://raw.githubusercontent.com/coreos/flannel/v0.9.1/Documentation/kube-flannel.yml
sudo systemctl enable docker kubelet
core@kubeadm ~ $ sudo kubectl --kubeconfig=/etc/kubernetes/admin.conf -n kube-system get pod
NAME READY STATUS RESTARTS AGE
etcd-kubeadm 1/1 Running 0 7m
kube-apiserver-kubeadm 1/1 Running 0 7m
kube-controller-manager-kubeadm 1/1 Running 0 7m
kube-dns-6f4fd4bdf-sljgk 3/3 Running 0 8m
kube-flannel-ds-8dfvn 1/1 Running 0 7m
kube-proxy-pvltl 1/1 Running 0 8m
kube-scheduler-kubeadm 1/1 Running 0 7m
core@kubeadm ~ $ sudo kubectl --kubeconfig=/etc/kubernetes/admin.conf -n kube-system get node
NAME STATUS ROLES AGE VERSION
kubeadm Ready master 8m v1.9.0
Thanks @klausenbusk! Personally I'd be okay with having these install instructions under a CoreOS tab in https://kubernetes.io/docs/setup/independent/install-kubeadm/...
@klausenbusk thanks! it does set up the cluster, but my master can't seem to communicate with a node. I can't curl the node's ip ("no route to host"), but curling a service's clusterIP which route to that node does work. So I think there's something missing.
@klausenbusk thanks! it does set up the cluster, but my master can't seem to communicate with a node. I can't curl the node's ip ("no route to host"), but curling a service's clusterIP which route to that node does work. So I think there's something missing.
That sounds more like a network issue than a k8s/CoreOS issue. Is it correctly understood that "basically" you can't ping the node from the master node? If that the case, I'm not sure it related to k8s/CoreOS.
I can ping the node's private network ip address (that I got from the cloud provider, digital ocean), but not the cluster InternalIP assigned to the node.
Thanks @klausenbusk! Personally I'd be okay with having these install instructions under a CoreOS tab in https://kubernetes.io/docs/setup/independent/install-kubeadm/...
I have opened a PR: https://github.com/kubernetes/website/pull/6768
I can ping the node's private network ip address (that I got from the cloud provider, digital ocean), but not the cluster InternalIP assigned to the node.
After a bit of digging, it sounds like this issue: https://github.com/kubernetes/kubeadm/issues/203
@klausenbusk That did it, thanks!
Can we close this issue now that https://github.com/kubernetes/website/pull/6768 has been merged?
Yes, thank you @klausenbusk for taking care of this :tada:!
Most helpful comment
FWIW, the following script configure "everything" (I think so) that is needed to use
kubeadm
on CoreOS:Save it on disk and run with
sudo
.I tested
kubeadm
with: