Skip to content

Conversation

@jasonbrooks
Copy link
Contributor

I think we should hold this until the next atomic host two week release happens, since the current version in f26 atomic isn't working properly. Also, I have a couple items to straighten out in the system containers bit -- I'd like to make sure that f25 and rawhide containers will be available in the fedora registry, and change the references in the post to match, or perhaps point to the project atomic namespace.

Also, I'd appreciate feedback on other items to mention/explain in here.

@jberkus
Copy link
Contributor

jberkus commented Jul 19, 2017

Wouldn't it be better to list the easier (kubeadm) option first, and the multiple-component option second?

@jasonbrooks
Copy link
Contributor Author

I do list kubeadm first in the deployment section. I could put a note about it closer to the top -- say, the fastest way to get up and running to kick the tires is kubeadm, jump to there...

@dustymabe
Copy link
Contributor

i think @jasonbrooks is going to make a few updates to this - please let me know when that's done and I'll review

### Run on your kubernetes master:

```
# atomic install --system --name kube-apiserver docker.io/jasonbrooks/kubernetes-apiserver:rawhide
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

any reason we are telling people to use the rawhide version here? Can we tell them to use the f26 version and the containers from the registry (assuming we do a container registry release of the f26 images tomorrow).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because then they'd be running the same version of kube that's already installed -- there'd be no reason to do that

Copy link
Contributor

@dustymabe dustymabe Jul 24, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the reason to do that is because we're removing baked kube in the future so running it containerized is the way forward and you should start doing that and learning how to manage it.


## Use System Containers

You can also install and Kubernetes using [system containers](http://www.projectatomic.io/blog/2016/09/intro-to-system-containers/), a new approach that will eventually replace baked-in Kubernetes packages in the atomic host. You can begin trying it out now, however:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo install and Kubernetes

@@ -0,0 +1,161 @@
---
title: Running Kubernetes on Fedora Atomic 26
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we use Host in here as well - maybe Fedora 26 Atomic Host

published: true
---

Fedora Atomic 26 relies on Kubernetes for automating deployment, scaling, and operations of application containers across clusters of hosts. Below is an overview of your options for installing and configuring Kubernetes clusters on Fedora Atomic hosts.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fedora 26 Atomic Host

# atomic install --system --system-package=no --name kubelet registry.fedoraproject.org/f26/kubernetes-kubelet

# atomic install --system --system-package=no --name kube-proxy registry.fedoraproject.org/f26/kubernetes-proxy
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we add a note somewhere in here mentioning where system containers are stored on the filesystem?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We do have a link for more info on the containers -- I don't think it's important here. I guess, are you wondering about whether there's enough space in root, etc?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah mainly want to keep highlighting that point - we don't have to, just thought I'd suggest it


## Kubeadm Deployment

Kubeadm is a tool for bootstrapping Kubernetes clusters that's still [under development](https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/#kubeadm-maturity) by the Kubernetes project, but offers a really simple method of getting up and running with a single or multi-node cluster. Starting with the Kubernetes version that ships with Fedora Atomic 26, the kubeadm command is available in a Fedora package. It's not currently baked into the image, but you can install it using rpm-ostree package layering:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fedora 26 Atomic Host

Kubeadm is a tool for bootstrapping Kubernetes clusters that's still [under development](https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/#kubeadm-maturity) by the Kubernetes project, but offers a really simple method of getting up and running with a single or multi-node cluster. Starting with the Kubernetes version that ships with Fedora Atomic 26, the kubeadm command is available in a Fedora package. It's not currently baked into the image, but you can install it using rpm-ostree package layering:

```bash
# rpm-ostree install kubernetes-kubeadm ethtool ebtables
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmm. are ethtool and ebtables deps that should be spelled out by the rpm?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm following up on that w/ Jan

# rpm-ostree install kubernetes-kubeadm ethtool ebtables
```

After installing, you either have to reboot (using `systemctl reboot` or by tacking an `-r` onto the end of the install command above) or you can apply the changes using the experimental command `rpm-ostree ex livefs`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe or you can skip the reboot and apply the changes using ....

I've opened [an issue](https://pagure.io/atomic/kubernetes-sig/issue/3) here to track efforts to get SELinux-compatible changes into these upstream plugins. Head over there to track progress or help out.

## Ansible Deployment

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we mention the transition from kubeadm here. A more advanced install option to kubeadm is the ansible blah blah.

@dustymabe
Copy link
Contributor

nice blog post man - looks pretty good to me - added a few comments

title: Running Kubernetes on Fedora Atomic Host 26
author: jbrooks
date: 2017-07-18 23:12:57 UTC
tags: kubernetes, ansible, kubeadm
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add Fedora tag?

@jberkus
Copy link
Contributor

jberkus commented Jul 27, 2017

So, this guide covers:

  • built-in deployment using Ansible or manual
  • component (manual) deployment using system containers
  • kubeadm deployment using package layering

It does not cover what I'd consider to be the easiest option, which is kubeadm deployment using system containers. It doesn't even mention that option. Reason?

Also, I'd like to add something at the top which provides an outline of all of the deployment options. I think your detailed explanation is great, there just needs to be a clearer summary at the start. I can write that, if you like.

@jasonbrooks
Copy link
Contributor Author

I didn't mention it because there's no official kubeadm system container. I originally made that test container because we didn't have kubeadm in fedora and because the upstream cni package put binaries into /opt. Those things have since changed. I can make a kubeadm system container, it'll need to go through the approval process, though.

Also, we can't pub this until @maxamillion releases the f26 kube containers. Only the master image was built-released. I have an email in to him asking about that.

I can add a couple lines outlining these options.

@jberkus
Copy link
Contributor

jberkus commented Jul 27, 2017

Can we mention that option as experimental, then? I really think that within a year that's going to be our primary recommended option, so leaving it out of this seems kind of odd.

@jberkus
Copy link
Contributor

jberkus commented Jul 27, 2017

Also ... should we mention that, in F27, the built-in Kube is probably going away?

@jasonbrooks
Copy link
Contributor Author

We have "will eventually replace baked-in Kubernetes packages in the atomic host" in there now, under the system containers section. I'll mention a bit about the kubeadm experimental option, I'll submit a PR for it to the repo where we keep the others and link to that.

@jasonbrooks
Copy link
Contributor Author

@jberkus The f26 kube containers aren't released yet on Fedora, so I changed the references to the candidate registry. We can remove -candidate once those get released.

@dustymabe
Copy link
Contributor

anything holding this up now?

@jberkus
Copy link
Contributor

jberkus commented Sep 8, 2017

It's merged and published. Not sure why Github doesn't know that.

http://www.projectatomic.io/blog/2017/09/running-kubernetes-on-fedora-atomic-26/

Am I missing a commit?

@jberkus jberkus closed this Oct 12, 2017
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

Successfully merging this pull request may close these issues.

3 participants