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

Updated Fedora guides to use kubeadm and kube 1.10 #9188

Closed
wants to merge 1 commit into from
Closed

Updated Fedora guides to use kubeadm and kube 1.10 #9188

wants to merge 1 commit into from

Conversation

chrisnegus
Copy link
Contributor

@chrisnegus chrisnegus commented Jun 21, 2018

This is a re-submission of changes to two guides for installing Kubernetes on Fedora using kubeadm. My original pull request (8009) was rejected because it was too close to the overhaul of the Kubernetes docs.

As I stated in the earlier pull request:

The two Fedora kube single-node and multi-node getting started guides were outdated. These two issues suggested the two docs be updated to use kubeadm:

#7302
#7278

I totally rewrote both of those documents to use kubeadm (as well as to reflect how the procedures work for Kubernetes 1.10).

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Jun 21, 2018
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: heckj

Assign the PR to them by writing /assign @heckj in a comment when ready.

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. label Jun 21, 2018
@k8s-ci-robot k8s-ci-robot requested review from eparis and erictune June 21, 2018 13:51
@k8sio-netlify-preview-bot
Copy link
Collaborator

Deploy preview for kubernetes-io-master-staging ready!

Built with commit f3593c2

https://deploy-preview-9188--kubernetes-io-master-staging.netlify.com

@chrisnegus
Copy link
Contributor Author

/assign @heckj

Copy link
Member

@neolit123 neolit123 left a comment

Choose a reason for hiding this comment

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

@chrisnegus

we already have documentation that covers this:
https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/
that same documentation for kubeadm is being refactored, restructured and improved.

on Wednesday (20th June) SIG-Cluster-lifecycle and SIG-Docs spent time talking about some of the issue at hand here. one problem is that we have a lot of duplicate information about kubeadm all over the place that has to be maintained and eats time from both SIGs.

IMO, the request in #7302, #7278 is misleading given the recent discussions.

consolidation and improving the navigation and structure is a must!

the only specifics i see here are related to Fedora package managers and package names. possibly some disto network specifics too. other than that this page should pretty much link to the kubeadm guide in question and same applies to other distro pages.

/cc @kubernetes/sig-cluster-lifecycle-pr-reviews
/cc @Bradamant3


# etcd url location. Point this to the server where etcd runs
FLANNEL_ETCD="http://fed-master:2379"
**IMPORTANT**: You may need the **--ignore-preflight-errors=all** option.
Copy link
Member

Choose a reason for hiding this comment

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

ignoring all preflight errors is not recommended to the end user of kubeadm.
individual errors have to be dealt with.


To try out Kubernetes on Fedora, you have a few choices:

* **kubeadm** - The kubeadm command provides a toolkit to bootstrap a Kubernetes cluster that is reasonable secure, extensible, and upgradable. See this document for details on using kubeadm with flannel networking to set up Kubernetes in Fedora (either as a single-node or multi-node configuration).
Copy link
Member

Choose a reason for hiding this comment

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

kubeadm is a tookit for bootstrapping a Kubernetes cluster that is reasonably secure, extensible and upgradable.

Copy link
Contributor

Choose a reason for hiding this comment

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

Is this paragraph missing a link? I'd expect "See this document" to link somewhere

@k8s-ci-robot k8s-ci-robot requested a review from Bradamant3 June 21, 2018 14:37
@k8s-ci-robot k8s-ci-robot added the sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. label Jun 21, 2018
@Bradamant3 Bradamant3 assigned Bradamant3 and unassigned heckj Jun 21, 2018
@Bradamant3
Copy link
Contributor

@chrisnegus sorry to pile on here, but in addition to sorting out just which technical content should go in, we need to move these files (the /fedora subdirectory) to the /setup directory. Their current location is orphaned in the docs build. See PR #8937 for an example of what we're trying to do. If you would't mind moving them while you're working on the content, sig-docs would be most grateful.

For the future: we might want to think about how to manage the OS-specific getting started content, as well as the cloud provider content. Just a thought for now.

cc @steveperry-53 who's been working on de-orphaning.


* **oc cluster up** - A quick way to directly set up an OpenShift cluster on Fedora is to install a few required packages, then run **oc cluster up**, as described in [Start a local OpenShift all-in-one cluster](https://developer.fedoraproject.org/deployment/openshift/about.html).

* **openshift-ansible** - Use ansible playbooks to set up OpenShift in a single-node cluster directly on a Fedora system. Ansible playbooks for running OpenShift are available from the [Kubespray](https://github.com/kubernetes-incubator/kubespray) Github site.
Copy link
Member

Choose a reason for hiding this comment

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

This starts with talking about openshift-ansible and then ends with Kubespray

To try out Kubernetes on Fedora, you have a few choices:

* **kubeadm** - The kubeadm command provides a toolkit to bootstrap a Kubernetes cluster that is reasonable secure, extensible, and upgradable. See this document for details on using kubeadm with flannel networking to set up Kubernetes in Fedora (either as a single-node or multi-node configuration).
* **minikube** - With minikube, you run a single-node Kubernetes cluster in a virtual machine on your laptop or desktop system. See [Running Kubernetes Locally via Minikube](https://kubernetes.io/docs/getting-started-guides/minikube/) for details. See [Alternative Container Runtimes](https://kubernetes.io/docs/getting-started-guides/minikube/#alternative-container-runtimes) to replace Docker with CRI-O or rkt runtimes for minikube.
Copy link
Contributor

Choose a reason for hiding this comment

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

Minikube runs a single-node ...


* **openshift-ansible** - Use ansible playbooks to set up OpenShift in a single-node cluster directly on a Fedora system. Ansible playbooks for running OpenShift are available from the [Kubespray](https://github.com/kubernetes-incubator/kubespray) Github site.

The description here for running Kubernetes using kubeadm has been tested on Fedora and Fedora Atomic distributions. The resulting Kubernetes configuration has these attributes:
Copy link
Contributor

Choose a reason for hiding this comment

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

This guide has been tested on ...


The Kubernetes package provides a few services: kube-apiserver, kube-scheduler, kube-controller-manager, kubelet, kube-proxy. These services are managed by systemd and the configuration resides in a central location: `/etc/kubernetes`. We will break the services up between the hosts. The first host, fed-master, will be the Kubernetes master. This host will run the kube-apiserver, kube-controller-manager, and kube-scheduler. In addition, the master will also run _etcd_ (not needed if _etcd_ runs on a different host but this guide assumes that _etcd_ and Kubernetes master run on the same host). The remaining host, fed-node will be the node and run kubelet, proxy and docker.
<pre><tt># <b>atomic host upgrade</b>
Copy link
Contributor

Choose a reason for hiding this comment

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

code fences would be more in line with the rest of the repo, but totally up to you

systemctl status $SERVICES
done
```
4. Create a .kube directory in your home directory, add a configuration file, and change ownership (to be able to use kubectl later as a regular user, login as that user and append sudo to the cp and chown commands here):
Copy link
Contributor

Choose a reason for hiding this comment

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

these instructions are part of the kubeadm init output, might be able to get away with mentioning that instead of copying commands here?

@timothysc
Copy link
Member

FWIW I don't think this belongs in the main docs anymore but is here out of legacy. I think it makes far more sense to link out to different provider hosted websites that want to outline their options. Upstream k8s recommends and supports kubeadm, everything else is a docs maintenance burden b/c as solutions and people come and go the docs eventually rot.

@zacharysarah
Copy link
Contributor

@Bradamant3 👋

For the future: we might want to think about how to manage the OS-specific getting started content, as well as the cloud provider content. Just a thought for now.

That's at the top of my stack for Q3/Q4, working with @kubernetes/sig-cloud-provider.

@zacharysarah
Copy link
Contributor

@chrisnegus This PR requires significant work before it can be approved, mostly focused on scaling back the documentation footprint. Here's a summary of feedback so far:

  1. Move Fedora content to /content/en/docs/setup/.

  2. Focus on Fedora-specific changes only, linking out to kubeadm commands.

  3. Do 1-2 while optimizing content to host elsewhere (e.g., Fedora's own site). Link out whenever possible.

Also please use code fences in Markdown rather than HTML tags for code samples.

@chrisnegus
Copy link
Contributor Author

My goal was to simply replace old Kubernetes on Fedora instructions with new ones. Although not in the new nav, those docs are still referenced from Picking the Right Solution. Perhaps you should just cut the links and I could drop this PR. As to whether we need to document Kubernetes setup for different operating systems , I'd be glad to participate in that discussion. I attended a meeting of the sig-cloud-provider you mentioned and they felt this was outside their scope.

@Bradamant3
Copy link
Contributor

/cc @cody-clark closing in favor of Cody's rework of Picking the Right Solution.

@Bradamant3 Bradamant3 closed this Aug 21, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.