help-kubesparay-tutorial¶
- Intent
- Help in bringing up a kubernetes cluster via drp-provision as presented in drp-kubespray-video (see below) and drp-kubespray-document on a drpfeature-test setup runing the RackN-Portal endpoint.
- Success
- Replicate drp-kubespray-video demo locally using drpcli, drp-ux and virtual-box vm’s PXE booting bare nodes to a kubeadmin cluster.
Resources
- kubespray-github github repo for kubespray
- drp-kubespray-video youtube video showing uses of kubesparay Content via RackN-Portal Content Packages
- drp-packet-install youtube video showing how use drp-provision on packet.net servers (not used in this tutorial)
- google-kubernetes-best-practices I found helpful to gain insight into kube structures
Manual Steps
- Assuming a drpfeature-test-network with drpfeature-test-vbox running the drpfeature-test-drpe setup.
- Open RackN-Portal Content Packages
- Click “Browse For More Content”
- Find kubespray and click the + icon to add this content to endpoint
- View your drpfeature-test-drpe Endpoint (hamburger -> Endpoint..)
- Click Content Packages again you should see kubespray
- Verify kubespray is in your endpoint, if not “Transfer” it so that it displays in the Endpoint Content column
- Navigate to Profiles
- The following locked Profiles should have been added
- etcd
- k8s-cluster
- k8s-deploy
- kube-master
- kube-node
- Clone the k8s-deploy Profile in Profiles
- Rename and Edit the Profile for mycluster
- Save and Verify Profile mycluster in Profiles
- In Profiles click Ansible button (on top)
- Select the mycluster Profile for Ansible Inventory Grid
- Select the server nodes you want in mycluster
- add etcd and kube master to kubespray1
- add kube node to kubespray[2..5]
- Show drp-kubespray-document and follow the commands step 24.1.4
- Git Clone kubespray-github
- Pull in invenotry.py from drp-inventory.py-source-file (rob shows link)
- Fix pointed to the wrong endpoint issue
- Look at what endpoint we are pointed to ./drpcli info get
- Set endpoint export RS_ENDPOINT=https://192.168.88.3:8092
- Test RS_PROFILE=mycluster ./inventory.py | jq command
- Test Ansible via ping ansible all -i inventory.py -m ping
- Deploy the k8s cluster with kubespray ansible-playbook -i inventory.py cluster.yml
- check the kubernetes api on master node https://192.168.88.100:6443 (kube changeme)
Video Track
- tc20 Show kubespray-github repo
- tc55 Show packet.net servers and refer to drp-packet-install video
- tc80 Show RackN-Portal endpoint Machines
- tc97 Navigate to Content Packages
- tc120 Navigate to Profiles
- tc123 The following locked Profiles should have been added
- etcd
- k8s-cluster
- k8s-deploy
- kube-master
- kube-node
- tc170 Clone the k8s-deploy Profile in Profiles
- tc219 Rename and Edit the Profile for mycluster
- tc242 Save and Verify Profile mycluster in Profiles
- tc253 In Profiles click Ansible button (on top)
- tc333 Show drp-kubespray-document and follow the commands step 24.1.4
- tc373 Git Clone kubespray-github
- tc373 Pull in invenotry.py from drp-inventory.py-source-file (rob shows link)
- tc509 Test RS_PROFILE=mycluster ./inventory.py | jq command
- tc600 Test Ansible via ping ansible all -i inventory.py -m ping
- tc641 Deploy the k8s cluster with kubespray ansible-playbook -i inventory.py cluster.yml
- tc771 check the kubernetes api on master node https://147.75.106.45:6443 (kube changeme)
Video
Setup for testing drp endpoint
drpfeature-test setup uses the drpfeature-test-network and drpfeature-test-vbox running on a drpfeature-test-macosx with drp-provision running on the drpfeature-test-drpe endpoint for pxe boot of Proliant Blade servers in drpfeature-test-hpeC7000 configuration which then are assessable via drpfeature-test-drpe-ansible and can use drpfeature-test-drpe-ansible-blender to install a blender render grid worker node.