mirror of
https://github.com/planetmint/planetmint.git
synced 2025-11-24 14:35:45 +00:00
* 31 restructue documentation (#138) * removed korean documentation Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * removed CN and KOR readme Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * changed to the press theme Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * first changes Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * fixe H3 vs H1 issues Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * added missing png Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * added missing file Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * fixed warnings Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * moved documents Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * removed obsolete files Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * removed obsolete folder Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * removed obs. file Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * added some final changes Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * removed obs. reference Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * moved chain migration to election types (#109) Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * Final zenroom (#147) * zenroom fixes Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * expl. defined the aiohttp package Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * increased version number and fixed a zenroom runtime bug Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * added fialing zenroom tx signing test Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * extended test to pass zenrooom validation, but to fail planetmint validation. Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * added manual tx crafting Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * added zenroom fulfillment verification Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * the last mile before integration Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * zenroom unit tests are passing Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * simplified zenroom unit tests Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * removed obsolte lines from the zenroom tests Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * fixed acceptance tests Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * adjusted zenroom integraiton tests Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * fixed linting errors Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * simplified zenroom unit test Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * increased version number Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * using cryptoconditions without print message Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * increased cc usage to 0.9.9 readded daemon proceses Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * increased version to 0.9.6 Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * fixed deployment issue for 0.9.6 Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * adjusted get_assets and from_db for tarantool Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * added comment Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * improve usability of zenroom (#159) * improve usability of zenroom * * increased version * fixed test cases * added changelog Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> Co-authored-by: Jürgen Eckel <juergen@riddleandcode.com> * migrated to AGPLv3 Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * 150 add cryptoconditions documentation (#166) * added smaller logos fixed reference issue Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * fixed some erros and typos Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * added cryptoconditions reference to the subproject Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * docker all in one now install tarantool Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * added user to integration init.lua Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * updated integration test setup for tarantool Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * removed print statements Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * updated changelog Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * fixed error messaging Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * fixed exception verification Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> * fixed printing of testdata Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com> Co-authored-by: Jürgen Eckel <eckelj@users.noreply.github.com> Co-authored-by: Lorenz Herzberger <64837895+LaurentDeMontBlanc@users.noreply.github.com> Co-authored-by: Alberto Lerda <30939098+albertolerda@users.noreply.github.com> Co-authored-by: Jürgen Eckel <juergen@riddleandcode.com>
149 lines
5.9 KiB
ReStructuredText
149 lines
5.9 KiB
ReStructuredText
|
|
.. Copyright © 2020 Interplanetary Database Association e.V.,
|
|
Planetmint and IPDB software contributors.
|
|
SPDX-License-Identifier: (Apache-2.0 AND CC-BY-4.0)
|
|
Code is Apache-2.0 and docs are CC-BY-4.0
|
|
|
|
Walkthrough: Deploy a Kubernetes Cluster on Azure using Tectonic by CoreOS
|
|
==========================================================================
|
|
|
|
.. note::
|
|
|
|
A highly-available Kubernetes cluster requires at least five virtual machines
|
|
(three for the master and two for your app's containers).
|
|
Therefore we don't recommend using Kubernetes to run a Planetmint node
|
|
if that's the only thing the Kubernetes cluster will be running.
|
|
Instead, see our `Node Setup <../../node_setup>`_.
|
|
If your organization already *has* a big Kubernetes cluster running many containers,
|
|
and your organization has people who know Kubernetes,
|
|
then this Kubernetes deployment template might be helpful.
|
|
|
|
A Planetmint node can be run inside a `Kubernetes <https://kubernetes.io/>`_
|
|
cluster.
|
|
This page describes one way to deploy a Kubernetes cluster on Azure using Tectonic.
|
|
Tectonic helps in easier cluster management of Kubernetes clusters.
|
|
|
|
If you would rather use Azure Container Service to manage Kubernetes Clusters,
|
|
please read :doc:`our guide for that <template-kubernetes-azure>`.
|
|
|
|
|
|
Step 1: Prerequisites for Deploying Tectonic Cluster
|
|
----------------------------------------------------
|
|
|
|
Get an Azure account. Refer to
|
|
:ref:`this step in our docs <get-a-pay-as-you-go-azure-subscription>`.
|
|
|
|
Create an SSH Key pair for the new Tectonic cluster. Refer to
|
|
:ref:`this step in our docs <create-an-ssh-key-pair>`.
|
|
|
|
|
|
Step 2: Get a Tectonic Subscription
|
|
-----------------------------------
|
|
|
|
CoreOS offers Tectonic for free for up to 10 nodes.
|
|
|
|
Sign up for an account `here <https://coreos.com/tectonic>`__ if you do not
|
|
have one already and get a license for 10 nodes.
|
|
|
|
Login to your account, go to Overview > Your Account and save the
|
|
``CoreOS License`` and the ``Pull Secret`` to your local machine.
|
|
|
|
|
|
Step 3: Deploy the cluster on Azure
|
|
-----------------------------------
|
|
|
|
The latest instructions for deployment can be found
|
|
`here <https://coreos.com/tectonic/docs/latest/tutorials/azure/install.html>`__.
|
|
|
|
The following points suggests some customizations for a Planetmint deployment
|
|
when following the steps above:
|
|
|
|
|
|
#. Set the ``CLUSTER`` variable to the name of the cluster. Also note that the
|
|
cluster will be deployed in a resource group named
|
|
``tectonic-cluster-CLUSTER``.
|
|
|
|
#. Set the ``tectonic_base_domain`` to ``""`` if you want to use Azure managed
|
|
DNS. You will be assigned a ``cloudapp.azure.com`` sub-domain by default and
|
|
you can skip the ``Configuring Azure DNS`` section from the Tectonic installation
|
|
guide.
|
|
|
|
#. Set the ``tectonic_cl_channel`` to ``"stable"`` unless you want to
|
|
experiment or test with the latest release.
|
|
|
|
#. Set the ``tectonic_cluster_name`` to the ``CLUSTER`` variable defined in
|
|
the step above.
|
|
|
|
#. Set the ``tectonic_license_path`` and ``tectonic_pull_secret_path`` to the
|
|
location where you have stored the ``tectonic-license.txt`` and the
|
|
``config.json`` files downloaded in the previous step.
|
|
|
|
#. Set the ``tectonic_etcd_count`` to ``"3"``, so that you have a multi-node
|
|
etcd cluster that can tolerate a single node failure.
|
|
|
|
#. Set the ``tectonic_etcd_tls_enabled`` to ``"true"`` as this will enable TLS
|
|
connectivity between the etcd nodes and their clients.
|
|
|
|
#. Set the ``tectonic_master_count`` to ``"3"`` so that you cane tolerate a
|
|
single master failure.
|
|
|
|
#. Set the ``tectonic_worker_count`` to ``"2"``.
|
|
|
|
#. Set the ``tectonic_azure_location`` to ``"westeurope"`` if you want to host
|
|
the cluster in Azure's ``westeurope`` datacenter.
|
|
|
|
#. Set the ``tectonic_azure_ssh_key`` to the path of the public key created in
|
|
the previous step.
|
|
|
|
#. We recommend setting up or using a CA(Certificate Authority) to generate Tectonic
|
|
Console's server certificate(s) and adding it to your trusted authorities on the client side,
|
|
accessing the Tectonic Console i.e. Browser. If you already have a CA(self-signed or otherwise),
|
|
Set the ``tectonic_ca_cert`` and ``tectonic_ca_key`` configurations with the content
|
|
of PEM-encoded certificate and key files, respectively. For more information about, how to set
|
|
up a self-signed CA, Please refer to
|
|
:doc:`How to Set up self-signed CA <ca-installation>`.
|
|
|
|
#. Note that the ``tectonic_azure_client_secret`` is the same as the
|
|
``ARM_CLIENT_SECRET``.
|
|
|
|
#. Note that the URL for the Tectonic console using these settings will be the
|
|
cluster name set in the configutation file, the datacenter name and
|
|
``cloudapp.azure.com``. For example, if you named your cluster as
|
|
``test-cluster`` and specified the datacenter as ``westeurope``, the Tectonic
|
|
console will be available at ``test-cluster.westeurope.cloudapp.azure.com``.
|
|
|
|
#. Note that, if you do not specify ``tectonic_ca_cert``, a CA certificate will
|
|
be generated automatically and you will encounter the untrusted certificate
|
|
message on your client(Browser), when accessing the Tectonic Console.
|
|
|
|
|
|
Step 4: Configure kubectl
|
|
-------------------------
|
|
|
|
#. Refer to `this tutorial
|
|
<https://coreos.com/tectonic/docs/latest/tutorials/azure/first-app.html>`__
|
|
for instructions on how to download the kubectl configuration files for
|
|
your cluster.
|
|
|
|
#. Set the ``KUBECONFIG`` environment variable to make ``kubectl`` use the new
|
|
config file along with the existing configuration.
|
|
|
|
.. code:: bash
|
|
|
|
$ export KUBECONFIG=$HOME/.kube/config:/path/to/config/kubectl-config
|
|
|
|
# OR to only use the new configuration, try
|
|
|
|
$ export KUBECONFIG=/path/to/config/kubectl-config
|
|
|
|
Next, you can follow one of our following deployment templates:
|
|
|
|
* :doc:`node-on-kubernetes`.
|
|
|
|
|
|
Tectonic References
|
|
-------------------
|
|
|
|
#. https://coreos.com/tectonic/docs/latest/tutorials/azure/install.html
|
|
#. https://coreos.com/tectonic/docs/latest/troubleshooting/installer-terraform.html
|
|
#. https://coreos.com/tectonic/docs/latest/tutorials/azure/first-app.html |