Quickstart documentation
This commit is contained in:
parent
0a1b92f348
commit
59994a6df1
4 changed files with 91 additions and 25 deletions
35
README.md
35
README.md
|
@ -18,6 +18,33 @@ Ansible v1.9.x
|
||||||
* [flanneld](https://github.com/coreos/flannel/releases) v0.5.5
|
* [flanneld](https://github.com/coreos/flannel/releases) v0.5.5
|
||||||
* [docker](https://www.docker.com/) v1.9.1
|
* [docker](https://www.docker.com/) v1.9.1
|
||||||
|
|
||||||
|
Quickstart
|
||||||
|
-------------------------
|
||||||
|
The following steps will quickly setup a kubernetes cluster with default configuration.
|
||||||
|
These defaults are good for a test purposes.
|
||||||
|
|
||||||
|
Edit the inventory according to the number of servers
|
||||||
|
```
|
||||||
|
[downloader]
|
||||||
|
10.115.99.1
|
||||||
|
|
||||||
|
[kube-master]
|
||||||
|
10.115.99.31
|
||||||
|
|
||||||
|
[kube-node]
|
||||||
|
10.115.99.32
|
||||||
|
10.115.99.33
|
||||||
|
|
||||||
|
[k8s-cluster:children]
|
||||||
|
kube-node
|
||||||
|
kube-master
|
||||||
|
```
|
||||||
|
|
||||||
|
Run the playbook
|
||||||
|
```
|
||||||
|
ansible-playbook -i environments/production/inventory cluster.yml -u root
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
Ansible
|
Ansible
|
||||||
-------------------------
|
-------------------------
|
||||||
|
@ -44,11 +71,10 @@ In node-mesh mode the nodes peers with all the nodes in order to exchange routes
|
||||||
|
|
||||||
[kube-master]
|
[kube-master]
|
||||||
10.99.0.26
|
10.99.0.26
|
||||||
|
10.99.0.59
|
||||||
[etcd]
|
|
||||||
10.99.0.26
|
|
||||||
|
|
||||||
[kube-node]
|
[kube-node]
|
||||||
|
10.99.0.59
|
||||||
10.99.0.4
|
10.99.0.4
|
||||||
10.99.0.5
|
10.99.0.5
|
||||||
10.99.0.36
|
10.99.0.36
|
||||||
|
@ -60,6 +86,7 @@ In node-mesh mode the nodes peers with all the nodes in order to exchange routes
|
||||||
10.99.0.5 local_as=xxxxxxxx
|
10.99.0.5 local_as=xxxxxxxx
|
||||||
|
|
||||||
[usa]
|
[usa]
|
||||||
|
10.99.0.59 local_as=xxxxxxxx
|
||||||
10.99.0.36 local_as=xxxxxxxx
|
10.99.0.36 local_as=xxxxxxxx
|
||||||
10.99.0.37 local_as=xxxxxxxx
|
10.99.0.37 local_as=xxxxxxxx
|
||||||
|
|
||||||
|
@ -69,9 +96,11 @@ kube-master
|
||||||
|
|
||||||
[paris:vars]
|
[paris:vars]
|
||||||
peers=[{"router_id": "10.99.0.2", "as": "65xxx"}, {"router_id": "10.99.0.3", "as": "65xxx"}]
|
peers=[{"router_id": "10.99.0.2", "as": "65xxx"}, {"router_id": "10.99.0.3", "as": "65xxx"}]
|
||||||
|
loadbalancer_address="10.99.0.24"
|
||||||
|
|
||||||
[usa:vars]
|
[usa:vars]
|
||||||
peers=[{"router_id": "10.99.0.34", "as": "65xxx"}, {"router_id": "10.99.0.35", "as": "65xxx"}]
|
peers=[{"router_id": "10.99.0.34", "as": "65xxx"}, {"router_id": "10.99.0.35", "as": "65xxx"}]
|
||||||
|
loadbalancer_address="10.99.0.44"
|
||||||
```
|
```
|
||||||
|
|
||||||
### Playbook
|
### Playbook
|
||||||
|
|
|
@ -5,28 +5,31 @@ bin_dir: /usr/local/bin
|
||||||
# Note: ensure that you've enough disk space (about 1G)
|
# Note: ensure that you've enough disk space (about 1G)
|
||||||
local_release_dir: "/tmp/releases"
|
local_release_dir: "/tmp/releases"
|
||||||
|
|
||||||
|
# Cluster Loglevel configuration
|
||||||
|
kube_log_level: 2
|
||||||
|
|
||||||
# Users to create for basic auth in Kubernetes API via HTTP
|
# Users to create for basic auth in Kubernetes API via HTTP
|
||||||
# kube_users:
|
kube_users:
|
||||||
# kube:
|
kube:
|
||||||
# pass: changeme
|
pass: changeme
|
||||||
# role: admin
|
role: admin
|
||||||
# root:
|
# root:
|
||||||
# pass: changeme
|
# pass: changeme
|
||||||
# role: admin
|
# role: admin
|
||||||
|
|
||||||
# Kubernetes cluster name, also will be used as DNS domain
|
# Kubernetes cluster name, also will be used as DNS domain
|
||||||
# cluster_name: cluster.local
|
cluster_name: cluster.local
|
||||||
|
|
||||||
# set this variable to calico if needed. keep it empty if flannel is used
|
# set this variable to calico if needed. keep it empty if flannel is used
|
||||||
# kube_network_plugin: calico
|
kube_network_plugin: calico
|
||||||
|
|
||||||
# Kubernetes internal network for services, unused block of space.
|
# Kubernetes internal network for services, unused block of space.
|
||||||
# kube_service_addresses: 10.233.0.0/18
|
kube_service_addresses: 10.233.0.0/18
|
||||||
|
|
||||||
# internal network. When used, it will assign IP
|
# internal network. When used, it will assign IP
|
||||||
# addresses from this range to individual pods.
|
# addresses from this range to individual pods.
|
||||||
# This network must be unused in your network infrastructure!
|
# This network must be unused in your network infrastructure!
|
||||||
# kube_pods_subnet: 10.233.64.0/18
|
kube_pods_subnet: 10.233.64.0/18
|
||||||
|
|
||||||
# internal network total size (optional). This is the prefix of the
|
# internal network total size (optional). This is the prefix of the
|
||||||
# entire network. Must be unused in your environment.
|
# entire network. Must be unused in your environment.
|
||||||
|
@ -35,17 +38,17 @@ local_release_dir: "/tmp/releases"
|
||||||
# internal network node size allocation (optional). This is the size allocated
|
# internal network node size allocation (optional). This is the size allocated
|
||||||
# to each node on your network. With these defaults you should have
|
# to each node on your network. With these defaults you should have
|
||||||
# room for 4096 nodes with 254 pods per node.
|
# room for 4096 nodes with 254 pods per node.
|
||||||
# kube_network_node_prefix: 24
|
kube_network_node_prefix: 24
|
||||||
|
|
||||||
# With calico it is possible to distributed routes with border routers of the datacenter.
|
# With calico it is possible to distributed routes with border routers of the datacenter.
|
||||||
# peer_with_router: false
|
peer_with_router: false
|
||||||
# Warning : enabling router peering will disable calico's default behavior ('node mesh').
|
# Warning : enabling router peering will disable calico's default behavior ('node mesh').
|
||||||
# The subnets of each nodes will be distributed by the datacenter router
|
# The subnets of each nodes will be distributed by the datacenter router
|
||||||
|
|
||||||
# The port the API Server will be listening on.
|
# The port the API Server will be listening on.
|
||||||
# kube_apiserver_ip: "{{ kube_service_addresses|ipaddr('net')|ipaddr(1)|ipaddr('address') }}"
|
kube_apiserver_ip: "{{ kube_service_addresses|ipaddr('net')|ipaddr(1)|ipaddr('address') }}"
|
||||||
# kube_apiserver_port: 443 # (https)
|
kube_apiserver_port: 443 # (https)
|
||||||
# kube_apiserver_insecure_port: 8080 # (http)
|
kube_apiserver_insecure_port: 8080 # (http)
|
||||||
|
|
||||||
# Internal DNS configuration.
|
# Internal DNS configuration.
|
||||||
# Kubernetes can create and mainatain its own DNS server to resolve service names
|
# Kubernetes can create and mainatain its own DNS server to resolve service names
|
||||||
|
@ -56,13 +59,13 @@ local_release_dir: "/tmp/releases"
|
||||||
# Kubernetes won't do this for you (yet).
|
# Kubernetes won't do this for you (yet).
|
||||||
|
|
||||||
# Upstream dns servers used by dnsmasq
|
# Upstream dns servers used by dnsmasq
|
||||||
# upstream_dns_servers:
|
upstream_dns_servers:
|
||||||
# - 8.8.8.8
|
- 8.8.8.8
|
||||||
# - 4.4.8.8
|
- 4.4.8.8
|
||||||
#
|
#
|
||||||
# # Use dns server : https://github.com/ansibl8s/k8s-skydns/blob/master/skydns-README.md
|
# # Use dns server : https://github.com/ansibl8s/k8s-skydns/blob/master/skydns-README.md
|
||||||
# dns_setup: true
|
dns_setup: true
|
||||||
# dns_domain: "{{ cluster_name }}"
|
dns_domain: "{{ cluster_name }}"
|
||||||
#
|
#
|
||||||
# # Ip address of the kubernetes dns service
|
# # Ip address of the kubernetes dns service
|
||||||
# dns_server: "{{ kube_service_addresses|ipaddr('net')|ipaddr(253)|ipaddr('address') }}"
|
dns_server: "{{ kube_service_addresses|ipaddr('net')|ipaddr(253)|ipaddr('address') }}"
|
34
environments/test/inventory.example
Normal file
34
environments/test/inventory.example
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
[downloader]
|
||||||
|
10.99.0.26
|
||||||
|
|
||||||
|
[kube-master]
|
||||||
|
10.99.0.26
|
||||||
|
10.99.0.27
|
||||||
|
|
||||||
|
[kube-node]
|
||||||
|
10.99.0.27
|
||||||
|
10.99.0.4
|
||||||
|
10.99.0.5
|
||||||
|
10.99.0.36
|
||||||
|
10.99.0.37
|
||||||
|
|
||||||
|
[paris]
|
||||||
|
10.99.0.26
|
||||||
|
10.99.0.4 local_as=xxxxxxxx
|
||||||
|
10.99.0.5 local_as=xxxxxxxx
|
||||||
|
|
||||||
|
[usa]
|
||||||
|
10.99.0.36 local_as=xxxxxxxx
|
||||||
|
10.99.0.37 local_as=xxxxxxxx
|
||||||
|
|
||||||
|
[k8s-cluster:children]
|
||||||
|
kube-node
|
||||||
|
kube-master
|
||||||
|
|
||||||
|
[paris:vars]
|
||||||
|
peers=[{"router_id": "10.99.0.2", "as": "65xxx"}, {"router_id": "10.99.0.3", "as": "65xxx"}]
|
||||||
|
loadbalancer_address="10.99.0.24"
|
||||||
|
|
||||||
|
[usa:vars]
|
||||||
|
peers=[{"router_id": "10.99.0.34", "as": "65xxx"}, {"router_id": "10.99.0.35", "as": "65xxx"}]
|
||||||
|
loadbalancer_address="10.99.0.44"
|
|
@ -43,6 +43,6 @@ hyperkube_image:
|
||||||
# pick the 10th ip address in the kube_service_addresses range and use that.
|
# pick the 10th ip address in the kube_service_addresses range and use that.
|
||||||
dns_server: "{{ kube_service_addresses|ipaddr('net')|ipaddr(253)|ipaddr('address') }}"
|
dns_server: "{{ kube_service_addresses|ipaddr('net')|ipaddr(253)|ipaddr('address') }}"
|
||||||
|
|
||||||
# kube_api_runtime_config:
|
kube_api_runtime_config:
|
||||||
# - extensions/v1beta1/daemonsets=true
|
- extensions/v1beta1/daemonsets=true
|
||||||
# - extensions/v1beta1/deployments=true
|
- extensions/v1beta1/deployments=true
|
||||||
|
|
Loading…
Reference in a new issue