-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 59e2cbb
Showing
5 changed files
with
203 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
.vagrant | ||
config.rb |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
# Vagrant Centos kubernetes cluster | ||
- Centos 7.2 amd64 | ||
- docker 1.10 | ||
- kubeadm 1.5 | ||
``` | ||
NAME READY STATUS RESTARTS AGE | ||
dummy-2088944543-36vp6 1/1 Running 0 1h | ||
etcd-master 1/1 Running 0 1h | ||
kube-apiserver-master 1/1 Running 0 1h | ||
kube-controller-manager-master 1/1 Running 0 1h | ||
kube-discovery-1150918428-dkdke 1/1 Running 0 1h | ||
kube-dns-654381707-a4yey 3/3 Running 0 1h | ||
kube-proxy-moijj 1/1 Running 0 1h | ||
kube-proxy-pwjfw 1/1 Running 0 1h | ||
kube-proxy-vicnd 1/1 Running 0 1h | ||
kube-scheduler-master 1/1 Running 0 1h | ||
kubernetes-dashboard-3203700628-stzjl 1/1 Running 0 1h | ||
weave-net-01aay 2/2 Running 0 1h | ||
weave-net-eurrr 2/2 Running 0 1h | ||
weave-net-ph7l3 2/2 Running 0 1h | ||
``` | ||
|
||
## plugins | ||
- weave-net | ||
- dashboard | ||
|
||
## Prerequisites | ||
- Vagrant 1.8 (with NFS support) | ||
|
||
#### Note for Windows | ||
|
||
- The vagrant-winnfsd plugin will be installed in order to enable NFS shares. | ||
- The project will run some bash script under the VirtualMachines. These scripts line ending need to be in LF. Git for windows set ```core.autocrlf``` true by default at the installation time. When you clone this project repository, this parameter (set to true) ask git to change all line ending to CRLF. This behavior need to be changed before cloning the repository (or after for each files by hand). We recommand to turn this to off by running ```git config --global core.autocrlf false``` and ```git config --global core.eol lf``` before cloning. Then, after cloning, do not forget to turn the behavior back if you want to run other windows projects: ```git config --global core.autocrlf true``` and ```git config --global core.eol crlf```. | ||
|
||
## Installation | ||
```bash | ||
git pull https://github.com/JulienLenne/vagrant-centos-kubernetes.git | ||
cd vagrant-centos-kubernetes/ | ||
vagrant up | ||
``` | ||
## Clean-up | ||
```bash | ||
vagrant destroy | ||
``` | ||
|
||
## Configuration | ||
config.rb | ||
```ruby | ||
# If you change, Keep the structure with the dot. [0-9 a-f] | ||
$token = "56225f.9096af3559800a6a" | ||
# Total memory of master | ||
$master_memory = 1536 | ||
# Increment to have more nodes | ||
$worker_count = 2 | ||
# Total memory of nodes | ||
$worker_memory = 1536 | ||
``` | ||
|
||
### Basic usage | ||
```bash | ||
# Note : You need to have kubectl on the host | ||
# http://kubernetes.io/docs/user-guide/prereqs/ | ||
# Or use ssh (vagrant ssh master) | ||
# If you use SSH to connect on master you should remove | ||
# "--kubeconfig admin.conf" argument | ||
# Cluster info | ||
kubectl cluster-info --kubeconfig admin.conf | ||
# Get nodes | ||
kubectl get nodes --kubeconfig admin.conf | ||
# Get system pods | ||
kubectl get pods --namespace=kube-system --kubeconfig admin.conf | ||
# Go to dashboard (require kubectl on the host, or use master | ||
# ip address to access to the ui) | ||
kubectl proxy --kubeconfig admin.conf # http://localhost:8001/ui on host | ||
## Full documentation : http://kubernetes.io/docs/ | ||
``` | ||
|
||
### Next features | ||
- Can add more master | ||
- Can add more etcd | ||
- Include flocker with full support of ZFS |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
|
||
# -*- mode: ruby -*- | ||
# vi: set ft=ruby : | ||
|
||
load 'config.rb' | ||
|
||
def workerIP(num) | ||
return "172.16.78.#{num+250}" | ||
end | ||
|
||
VAGRANTFILE_API_VERSION = "2" | ||
|
||
ENV['VAGRANT_DEFAULT_PROVIDER'] = 'virtualbox' | ||
|
||
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| | ||
|
||
if Vagrant.has_plugin?("vagrant-cachier") | ||
config.cache.scope = :box | ||
end | ||
ip = "172.16.78.250" | ||
config.vm.box = "centos/7" | ||
config.vm.synced_folder ".", "/shared", type: "nfs" | ||
config.vm.define "master" do |master| | ||
master.vm.network :private_network, :ip => "#{ip}" | ||
master.vm.hostname = "master" | ||
master.vm.provider "virtualbox" do |v| | ||
v.memory = $master_memory | ||
end | ||
master.vm.provision :shell, :inline => "sed 's/127.0.0.1.*master/#{ip} master/' -i /etc/hosts" | ||
master.vm.provision :shell do |s| | ||
s.inline = "sh /vagrant/install.sh $1 $2 $3 $4" | ||
s.args = ["-master", "#{ip}", "none", "#{$token}"] | ||
end | ||
end | ||
(1..$worker_count).each do |i| | ||
config.vm.define vm_name = "node-%d" % i do |node| | ||
node.vm.network :private_network, :ip => "#{workerIP(i)}" | ||
node.vm.hostname = vm_name | ||
node.vm.provider "virtualbox" do |v| | ||
v.memory = $worker_memory | ||
end | ||
node.vm.provision :shell, :inline => "sed 's/127.0.0.1.*node-#{i}/#{workerIP(i)} node-#{i}/' -i /etc/hosts" | ||
node.vm.provision :shell do |s| | ||
s.inline = "sh /vagrant/install.sh $1 $2 $3 $4" | ||
if i == $worker_count | ||
s.args = ["-node", "#{ip}", "-last", "#{$token}"] | ||
else | ||
s.args = ["-node", "#{ip}", "none", "#{$token}"] | ||
end | ||
end | ||
end | ||
end | ||
|
||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
apiVersion: v1 | ||
clusters: | ||
- cluster: | ||
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRFMk1URXlNakE1TkRRME5sb1hEVEkyTVRFeU1EQTVORFEwTmxvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTjZVCkFFUFk5ZXpUVUwyQXJncmpQcWFGckNZMStlYkVkY0FCWmRRSFV1OWxqSTEyaktwTFlQdFRQR01ROW1YczNwWlIKcTZnMzNHYnJ1TkhyUHdzNzgxS2FxMlVwT2dUVW5FOHJqSU9KUCthdENydTFYcERNZ1lpdWVOTWtSaHJacElsUgpmVkVwWlI0cjNjdVBoSW9IR2ZDVHR0M2RWMnFzUldpSWJrTHk1b0xjaFl1WWh0WmhnU2dwd0tvcVFLNFpQM3ZaCmhOaHdXd3B4Tkc2ejBRS0JiSlRVa29vK0tNYjhnMENRdThYS2FzRGdjaG55a2JFL1JiU1Q0Sm9zTzEyamQ1b3EKSUZtWHBpZ1JMSTFTRFZCYmVxQ1VNeWJpdWhuSnlteFByQnZIaURoc3ppNThQcHBFcmZMZ3VtaXZ5NWFBUkhBQwp2Wk5RRjVyL2pHc1kwMDBnUnE4Q0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFMMWZuRUJMSkdSVWZ2emlBTU5FRFhjV2ZQY0UKWEM5WU1ZVjBGSzNZWm83cWlGQkdUMlZCbCtUSGdmV1pLYWxpUkNINlFSU0ZPTCtkcWZaYmNPS2Rua2ZZRVhNSApxRVBjdzI2dy9Sb0EzNG1FMC8yL0ZPT1dwUk1mZ0orS3lZdVFTRWFiQlltM09ZQ2hnaTVpMDV2Q1ZoRWR2WEtBClVxVlpLTndGWlhiUjNsZVdrSlFsZUt6c2NkL3ZBZldFUHJsUkp3REhmZG01UVJoRzVPUms0TlRQQkhkSm5qd0cKQUtSamRWMU1KT29nbmdTRmQ3b1R5c3RKQmo3WHR2WW1MVVFpdGVXQjFjd1JOMGNNay9DZ0hteGxDL2d3MzRpWApIb2M3Yi9SWThBcTR0WTRVOHdOampFZk40dkhPTHF0UlJWQVJzVG84cUEvd1RQeDZLV2szVWdVeTFJbz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= | ||
server: https://172.16.78.250:6443 | ||
name: kubernetes | ||
contexts: | ||
- context: | ||
cluster: kubernetes | ||
user: admin | ||
name: admin@kubernetes | ||
- context: | ||
cluster: kubernetes | ||
user: kubelet | ||
name: kubelet@kubernetes | ||
current-context: admin@kubernetes | ||
kind: Config | ||
preferences: {} | ||
users: | ||
- name: admin | ||
user: | ||
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM0ekNDQWN1Z0F3SUJBZ0lJV1I2VjJTcFF6SFl3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB4TmpFeE1qSXdPVFEwTkRaYUZ3MHhOekV4TWpJd09UUTBORGhhTUJzeApHVEFYQmdOVkJBTVRFR3QxWW1WeWJtVjBaWE10WVdSdGFXNHdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCCkR3QXdnZ0VLQW9JQkFRRFpxazk5dFhaQUZ0MGJ0cFpuUHB4L1pFaHh5cG1qNnd3emxtV01ZbG96dEZsWDNpSFcKa2xFazhRT2VxY3VrWFVDUzRwTExVRnpSNjRPczJ2OVozOWZ0Ylc3UVltaG9JcGxpdnd2N0JPUFIydSt3T2xVVgpKZWhYTnFUOG9YZ09HWlZiVTdNZzFPcllMMG1UU3YrdUViVklsVWk5SVI5dURNc0gvTlhPem5vcEJYZWZBUFh6CmxZTWRJbW9BSEV1SGVxZmFGa2tTZEMvT0xGdEpWQ0Z3VXNwVHlQekJ5MWl5RWhYbHNLYVMyeFdDMms1TW9MbzUKUWI1TDk0UVpqMkdKcitSK1lERDJvSmlmUDVPaVM2NVoxckdoT2RZWkFZQmpZRDlFbjFMUmpJS0pNSEJROUFRSApKYTIvcHYwTFBkS3d0YlhLU1hRYnVWeEY3S05EQzRHNXM2aFhBZ01CQUFHak1UQXZNQTRHQTFVZER3RUIvd1FFCkF3SUZvREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUJCUVVIQXdJd0RRWUpLb1pJaHZjTkFRRUwKQlFBRGdnRUJBTFpRN3JCV1N3dU9mYlBiQlpYWW5XR0d0NkhKWTI4amNndFZ3cUtvNjdzM3JOdVBPbWU0YjVXawpzWEJhc3F0bENXMWM2Q0tPc0tNNUxiMG5oZjI2TWRBbmZHYjVLS0NZeUM3WllWLzVIczU2Skc1bjFQaHpmVitPClNwYmR6SXRsL3lYK0h0bGR6bFRFMFFZNHN0SjJQb016QTBOOEd1OWZYeHh1OC9yT3ZVa1NSTjI1MWVMYmFkeHQKY2E1ekpacndsU09TUFNtTEZrd2JYUERML1A3dDBVWGZjSTY1aEtsUHgzcEZ4MzUvelA5MUhnbXVDektwWkt3Mwo3dGNQODkyMWl0MklqQ2tEUmpzdTc1SVUzRU11WlpRZEhtdzRQQUZjVjY4K1o1cTNaRnpWWmVtc1kvaE9tYW5RCnJrOC8wSzl1c3N5bnNob2htZnQvR3lPUVMwbVoxOE09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K | ||
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBMmFwUGZiVjJRQmJkRzdhV1p6NmNmMlJJY2NxWm8rc01NNVpsakdKYU03UlpWOTRoCjFwSlJKUEVEbnFuTHBGMUFrdUtTeTFCYzBldURyTnIvV2QvWDdXMXUwR0pvYUNLWllyOEwrd1RqMGRydnNEcFYKRlNYb1Z6YWsvS0Y0RGhtVlcxT3pJTlRxMkM5Smswci9yaEcxU0pWSXZTRWZiZ3pMQi96VnpzNTZLUVYzbndEMQo4NVdESFNKcUFCeExoM3FuMmhaSkVuUXZ6aXhiU1ZRaGNGTEtVOGo4d2N0WXNoSVY1YkNta3RzVmd0cE9US0M2Ck9VRytTL2VFR1k5aGlhL2tmbUF3OXFDWW56K1Rva3V1V2RheG9UbldHUUdBWTJBL1JKOVMwWXlDaVRCd1VQUUUKQnlXdHY2YjlDejNTc0xXMXlrbDBHN2xjUmV5alF3dUJ1Yk9vVndJREFRQUJBb0lCQUFRUmkrVFVwSDQwTHpQYQphTnRMTDArdVJ6QmhVaGZmUjk0YS9KRHdNYkZ2dUkvTTVpTUZueUNxcEordG10SGFzRjlPZnVId0Fad200OUl5ClViMlRVb3pzazdxdmJEWXVGMkhpSWs0eDNEUksvRm4xN1NzMUJ5L0NKTGxZSjA5VUtSZUk2L3M4SDV1azNxSXoKTDY1SVJIUXozaVV5M2t5SFRyQTZpS0NSK1hTVXpiODhobndvUU9NTU55emRydFhqOUtsMVh3V3dTenIrSnkxQwpaM1ZPVy8zQ2NtYkdGVnRNaHlwUTBjWVF6Y2piZVN4aW9KemV3U05qNityL0M2STdpZHRNbnFJOU1xc2ZGdENTCitVQ1VZNjhaYzZZTWN5djc1STB2RnNqNU41Z3dKeG9BamY5clNiMFc1RUVFeEFkNEFsV0tVUlFOb1JSYWZTOEgKT3Bpcy92a0NnWUVBNGNkZ1hMcUFDaEpFZDF0dUQzVXJGV0IxN3FtaHdoV2M1SUkwVnJXVmFiZ0IvbEg1bytDagptamt1MzVVS0Qrd0pCSiswM3ZuUE5ZdERTR2N4WlhVbHo2bytGc0p1UHZicnJWQU1UZG1hbDdreE1vaUR4OVhQCmh1OENsUjZacjJMd3M4VmQyUHdKdDdpZVZkdFlzVG4ybVJCdUlCVHZ4QkNHeVIyeTFNWFBZb01DZ1lFQTlzenAKbHpNVUFEQjJQMUpmVFlHSUZ4Y3dxRmlxSE1reTJiOTZ3YzNMaHA0eGlqS3lINGJabDdXMGltbFIvbGg4Mm9jagpQSWRDZDVZUFNLdXYrMlVyWlJ4WE1ubWM4dnRYNGpaSjNMcG43b3VpNnlQTkZrdE9KeFBiMi96dFJjdGxTdFAzCkluc1FCQ2pCdkxzU1FxU0JTNkd3Smk3RGdhUjB5VkhGMTJVK2FwMENnWUI1M0xBaFBMU1JPd3pqVTJFVFRNMkYKU3p3OEppamQ1ZVo1MitFK0QrSm1YbUFORWRmcFlQMU01NkpxSVRwK0g0czZpSzBLVU5GTGVEQkhxeE1aVE9Lcwp0Sm13bFI4R015WS90RjMvd3Z6UythMFpObC9TZzQvd3A1N0FOL1VCbWlpTEQzTTVBOGlHOWtuWDAzMktvdHQ4CkFFZEFYNnlPS2RGbVNmWlZLN05rMndLQmdRQ2ZrcUkrRnRLSnhNdlA2V3loYW0wWnNPN1BDblVESTd2ek9uRWUKdWZjc1ZVQm13SnlXOGRQaTJhT2dFclRuSlVPazc5ZUNuVm9HaEVuaGpOQytWUTJYMUprMGs1azlLZklLMjFzcQprb1A4b3VCMTlMSDRCanpEMjMwK1llendRYkIrajBxdFNyQnlYLy9VRFlpaStrWjNKbFlFZWh3Q3lOaVNDb05HCjM3bFpxUUtCZ0RSQUxnNVZHSDhnd1J5L3Z2Z2c4SHlVZzA1eVp4bVlqVndDK2Y5MWZSY2RTVTBtRGRvNUZJK2EKWHBDa0ZYWG1MYjY2NnUzSFpKN3gwaGZQbldqYlBCL2s0MkErdjJ3aUUzV2pldzkwaE54Uk5VSDB5MFNXYThqaAptQ3pySklWTk5jbW1QZ0M0NmlpR2pFRkpJMG9QM0RRc1dsNlg0YWdYTUVzZzd3aUV1TUk3Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg== | ||
- name: kubelet | ||
user: | ||
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM0ekNDQWN1Z0F3SUJBZ0lJS0MremdZNGZuMk13RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB4TmpFeE1qSXdPVFEwTkRaYUZ3MHhOekV4TWpJd09UUTBORGhhTUJzeApHVEFYQmdOVkJBTVRFR3QxWW1WeWJtVjBaWE10WVdSdGFXNHdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCCkR3QXdnZ0VLQW9JQkFRQ1dWdnhBcU1BdTdrS0dtQU1kT1BZZ0dSSVJYdW8vMmlGMVh1c3BqejBRbSs0SWI2ZUwKVEFVNTdxZThwVHZPZEdUM05TMWtIaGhhSlZ3R21PUXdTd1VHc0dqMkJoZ0s0N09neGhwOERGQ3VaZWRGbkF5dgphOGJaNWxNZm40N2dWOXExakthc3dNRUp4d0ZDWHAyQWlmVjFxaVhwNzVVZCtwUzNVSmFJcGEzNXBLVW9KTFR2Clp3OEJyT2RXTmxTS1RUS2tjMUJvQXBWalVIREcxbEFtWHBpTU01VzFLd1dOaUxpbXYvYW95dnV3ejdKemJXeTAKNkJvYzJIV09zQ2NvQ1hLTm95S0daS3k3S1dwSHpGUnZFNFlyZXFZOFNERzJ0c3dZUjVTUVMrZThMOUVMbUhwZApmM1BGL1ZIN2NuVzc2dXFBWjhCa0VoVTlqa0pxbzdFRGdwREhBZ01CQUFHak1UQXZNQTRHQTFVZER3RUIvd1FFCkF3SUZvREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUJCUVVIQXdJd0RRWUpLb1pJaHZjTkFRRUwKQlFBRGdnRUJBTlE0aFoxTXhHRnNmT0F5TVdBS1daZXBNSUhsRFJCVEVCVlFWTXVHTkx2R3VQQTRleCt0RzVFQQpNKzdoYjMwdGZoak1NREhCaVhCSC9DVm1TeE8rV2xHd2RUTWxaSGtpcmVlUXZ3bnFHcjU5K284QWEwdFpEbmdzCnM0SWtXNXVlVHowc01lTnBiM3dRTDV0YU43Z3ZrdGdxYjJraFNsQWdzS0l0eTUvVVFiVGtUckpCSFJTcjA5cUYKRytpd2JBWXNZZC9WcHZsbythRGxKUU9JZnR0RnQ5ZHBITEV3OC8yK2NGdkNsbklpNG0vMlN1WDBXNUY1WnFIbQpEZ3lOS3U4V3pFNEhLd3B5Q05TaDZWWDVFMDF5ZzlOQTBwSnZkU3FqZHJLamNUVnFud3BEOFlzTHFaYXNzWkRCClBTZHExQUd4RzVqdGlkZFpKSWdSMnFEenhGdFZUWFU9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K | ||
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBbGxiOFFLakFMdTVDaHBnREhUajJJQmtTRVY3cVA5b2hkVjdyS1k4OUVKdnVDRytuCmkwd0ZPZTZudktVN3puUms5elV0WkI0WVdpVmNCcGprTUVzRkJyQm85Z1lZQ3VPem9NWWFmQXhRcm1YblJad00KcjJ2RzJlWlRINStPNEZmYXRZeW1yTURCQ2NjQlFsNmRnSW4xZGFvbDZlK1ZIZnFVdDFDV2lLV3QrYVNsS0NTMAo3MmNQQWF6blZqWlVpazB5cEhOUWFBS1ZZMUJ3eHRaUUpsNllqRE9WdFNzRmpZaTRwci8ycU1yN3NNK3ljMjFzCnRPZ2FITmgxanJBbktBbHlqYU1paG1Tc3V5bHFSOHhVYnhPR0szcW1QRWd4dHJiTUdFZVVrRXZudkMvUkM1aDYKWFg5enhmMVIrM0oxdStycWdHZkFaQklWUFk1Q2FxT3hBNEtReHdJREFRQUJBb0lCQUdOMGVmM2daUHJtL2JXQwpmSlRwYU5GRkpKRy9RNklvRUhoUDZhd2RxUjBDdW81MEp0ZGMzQncrQ0ZNZzBCYTlJMG55c091SmlUeWhlR2FZCjRHUWVUTjNtK0JqQllVaGE2Q3NVd3RLTFp4aG9LMzMrUk5vTHA0bmc5OTUwdEpVdktXMXU5WmhWRDU4RE9vOEkKZnBOWk1MdTlhc1YrakJ3LzkvL3BYUnhhMW1QT0J5N1RMWitWa0FrVU9VRDdQVlo5aHJZTVVlTU44UWVlSDNRdQptME8wQlpkMHMwakE2ZE9PMmtKNk1hcS9HeGNSMEtZczJUaEthZDNpZlhaQUF4SGpsMG9nb2xhR09rNFpaUmUwCmtBSDQ3Y2xOa2tpUXIza2xNbzNnSFY5OGF5NDNRYnhnSHZkTFBCS2xsbnUzRDJwaFFQLzFUZ1hVcEphSjFmTTcKTzc2bGE2RUNnWUVBeFJZNmJOQVRTMGZyVkdmZ3ZDeDhiQ3hTN0U1MU41NVZGMlFSS3BDMm1NNjhza3pnZFdkdgpONlhFaW9EYVhBRjVqdG1DNEVmaURORHdubTJ0cUd0YS9zSklka05jOWhsbDB6TTUrT3gvdk1pSStkcVdDdWdrCjE1Y2ZncVRqWFdwZm9kL2dOeUJ3UEs4UWYwOHBtM0ZhS01NeHJQS0FoREtPdjFpb3VQdCtBcGNDZ1lFQXcwZUMKcHFFUEpGUkxJUGxsbk9RZW9NbW5NTklpcVVhbUpqVW4xNGNybEJhRW1jUkdMYWVzMVl2RHN0ZU4zSytNczFXZgovSytianh4R29Ja0dYRnczdklsWWRqYitNS2hGMTNpUWlsM3V6MFdzRUppWHF5bWtFUk8rWDZucUNnU0VnT1VCClpaRHo2bGlxSU0xKzIwOW94NHJPZTduMzlzOWhuMHpuRlBRVkdWRUNnWUFOQ3VDSTdPZ3A5ak56bllBNDA3VFUKTDhhNURxUWhMeUF3Y1JYVnZFZnBLdDAvNjJoN1BJSVdxNmlyQmNYdGlzZHhsYUZjbUVVMFZldG1nSm1hYUtoWAo3YUYvK2dzLzJnUnNDcHJPaDFBWXZTaWJhRVMvcWdjdUlUa2JteS9Vc2NKc1l2VmlrSW44NmhUc1o5KzRBck5WCnVUMGpWZFQ5YXA4WnVKTkowcExQTndLQmdRQzlLOFllSTBIbTRKMlRDT1p0c1BNV3NhSjhBZVMvOVFlNVZaOE8KQkF5c1BaQWc0V2xXaXVzOFIxUENLVnhzMzhhK1o0RS9xT0phSlhzcHd2UGRmeHdqVVMzWC92Z0pMTW5UclNEZwpXWlNoU0E0aVdaLzdtTEF1TnVFaURSa0NzVk9uQmJGdnNaY0lldkg4S3ZYc0FDWXh2MzY5anU3dU1nR1E3MCtnCkZiOW1zUUtCZ0c3bEVXSllKUThkQkpLUGVQSTMrdW9Gbk84RE1sSHdsZ1hmajY1Nlo3VmErdkt0YWhNOVMwNWQKaGd0TU1TZkQwUEtVZjZ4eDNBTjgwZnFvTW0zWkszOGhNRXphSjl4T0d1UW8yTjB4WlQvM3FYOTliZTIzM2NSVwpWK2lQMU9wK09qa2xyM2lyMDROeTd4akNrWUtMZnNzYWZ3dmVhU1NGamtxQmsyVVpKU0pRCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg== |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
#!/bin/sh | ||
|
||
TOKEN=$4 | ||
echo 'INSTALL KUBERNETES' | ||
cat <<EOF > /etc/yum.repos.d/kubernetes.repo | ||
[kubernetes] | ||
name=Kubernetes | ||
baseurl=http://yum.kubernetes.io/repos/kubernetes-el7-x86_64 | ||
enabled=1 | ||
gpgcheck=1 | ||
repo_gpgcheck=1 | ||
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg | ||
https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg | ||
EOF | ||
setenforce 0 | ||
yum install -y docker kubelet kubeadm kubectl kubernetes-cni wget ntp | ||
systemctl start ntpd | ||
systemctl enable ntpd | ||
wget http://stedolan.github.io/jq/download/linux64/jq | ||
chmod +x ./jq | ||
cp jq /usr/bin | ||
systemctl enable docker && systemctl start docker | ||
systemctl enable kubelet && systemctl start kubelet | ||
if [ "$1" == "-master" ]; then | ||
kubeadm init --api-advertise-addresses=$2 --token=$TOKEN | ||
kubectl -n kube-system get ds -l 'component=kube-proxy' -o json \ | ||
| jq '.items[0].spec.template.spec.containers[0].command |= .+ ["--proxy-mode=userspace"]' \ | ||
| kubectl apply -f - && kubectl -n kube-system delete pods -l 'component=kube-proxy' | ||
cp /etc/kubernetes/admin.conf /shared | ||
elif [ "$1" == "-node" ]; then | ||
echo "I AM A NODE" | ||
rm -Rf /etc/kubernetes/* | ||
kubeadm join $2 --token=$TOKEN | ||
if [ "$3" == "-last" ]; then | ||
kubectl --kubeconfig /shared/admin.conf apply -f https://git.io/weave-kube | ||
kubectl --kubeconfig /shared/admin.conf create -f https://rawgit.com/kubernetes/dashboard/master/src/deploy/kubernetes-dashboard.yaml | ||
fi | ||
fi | ||
echo "Wait 10.00s" && sleep 10 |