Add docs for suggested cluster template and debugging hints
Change-Id: Ica00d078bddafd783ee6d24b0ac9151a8b57c3e1
This commit is contained in:
parent
af54ecc08b
commit
3fa5ab07cc
|
@ -91,3 +91,108 @@ This role supports two tags: ``magnum-install`` and ``magnum-config``.
|
|||
The ``magnum-install`` tag can be used to install and upgrade. The
|
||||
``magnum-config`` tag can be used to maintain configuration of the
|
||||
service.
|
||||
|
||||
Post-deployment configuration
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Deploying the magnum service makes the API components available to use.
|
||||
Additional configuration is required to make a working Kubernetes cluster,
|
||||
including loading the correct Image and setting up a suitable Cluster Template
|
||||
|
||||
This example is intended to show the steps required and should be updated
|
||||
as needed for the version of k8s and associated components. The example has
|
||||
been tested by a deployer with magnum SHA
|
||||
fe35af8ef5d9e65a4074aa3ba3ed3116b7322415.
|
||||
|
||||
First, upload the coreos image. this can be done either manually or using
|
||||
the os_magnum playbooks.
|
||||
|
||||
Manual configuration:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
wget https://builds.coreos.fedoraproject.org/prod/streams/stable/builds/32.20201004.3.0/x86_64/fedora-coreos-32.20201004.3.0-openstack.x86_64.qcow2.xz
|
||||
|
||||
(convert to raw if necessary here for ceph backed storage)
|
||||
|
||||
openstack image create "fedora-coreos-latest" --disk-format raw --container-format bare \
|
||||
--file fedora-coreos-32.20201004.3.0-openstack.x86_64.raw --property os_distro='fedora-coreos'
|
||||
|
||||
Via os_magnum playbooks and data in user_variables.yml
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
magnum_glance_images:
|
||||
- name: fedora-coreos-latest
|
||||
disk_format: qcow2
|
||||
image_format: bare
|
||||
public: true
|
||||
file: https://builds.coreos.fedoraproject.org/prod/streams/stable/builds/31.20200210.3.0/x86_64/fedora-coreos-31.20200210.3.0-openstack.x86_64.qcow2.xz
|
||||
distro: "coreos"
|
||||
checksum: "sha256:9a5252e24b82a5edb1ce75b05653f59895685b0f1028112462e908a12deae518"
|
||||
|
||||
|
||||
Second, create the cluster template.
|
||||
|
||||
Manual configuration:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
openstack coe cluster template create <name> --coe kubernetes --external-network <ext-net> \
|
||||
--image "fedora-coreos-latest" --master-flavor <flavor> --flavor <flavor> --master-lb-enabled \
|
||||
--docker-volume-size 50 --network-driver calico --docker-storage-driver overlay2 \
|
||||
--volume-driver cinder \
|
||||
--labels boot_volume_type=<your volume type>,boot_volume_size=50,kube_tag=v1.18.6,availability_zone=nova,helm_client_url="https://get.helm.sh/helm-v3.4.0-linux-amd64.tar.gz",helm_client_sha256="270acb0f085b72ec28aee894c7443739271758010323d72ced0e92cd2c96ffdb",helm_client_tag="v3.4.0",etcd_volume_size=50,auto_scaling_enabled=true,auto_healing_enabled=true,auto_healing_controller=magnum-auto-healer,etcd_volume_type=<your volume type>,kube_dashboard_enabled=True,monitoring_enabled=True,ingress_controller=nginx,cloud_provider_tag=v1.19.0,magnum_auto_healer_tag=v1.19.0,container_infra_prefix=<docker-registry-without-rate-limit> -f yaml -c uuid
|
||||
|
||||
The equivalent Cluster Template configuration through os_magnum and data in
|
||||
user_variables.yml
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
magnum_cluster_templates:
|
||||
- name: <name>
|
||||
coe: kubernetes
|
||||
external_network_id: <network-id>
|
||||
image_id: <image-id>
|
||||
master_flavor_id: <master-flavor-id>
|
||||
flavor_id: <minon-flavor-id>
|
||||
master_lb_enabled: true
|
||||
docker_volume_size: 50
|
||||
network_driver: calico
|
||||
docker_storage_driver: overlay2
|
||||
volume_driver: cinder
|
||||
labels:
|
||||
boot_volume_type: <your volume type>
|
||||
boot_volume_size: 50
|
||||
kube_tag: v1.18.6
|
||||
availability_zone: nova
|
||||
helm_client_url: "https://get.helm.sh/helm-v3.4.0-linux-amd64.tar.gz"
|
||||
helm_client_sha256: "270acb0f085b72ec28aee894c7443739271758010323d72ced0e92cd2c96ffdb"
|
||||
helm_client_tag: v3.4.0
|
||||
etcd_volume_size: 50
|
||||
auto_scaling_enabled: true
|
||||
auto_healing_enabled: true
|
||||
auto_healing_controller: magnum-auto-healer
|
||||
etcd_volume_type: <your volume type>
|
||||
kube_dashboard_enabled: True
|
||||
monitoring_enabled: True
|
||||
ingress_controller: nginx
|
||||
cloud_provider_tag: v1.19.0
|
||||
magnum_auto_healer_tag: v1.19.0
|
||||
container_infra_prefix: <docker-registry-without-rate-limit>
|
||||
|
||||
Note that openstack-ansible deploys the Magnum API service. It is not in scope
|
||||
for openstack-ansible to maintain a guaranteed working cluster template as this
|
||||
will vary depending on the precise version of Magnum deployed and the required
|
||||
version of k8s and it's dependancies.
|
||||
|
||||
It will be necessary to specify a docker registry (potentially hosting your own
|
||||
mirror or cache) which does not enforce rate limits when deploying Magnum in a
|
||||
production environment.
|
||||
|
||||
Post-deployment debugging
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
If the k8s cluster does not create properly, or times out during creation, then
|
||||
the cloud-init logs in the master/minion nodes should be examined, also check
|
||||
the heat-config log and heat-container-agent status.
|
||||
|
|
Loading…
Reference in New Issue