Skip to content

Commit

Permalink
Update CaaSP chapter based on doc review (#843)
Browse files Browse the repository at this point in the history
  • Loading branch information
btat authored Jun 2, 2020
1 parent bf2ec30 commit 3081538
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 125 deletions.
63 changes: 27 additions & 36 deletions xml/cap_depl_caasp.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
easy to operate. As a result, enterprises that use &caasp; can reduce
application delivery cycle times and improve business agility. This chapter
describes the steps to prepare a &productname; deployment on &caasp;. See
<link xlink:href="https://documentation.suse.com/suse-caasp/4.1/"/>
<link xlink:href="&caasp-url;/"/>
for more information on &caasp;.
</para>

Expand All @@ -42,25 +42,9 @@
<itemizedlist>
<listitem>
<para>
Access to one of the following platforms to deploy &caasp;:
Access to one of the platforms listed at
<link xlink:href="&caasp-url;/single-html/caasp-deployment/#_platform"/> to deploy &caasp;.
</para>
<itemizedlist>
<listitem>
<para>
&suse; OpenStack Cloud 8
</para>
</listitem>
<listitem>
<para>
&vmware; VMware ESXi 6.7.0.20000
</para>
</listitem>
<listitem>
<para>
Bare Metal x86_64
</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>
Expand Down Expand Up @@ -170,7 +154,7 @@

<para>
For steps to deploy a &caasp; cluster, refer to the &caasp; Deployment Guide
at <link xlink:href="https://documentation.suse.com/suse-caasp/4.1/single-html/caasp-deployment/"/>
at <link xlink:href="&caasp-url;/single-html/caasp-deployment/"/>
</para>
<para>
When proceeding through the instructions, take note of the following to
Expand All @@ -187,7 +171,7 @@
<para>
This ensures the presence of extra CRI-O capabilities compatible with
&docker; containers. For more details refer to the
<link xlink:href="https://documentation.suse.com/suse-caasp/4.1/single-html/caasp-deployment/#_transitioning_from_docker_to_cri_o"/>
<link xlink:href="&caasp-url;/single-html/caasp-deployment/#_transitioning_from_docker_to_cri_o"/>
</para>
</listitem>
</itemizedlist>
Expand All @@ -199,18 +183,17 @@
<title>Storage Class</title>

<para>
&productname; requires a persistent storage class to store persistent data
inside a persistent volume (PV). When a PV is provisioned, the storage class'
provisioner determines the volume plugin used. Create a storage class using a
provisioner (see
<link xlink:href="https://kubernetes.io/docs/concepts/storage/storage-classes/#provisioner"/>)
that fits your storage strategy. Examples of provisioners include:
In &productname; some instance groups, such as <literal>bits</literal>,
<literal>database</literal> and <literal>singleton-blobstore</literal>
require a storage class. To learn more about storage classes, see
<link xlink:href="https://kubernetes.io/docs/concepts/storage/storage-classes/"/>.
Examples of provisioners include:
</para>
<itemizedlist>
<listitem>
<para>
&ses; (see
<link xlink:href="https://documentation.suse.com/suse-caasp/4.1/single-html/caasp-admin/#_RBD-dynamic-persistent-volumes"/>)
<link xlink:href="&caasp-url;/single-html/caasp-admin/#_RBD-dynamic-persistent-volumes"/>)
</para>
<para>
If you are using &ses; you must copy the Ceph admin secret to the
Expand All @@ -228,12 +211,20 @@ sed's/"namespace": "default"/"namespace": "scf"/' | kubectl create --filename -
</listitem>
</itemizedlist>
<para>
By default &productname; assumes your storage class is named
<literal>persistent</literal>. Examples in this guide follow this assumption.
If your storage class uses a different name, adjust the
<literal>kube.storage_class.persistent</literal> value in your configuration
file.
By default, &productname; will use the cluster&apos;s default storage class.
To designate or change the default storage class, refer to
<link xlink:href="https://kubernetes.io/docs/tasks/administer-cluster/change-default-storage-class/"/>
</para>
<para>
A storage class can be chosen by setting the
<literal>kube.storage_class</literal> value in your &values-filename;
configuration file as seen in this example. Note that if there is no storage
class designated as the default this values
<emphasis role="bold">must</emphasis> be set.
</para>
<screen xmlns="http://docbook.org/ns/docbook">kube:
storage_class: <replaceable>my-storage-class</replaceable>
</screen>
</sect1>

<sect1 xml:id="sec-cap-caasp-config">
Expand All @@ -252,9 +243,9 @@ sed's/"namespace": "default"/"namespace": "scf"/' | kubectl create --filename -
&values-file-changes;

<para>
Ensure <literal>DOMAIN</literal> maps to the load balancer configured for
Ensure <literal>system_domain</literal> maps to the load balancer configured for
your &caasp; cluster (see
<link xlink:href="https://documentation.suse.com/suse-caasp/4.1/single-html/caasp-deployment/#loadbalancer"/>).
<link xlink:href="&caasp-url;/single-html/caasp-deployment/#loadbalancer"/>).
</para>

&supported-domains;
Expand Down Expand Up @@ -365,7 +356,7 @@ suse https://kubernetes-charts.suse.com/
<step>
<para>
Add additional nodes to your &susecaaspreg; cluster as described in
<link xlink:href="https://documentation.suse.com/suse-caasp/4.1/html/caasp-admin/_cluster_management.html#adding_nodes"/>.
<link xlink:href="&caasp-url;/html/caasp-admin/_cluster_management.html#adding_nodes"/>.
</para>
</step>
<step>
Expand Down
1 change: 1 addition & 0 deletions xml/entity-decl.ent
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@

<!ENTITY caasp "&suse; CaaS Platform">
<!ENTITY susecaaspreg "&suse;&reg; CaaS Platform">
<!ENTITY caasp-url "https://documentation.suse.com/suse-caasp/4.2">
<!ENTITY cf "Cloud Foundry">
<!ENTITY scf "&suse; Cloud Foundry">
<!ENTITY uaa "User Account and Authentication">
Expand Down
110 changes: 21 additions & 89 deletions xml/repeated-content-decl.ent
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ Before you start deploying &productname;, review the following documents:
<link xlink:href="https://kubernetes.io/docs/reference/kubectl/overview/"/>.
</para>
<para>
For &slea; 12 SP3 or 15 systems, install the package
For &slea; 12 SP3 or 15 SP1 systems, install the package
<package>kubernetes-client</package> from the <emphasis>Public Cloud</emphasis>
module.
</para>
Expand Down Expand Up @@ -1275,17 +1275,24 @@ perl -ne &apos;/^sizing/..0 and do { print $.,":",$_ if /^ [a-z]/ || /high avail
<filename>&values-file;</filename>, should include the following.
</para>
<screen>high_availability: true</screen>
&sizing-priority;
</sect3>
<sect3>
<title>Using Custom Sizing Configurations</title>
<para>
Another method to make your &productname; deployment highly available is
to explicitly configure the instance count of a instance group.
to explicitly configure the instance count of an instance group.
</para>

To see the full list of configurable instance groups, refer to default &kubecf; <filename>values.yaml</filename> file in the appendix at <xref linkend="app-kubecf-values-yaml"/>.
&sizing-priority;

When sizing values are specified, it takes precedence over the <literal>high_availability</literal> property.
<para>
To see the full list of configurable instance groups, refer to default
&kubecf; <filename>values.yaml</filename> file in the appendix at
<xref linkend="app-kubecf-values-yaml"/>.
</para>

<para>
The following is an of a example &ha; configuration. The example values are not meant to be
copied, as these depend on your particular deployment and requirements.
</para>
Expand Down Expand Up @@ -1335,91 +1342,6 @@ perl -ne &apos;/^sizing/..0 and do { print $.,":",$_ if /^ [a-z]/ || /high avail
tcp_router:
instances: 2
</screen>
<!-- TODO-CAP2 Verify if still valid
<para>
When using custom sizing configurations, take note that the
<literal>mysql</literal> instance group for <literal>scf</literal> must have
have an odd number of instances.
</para>
-->
</sect3>
</sect2>
<sect2 xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Availability Zones</title>
<para>
Availability Zones (AZ) are logical arrangements of compute nodes within a
region that provide isolation from each other. A deployment that is
distributed across multiple AZs can use this separation to increase
resiliency against downtime in the event a given zone experiences issues.
</para>
<para>
Refer to the following for platform-specific information about availability
zones:
</para>
<itemizedlist>
<listitem>
<para>
<link xlink:href="https://azure.microsoft.com/en-ca/updates/availability-zones-az-support-for-aks/"/>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html"/>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://cloud.google.com/compute/docs/regions-zones/"/>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://docs.cloudfoundry.org/concepts/high-availability.html#azs"/>
</para>
</listitem>
</itemizedlist>
<sect3>
<title>Availability Zone Information Handling</title>
<para>
In &cap;, availability zone handling is done using the
<literal>AZ_LABEL_NAME</literal> &helm; chart value. By default,
<literal>AZ_LABEL_NAME</literal> is set to
<literal>failure-domain.beta.kubernetes.io/zone</literal>, which is the
predefined &kube; label for availability zones. On most public cloud
providers, nodes will already have this label set and availability zone
support will work without further configuration. For on-premise
installations, it is recommended that nodes are labeled with the same label.
</para>
<para>
Run the following to see the labels on your nodes.
</para>
<screen>&prompt.user;kubectl get nodes --show-labels</screen>
<para>
To label a node, use <command>kubectl label nodes </command>. For example:
</para>
<screen>&prompt.user;kubectl label nodes <replaceable>cap-worker-1</replaceable> <replaceable>failure-domain.beta.kubernetes.io/zone=zone-1</replaceable></screen>
<para>
To see which node and availability zone a given
<literal>diego-cell</literal> pod is assigned to, refer to the following
example:
</para>
<screen>&prompt.user;kubectl logs <replaceable>diego-cell-0</replaceable> --namespace kubecf | grep ^AZ</screen>
<para>
For more information on the
<literal>failure-domain.beta.kubernetes.io/zone</literal> label, see
<link xlink:href="https://kubernetes.io/docs/reference/kubernetes-api/labels-annotations-taints/#failure-domainbetakubernetesiozone"/>.
</para>
<para>
Note that due to a bug in &cap; 1.4 and earlier, this label was not working for <literal>AZ_LABEL_NAME</literal>.
</para>
<important>
<title>Performance with Availability Zones</title>
<para>
For the best performance, all availability zones should have a similar
number of nodes because app instances will be evenly distributed, so that
each zone has about the same number of instances.
</para>
</important>
</sect3>
</sect2>'>

Expand Down Expand Up @@ -1931,3 +1853,13 @@ User: [email protected]
# Use the password from the previous step when requested.
&prompt.user;cf auth admin "${admin_pass}"
</screen>'>

<!--ENTITY sizing-priority...................................................-->

<!ENTITY sizing-priority
'<important xmlns="http://docbook.org/ns/docbook">
<title>Sizing Priority</title>
<para>
When sizing values are specified, it takes precedence over the <literal>high_availability</literal> property.
</para>
</important>'>

0 comments on commit 3081538

Please sign in to comment.