Korean translation of Home, Setup, Tutorials-Kubernetes Basics, and Hello Minikube has been added. * Initial translation of documentation home (kubernetes/kubernetes-docs-ko#9) * 번역할 원본 파일 추가 (kubernetes/kubernetes-docs-ko#11) * Translate tutorials/kubernetes-basics/create-cluster (kubernetes/kubernetes-docs-ko#15) * Translate tutorials/kubernetes-basics/deploy-app in Korean (kubernetes/kubernetes-docs-ko#16) * Translate tutorials/kubernetes-basics/expose in Korean (kubernetes/kubernetes-docs-ko#26) * Translate tutorials/kubernetes-basics/scale in Korean (kubernetes/kubernetes-docs-ko#24) * Fix typo from 세트 to 셋 according to 외래어 표기법 3.1.1 (kubernetes/kubernetes-docs-ko#31) * Setup page's header and subheader translate into Korean. (kubernetes/kubernetes-docs-ko#33) * Translated the welcome page in Korean (kubernetes/kubernetes-docs-ko#32) * Translate tutorials/kubernetes-basics/update in Korean (kubernetes/kubernetes-docs-ko#35) * Translate concepts/_index.md in Korean (kubernetes/kubernetes-docs-ko#30) * Translate tutorials/kubernetes-basics/index.html in Korean (kubernetes/kubernetes-docs-ko#29) * Translate /tutorials/hello-minikube.md in Korean (kubernetes/kubernetes-docs-ko#18) * Translate tutorials/kubernetes-basics/explore in Korean (kubernetes/kubernetes-docs-ko#36) * up-to-date on content/ko (kubernetes/kubernetes-docs-ko#42) * up-to-date on _index.html (kubernetes/kubernetes-docs-ko#41) * Translate tutorials/_index.md in Korean (kubernetes/kubernetes-docs-ko#44) * Update translation on tutorials/hello-minikube.md (kubernetes/kubernetes-docs-ko#45) * Setup page's header and subheader translate into Korean. (kubernetes/kubernetes-docs-ko#51) * Update tutorials for consistency (kubernetes/kubernetes-docs-ko#48) * up-to-date on content/ko (kubernetes/kubernetes-docs-ko#53) Co-authored-by: June Yi <june.yi@samsung.com> Co-authored-by: Claudia J.Kang <claudiajkang@gmail.com> Co-authored-by: zerobig <38598117+zer0big@users.noreply.github.com> Co-authored-by: Lawlait <sixarasi@gmail.com> Co-authored-by: Ian Y. Choi <ianyrchoi@gmail.com>
5.9 KiB
title, content_template
| title | content_template |
|---|---|
| Installing Kubernetes On-premises/Cloud Providers with Kubespray | templates/concept |
{{% capture overview %}}
This quickstart helps to install a Kubernetes cluster hosted on GCE, Azure, OpenStack, AWS, vSphere, Oracle Cloud Infrastructure (Experimental) or Baremetal with Kubespray.
Kubespray is a composition of Ansible playbooks, inventory, provisioning tools, and domain knowledge for generic OS/Kubernetes clusters configuration management tasks. Kubespray provides:
- a highly available cluster
- composable attributes
- support for most popular Linux distributions
- Container Linux by CoreOS
- Debian Jessie, Stretch, Wheezy
- Ubuntu 16.04, 18.04
- CentOS/RHEL 7
- Fedora/CentOS Atomic
- openSUSE Leap 42.3/Tumbleweed
- continuous integration tests
To choose a tool which best fits your use case, read this comparison to kubeadm and kops.
{{% /capture %}}
{{% capture body %}}
Creating a cluster
(1/5) Meet the underlay requirements
Provision servers with the following requirements:
- Ansible v2.4 (or newer) and python-netaddr is installed on the machine that will run Ansible commands
- Jinja 2.9 (or newer) is required to run the Ansible Playbooks
- The target servers must have access to the Internet in order to pull docker images
- The target servers are configured to allow IPv4 forwarding
- Your ssh key must be copied to all the servers part of your inventory
- The firewalls are not managed, you'll need to implement your own rules the way you used to. in order to avoid any issue during deployment you should disable your firewall
- If kubespray is ran from non-root user account, correct privilege escalation method should be configured in the target servers. Then the
ansible_becomeflag or command parameters--becomeor-bshould be specified
Kubespray provides the following utilities to help provision your environment:
(2/5) Compose an inventory file
After you provision your servers, create an inventory file for Ansible. You can do this manually or via a dynamic inventory script. For more information, see "Building your own inventory".
(3/5) Plan your cluster deployment
Kubespray provides the ability to customize many aspects of the deployment:
- Choice deployment mode: kubeadm or non-kubeadm
- CNI (networking) plugins
- DNS configuration
- Choice of control plane: native/binary or containerized with docker or rkt
- Component versions
- Calico route reflectors
- Component runtime options
- docker
- rkt
- cri-o
- Certificate generation methods
Kubespray customizations can be made to a variable file. If you are just getting started with Kubespray, consider using the Kubespray defaults to deploy your cluster and explore Kubernetes.
(4/5) Deploy a Cluster
Next, deploy your cluster:
Cluster deployment using ansible-playbook.
ansible-playbook -i your/inventory/hosts.ini cluster.yml -b -v \
--private-key=~/.ssh/private_key
Large deployments (100+ nodes) may require specific adjustments for best results.
(5/5) Verify the deployment
Kubespray provides a way to verify inter-pod connectivity and DNS resolve with Netchecker. Netchecker ensures the netchecker-agents pods can resolve DNS requests and ping each over within the default namespace. Those pods mimic similar behavior of the rest of the workloads and serve as cluster health indicators.
Cluster operations
Kubespray provides additional playbooks to manage your cluster: scale and upgrade.
Scale your cluster
You can add worker nodes from your cluster by running the scale playbook. For more information, see "Adding nodes". You can remove worker nodes from your cluster by running the remove-node playbook. For more information, see "Remove nodes".
Upgrade your cluster
You can upgrade your cluster by running the upgrade-cluster playbook. For more information, see "Upgrades".
Cleanup
You can reset your nodes and wipe out all components installed with Kubespray via the reset playbook.
{{< caution >}} Caution: When running the reset playbook, be sure not to accidentally target your production cluster! {{< /caution >}}
Feedback
- Slack Channel: #kubespray
- GitHub Issues
{{% /capture %}}
{{% capture whatsnext %}}
Check out planned work on Kubespray's roadmap.
{{% /capture %}}