Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jira DOC-784: Remove {{expand}} from K8s FAQs #1459

Merged
merged 1 commit into from
Jul 21, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 22 additions & 54 deletions content/platforms/faqs/_index.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,38 @@
---
Title: FAQs
Title: Redis Enterprise on Kubernetes FAQs
linkTitle: FAQs
description:
weight: 100
alwaysopen: false
categories: ["Platforms"]
---
Here are some frequently asked questions about Redis Enterprise on integration platforms.

## RS on Kubernetes
## What is an Operator?

{{< expand-control >}}
{{% expand "What is an Operator?" %}}
An Operator is a [Kubernetes custom controller]( https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources#custom-controllers) which extends the native K8s API. Refer to the article [Redis Enterprise K8s Operator-based deployments – Overview]({{< relref "/platforms/kubernetes/concepts/operator.md" >}}).
{{% /expand %}}

{{% expand "Does Redis Enterprise Operator support multiple clusters per namespace?" %}}
## Does Redis Enterprise Operator support multiple clusters per namespace?

The Redis Enterprise Operator may only deploy a single Redis Enterprise Cluster per namespace. Each Redis Enterprise Cluster can run multiple databases while maintaining high capacity and performance.
{{% /expand %}}

{{% expand "Do I need to deploy a Redis Enterprise Operator per namespace?" %}}
## Do I need to deploy a Redis Enterprise Operator per namespace?

Yes, one Operator per namespace, each managing a single Redis Enterprise Cluster.

Each Redis Enterprise Cluster can run multiple databases while maintaining high capacity and performance.
{{% /expand %}}

{{% expand "How can I see the CRDs (Custom Resource Definitions) created for my cluster?" %}}
## How can I see the Custom Resource Definitions (CRDs) created for my cluster?

Run the following:

```sh
kubectl get rec
kubectl describe rec my-cluster-name
```

{{% /expand %}}
## How can I change the cluster admin user password?

{{% expand "How can I change the cluster admin user password?" %}}
The cluster admin user password is created by the Operator during the deployment of the Redis Enterprise cluster and is stored in a Kubernetes secret.

{{< warning >}}
Expand All @@ -44,35 +42,34 @@ Changing the admin password impacts the proper operation of the K8s deployment.

If you must use a different admin password, create an additional user with admin privileges and configure with the new password.

{{% /expand %}}
## How is using Redis Enterprise Operator superior to using Helm Charts?

{{% expand "How is using Redis Enterprise Operator superior to using Helm Charts?" %}}
While Helm Charts help automate multi-resource deployments, they do not provide the lifecycle management and lack many of the benefits provided by the Operator:

- Operators are a K8s standards while Helm is a proprietary tool
- Using Operators means the better packaging for different Kubernetes deployments and distributions as Helm is not supported in a straightforward way everywhere
- Operators allow full control over the Redis Enterprise Cluster lifecycle
- We’ve experienced difficulties managing state and lifecycle of the application through Helm as it essentially only allows to determine the resources being deployed, which is a problem when upgrading and evolve the Redis Enterprise Cluster settings
- Operators support advanced flows which would otherwise require using an additional 3rd party
{{% /expand %}}

{{% expand "How to connect to the Redis Enterprise Cluster UI?" %}}
Create a port forwarding rule to expose the cluster UI port. For example, when the default port 8443 is used, run:
## How to connect to the Redis Enterprise Cluster user interface

Create a port forwarding rule to expose the cluster user interface (UI) port. For example, when the default port 8443 is used, run:

```sh
kubectl port-forward –namespace <namespace> service/<name>-cluster-ui 8443:8443
```

Connect to the UI by pointing your browser to `https://localhost:8443`
{{% /expand %}}

{{% expand "How should I size Redis Enterprise Cluster nodes?" %}}
## How should I size Redis Enterprise Cluster nodes?

For nodes hosting the Redis Enterprise Cluster statefulSet pods, please follow the guidelines provided for Redis Enterprise in the [hardware requirements]({{< relref "/rs/administering/designing-production/hardware-requirements.md" >}}).

For additional information please also refer to [Kubernetes Operator Deployment – Persistent Volumes]({{< relref "/platforms/kubernetes/concepts/persistent-volumes.md" >}}).
{{% /expand %}}

{{% expand "How to retrieve the username/password for a Redis Enterprise Cluster?" %}}
## How to retrieve the username/password for a Redis Enterprise Cluster?

The Redis Enterprise Cluster stores the username/password of the UI in a K8s secret.

To retrieve, first, find the secret by retrieving secrets and locating one of type Opaque with a name identical or containing your Redis Enterprise Cluster name.
Expand All @@ -99,49 +96,27 @@ A possible response may look like this:

```yaml
apiVersion: v1

data:

password: Q2h5N1BBY28=

username: cmVkaXNsYWJzLnNi

kind: Secret

metadata:

creationTimestamp: 2018-09-03T14:06:39Z

labels:

app: redis-enterprise

redis.io/cluster: test

name: redis-enterprise-cluster

namespace: redis

ownerReferences:

– apiVersion: app.redislabs.com/v1alpha1

blockOwnerDeletion: true

controller: true

kind: RedisEnterpriseCluster

name: test

uid: 8b247469-c715-11e8-a5d5-0a778671fc2e

resourceVersion: “911969”

selfLink: /api/v1/namespaces/redis/secrets/redis-enterprise-cluster

uid: 8c4ff52e-c715-11e8-80f5-02cc4fca9682

type: Opaque
```

Expand All @@ -156,9 +131,8 @@ Do not change the default admin user password in the Redis Enterprise admin cons
Changing the admin password impacts the proper operation of the K8s deployment.
{{< /warning >}}

{{% /expand %}}
## How to retrieve the username/password for a Redis Enterprise Cluster through the OpenShift Console?

{{% expand "How to retrieve the username/password for a Redis Enterprise Cluster through the OpenShift Console?" %}}
To retrieve your password, navigate to the OpenShift management console, select your project name, go to Resources->Secrets->your_cluster_name

Retrieve your password by selecting “Reveal Secret.”
Expand All @@ -169,11 +143,9 @@ Do not change the default admin user password in the Redis Enterprise admin cons
Changing the admin password impacts the proper operation of the K8s deployment.
{{< /warning >}}

{{% /expand %}}
## What capabilities, privileges and permissions are defined by the Security Context Constraint (SCC) yaml and the Pod Security Policy (PSP) yaml?

{{% expand "What capabilities, privileges and permissions are defined by the Security Context Constraint (SCC) yaml and the Pod Security Policy (PSP) yaml?" %}}

The scc.yaml file is defined like this:
The `scc.yaml` file is defined like this:

```yaml
kind: SecurityContextConstraints
Expand All @@ -195,7 +167,7 @@ seLinuxContext:

([latest version on GitHub](https://raw.githubusercontent.com/RedisLabs/redis-enterprise-k8s-docs/master/scc.yaml))
lanceleonard marked this conversation as resolved.
Show resolved Hide resolved

The psp.yaml file is defined like this:
The `psp.yaml` file is defined like this:

```yaml
apiVersion: extensions/v1beta1
Expand Down Expand Up @@ -241,7 +213,3 @@ and allows that account to create pods with the PSP shown above.
- The NET_RAW capability requirement in PSP was removed.
- The allowPrivilegeEscalation is set to 'false' by default.
{{< /note >}}

{{% /expand %}}

{{< /expand-control >}}