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
|
||||
* [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
|
||||
-------------------------
|
||||
|
@ -44,11 +71,10 @@ In node-mesh mode the nodes peers with all the nodes in order to exchange routes
|
|||
|
||||
[kube-master]
|
||||
10.99.0.26
|
||||
|
||||
[etcd]
|
||||
10.99.0.26
|
||||
10.99.0.59
|
||||
|
||||
[kube-node]
|
||||
10.99.0.59
|
||||
10.99.0.4
|
||||
10.99.0.5
|
||||
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
|
||||
|
||||
[usa]
|
||||
10.99.0.59 local_as=xxxxxxxx
|
||||
10.99.0.36 local_as=xxxxxxxx
|
||||
10.99.0.37 local_as=xxxxxxxx
|
||||
|
||||
|
@ -69,9 +96,11 @@ 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"
|
||||
```
|
||||
|
||||
### Playbook
|
||||
|
|
|
@ -5,28 +5,31 @@ bin_dir: /usr/local/bin
|
|||
# Note: ensure that you've enough disk space (about 1G)
|
||||
local_release_dir: "/tmp/releases"
|
||||
|
||||
# Cluster Loglevel configuration
|
||||
kube_log_level: 2
|
||||
|
||||
# Users to create for basic auth in Kubernetes API via HTTP
|
||||
# kube_users:
|
||||
# kube:
|
||||
# pass: changeme
|
||||
# role: admin
|
||||
kube_users:
|
||||
kube:
|
||||
pass: changeme
|
||||
role: admin
|
||||
# root:
|
||||
# pass: changeme
|
||||
# role: admin
|
||||
|
||||
# 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
|
||||
# kube_network_plugin: calico
|
||||
kube_network_plugin: calico
|
||||
|
||||
# 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
|
||||
# addresses from this range to individual pods.
|
||||
# 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
|
||||
# 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
|
||||
# to each node on your network. With these defaults you should have
|
||||
# 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.
|
||||
# peer_with_router: false
|
||||
peer_with_router: false
|
||||
# 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 port the API Server will be listening on.
|
||||
# kube_apiserver_ip: "{{ kube_service_addresses|ipaddr('net')|ipaddr(1)|ipaddr('address') }}"
|
||||
# kube_apiserver_port: 443 # (https)
|
||||
# kube_apiserver_insecure_port: 8080 # (http)
|
||||
kube_apiserver_ip: "{{ kube_service_addresses|ipaddr('net')|ipaddr(1)|ipaddr('address') }}"
|
||||
kube_apiserver_port: 443 # (https)
|
||||
kube_apiserver_insecure_port: 8080 # (http)
|
||||
|
||||
# Internal DNS configuration.
|
||||
# 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).
|
||||
|
||||
# Upstream dns servers used by dnsmasq
|
||||
# upstream_dns_servers:
|
||||
# - 8.8.8.8
|
||||
# - 4.4.8.8
|
||||
upstream_dns_servers:
|
||||
- 8.8.8.8
|
||||
- 4.4.8.8
|
||||
#
|
||||
# # Use dns server : https://github.com/ansibl8s/k8s-skydns/blob/master/skydns-README.md
|
||||
# dns_setup: true
|
||||
# dns_domain: "{{ cluster_name }}"
|
||||
dns_setup: true
|
||||
dns_domain: "{{ cluster_name }}"
|
||||
#
|
||||
# # 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.
|
||||
dns_server: "{{ kube_service_addresses|ipaddr('net')|ipaddr(253)|ipaddr('address') }}"
|
||||
|
||||
# kube_api_runtime_config:
|
||||
# - extensions/v1beta1/daemonsets=true
|
||||
# - extensions/v1beta1/deployments=true
|
||||
kube_api_runtime_config:
|
||||
- extensions/v1beta1/daemonsets=true
|
||||
- extensions/v1beta1/deployments=true
|
||||
|
|
Loading…
Reference in a new issue