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

Create a kubeadm installer container for CoreOS #300

Closed
luxas opened this issue Jun 13, 2017 · 17 comments
Closed

Create a kubeadm installer container for CoreOS #300

luxas opened this issue Jun 13, 2017 · 17 comments
Labels
area/releasing help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. priority/backlog Higher priority than priority/awaiting-more-evidence.

Comments

@luxas
Copy link
Member

luxas commented Jun 13, 2017

Choose one: BUG REPORT or FEATURE REQUEST
FEATURE REQUEST

And other platforms that may not have deb/rpm installation support

Moved from: kubernetes/kubernetes#34134

@luxas luxas added area/releasing help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/enhancement priority/backlog Higher priority than priority/awaiting-more-evidence. labels Jun 13, 2017
@lucasyvas
Copy link

lucasyvas commented Jul 3, 2017

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?

@luxas
Copy link
Member Author

luxas commented Jul 5, 2017

@lucasyvas yes, maybe something like this? https://github.com/xakraz/kubeadm-installer
Don't know the status of it currently though

cc @xakraz

@lucasyvas
Copy link

@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.

@xakraz
Copy link

xakraz commented Jul 26, 2017

Maybe we can close that issue then ?

@jamiehannaford
Copy link
Contributor

@luxas Is there anything we can do for this issue, or should we close? This work could also be tracked by #17.

@pswenson
Copy link

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?

@luxas
Copy link
Member Author

luxas commented Oct 27, 2017

@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.

@anguslees
Copy link
Member

Is this covered by #503? More specifically, what is required here beyond just getting the kubeadm binary on disk?

@klausenbusk
Copy link

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

@luxas
Copy link
Member Author

luxas commented Dec 25, 2017

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/...

@srolel
Copy link

srolel commented Dec 25, 2017

@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
Copy link

@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.

@srolel
Copy link

srolel commented Dec 25, 2017

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.

@klausenbusk
Copy link

klausenbusk commented Dec 26, 2017

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: kubernetes/website#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: #203

@srolel
Copy link

srolel commented Dec 26, 2017

@klausenbusk That did it, thanks!

@klausenbusk
Copy link

Can we close this issue now that kubernetes/website#6768 has been merged?

@luxas
Copy link
Member Author

luxas commented Jan 2, 2018

Yes, thank you @klausenbusk for taking care of this 🎉!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/releasing help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. priority/backlog Higher priority than priority/awaiting-more-evidence.
Projects
None yet
Development

No branches or pull requests

8 participants