The approach we will use for setting up the Kubernetes cluster is based on the kubernetes-incubator/kubespray project, with a couple of differentiations.
First of all, let’s take care of the kubespray
requirements.
As explained in the
kubespray requirements doc,
you need to set up a couple of things before asking kubespray
to set up your k8s cluster.
First and foremost, you need to install Ansible on the machine that you will be using to initiate
the installation. This is probably your workstation. (On macOS, installation is as simple as
brew install ansible
).
- Public Key Access
-
Having already installed the OS and having ssh access to the servers, we’ll copy our public key to each of the target servers, for easier access:
cat ~/.ssh/<your_key>.pub #copy this value ssh root@<node> mkdir .ssh vi .ssh/authorized_keys # paste the public key #Now ensure we have enabled use of authorized_keys file vi /etc/ssh/sshd_config #uncomment the line for Authorized keys sudo service ssh restart
- IP forwarding
-
Follow instructions in this article to check if it’s enabled and how to do so.
- Public Key
-
On AWS, the public key of the EC2 key pair you will use, is automatically inserted in place for you. Nothing to do here.
Note
|
A note on Python. Kubespray will handle that for you, as long as you set the
bootstrap_os variable (in group_vars/all.yml ). We’re setting up on Ubuntu, so:
|
bootstrap_os: ubuntu
ensures Python is now installed.
Everything ready? Great!! Let’s proceed with Installing the Kubernetes Cluster!!