Skip to content

Commit e2fdee2

Browse files
author
Marco Capuccini
authored
Merge pull request #30 from kubenow/docs/advanced_topics_section
Adding Advanced Topics Section
2 parents 99431a0 + 26b4ca9 commit e2fdee2

6 files changed

+80
-2
lines changed

advanced_topics/cloudflare-dns.rst

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Cloudflare DNS Records
2+
======================
3+
`Cloudflare <https://www.cloudflare.com>`_ runs one of the largest authoritative DNS networks in the world. In order to resolve domain names for exposed services, KubeNow can optionally configure the Cloudflare dynamic DNS service, so that a base domain name will resolve to the edge nodes (or the master node if no edge node is deployed).
4+
5+
To configure the Cloudflare dynamic DNS service, it is sufficient to uncomment the following lines in the ``terraform.tfvars`` file, specifying credentials, domain and subdomain::
6+
7+
# Cloudflare configuration (optional)
8+
use_cloudflare = "true"
9+
cloudflare_email = "your-cloudflare-email"
10+
cloudflare_token = "your-cloudflare-token"
11+
cloudflare_domain = "your-domain-name"
12+
cloudflare_subdomain = "your-subdomain-name"
+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Cloudflare: Proxied Traffic
2+
===========================
3+
Incoming container traffic can be optionally proxied through the `Cloudflare <https://www.cloudflare.com>`_ servers. When operating in this mode Cloudflare provides HTTPS for container services, and it protects against distributed denial of service, customer data breach and malicious bot abuse.
4+
5+
To enable Cloudflare proxied traffic, it is sufficient to uncomment the following lines in the ``terraform.tfvars`` file, specifying DNS records to be proxied::
6+
7+
# Cloudflare proxy (optional)
8+
cloudflare_proxied = "true"
9+
cloudflare_record_texts = ["record1","record2",...] # Warn: wildcards are not supported when using proxied records

advanced_topics/edge-nodes.rst

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
Edge Nodes
2+
==========
3+
Edge nodes are specialized service nodes with an associated public IP address, and they run `Traefik <https://traefik.io>`_ acting as reverse proxies, and load balancers, for the services that are exposed to the Internet. In the default settings, we don't deploy any edge node enabling the reverse proxy logic in the master node instead. However, in production settings we recommend to deploy one or more edge nodes to reduce the load in the master.
4+
5+
To deploy edge nodes, it is sufficient to uncomment the following lines in the ``terraform.tfvars`` file, and to set the desired number of edge nodes, along with an available instance flavor::
6+
7+
# Master configuration (mandatory in general, above all for single-server setup)
8+
master_flavor = "your-master-flavor"
9+
master_as_edge = "false"
10+
11+
# Edge configuration
12+
edge_count = "2"
13+
edge_flavor = "your-edge-flavor"
14+
15+
Please notice that we set ``master_as_edge = "false"`` to disable Traefik in the master node.

advanced_topics/glusterfs-nodes.rst

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
GlusterFS Nodes
2+
===============
3+
GlusterFS nodes are specialized service nodes. They run only `GlusterFS <https://www.gluster.org>`_ and they are attached to a block storage volume to provide additional capacity. In the default settings, we don't deploy GlusterFS nodes, as it is not required in many use cases. However, GlusterFS can be particularly convenient when a distributed file system is needed for container synchronization.
4+
5+
To deploy GlusterFS nodes, it is sufficient to uncomment the following lines in the ``terraform.tfvars`` file, and to set the desired number of edge nodes, along with an available instance flavor and block storage disk size::
6+
7+
# Gluster configuration
8+
glusternode_count = "1"
9+
glusternode_flavor = "your-glusternode-flavor"
10+
glusternode_extra_disk_size = "200" # Size in GB
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
Single-Node Deployments
2+
=======================
3+
When resources are scarce, or for testing purpose, KubeNow enables single-node deployments. In fact, it is possible to deploy the master node only, which will automatically enabled for service scheduling.
4+
5+
You can achieve this by commenting all of the lines for the other instance types (i.e. edge node, gluster node and worker node) in the ``terraform.tfvars`` file, leaving the master node only as it is shown below::
6+
7+
# Master configuration (mandatory in general, above all for single-server setup)
8+
master_flavor = "your-master-flavor"
9+
master_as_edge = "true"
10+
11+
# Node configuration
12+
# node_count = "3"
13+
# node_flavor = "your-node-flavor"
14+
15+
# Edge configuration
16+
# edge_count = "2"
17+
# edge_flavor = "your-edge-flavor"
18+
19+
# Gluster configuration
20+
# glusternode_count = "1"
21+
# glusternode_flavor = "your-glusternode-flavor"
22+
# glusternode_extra_disk_size = "200" # Size in GB

index.rst

+12-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Welcome to KubeNow's documentation! This is a place where we aim to help you to
1212
getting_started/clean-up
1313

1414
.. toctree::
15-
:maxdepth: 1
15+
:maxdepth: 2
1616
:caption: Troubleshooting
1717

1818
troubleshoot/trouble-terraform
@@ -21,7 +21,17 @@ Welcome to KubeNow's documentation! This is a place where we aim to help you to
2121
troubleshoot/trouble-misc
2222

2323
.. toctree::
24-
:maxdepth: 1
24+
:maxdepth: 2
25+
:caption: Advanced Topics
26+
27+
advanced_topics/edge-nodes
28+
advanced_topics/glusterfs-nodes
29+
advanced_topics/single-node-deployments
30+
advanced_topics/cloudflare-dns
31+
advanced_topics/cloudflare-proxied
32+
33+
.. toctree::
34+
:maxdepth: 2
2535
:caption: Developers guide
2636

2737
developers/build-img

0 commit comments

Comments
 (0)