Skip to content

Commit

Permalink
use camel case in field name; document new allowSharedNoDisks option
Browse files Browse the repository at this point in the history
Signed-off-by: Prashanth Dintyala <vdintyala@nvidia.com>
  • Loading branch information
saiprashanth173 committed Dec 14, 2021
1 parent 40a286e commit 1b671c3
Show file tree
Hide file tree
Showing 4 changed files with 104 additions and 40 deletions.
21 changes: 20 additions & 1 deletion operator/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ To deploy AIS operator on an existing K8s cluster, execute the following command
AIS operator employs [admission webhooks](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/) to enforce the validity of the managed AIS cluster.
AIS operator runs a webhook server with `tls` enabled, responsible for validating each AIS cluster resource being created or updated.
[Operator-SDK](https://sdk.operatorframework.io/) recommends using [cert-manager](https://github.com/jetstack/cert-manager) for provisioning the certificates required by the webhook server, however, any solution which can provide certificates to the AIS operator pod at location `/tmp/k8s-webhook-server/serving-certs/tls.(crt/key)`, should work.

For quick deployment, the `deploy` command provides an option to deploy a basic version of `cert-manager`. However, for more advanced deployments it's recommended to follow [cert-manager documentation](https://cert-manager.io/docs/installation/kubernetes/).

```console
Expand Down Expand Up @@ -75,6 +75,25 @@ $ minikube tunnel

For more information and details on *minikube tunneling*, please see [this link](https://minikube.sigs.K8s.io/docs/commands/tunnel/).

### Deploying cluster with shared or no disks

For development/testing K8s setup where the `mountpaths` attached to the storage targets pods are not block devices, i.e. have no disks, or share the disk, will result in the target pods to fail with `has no disks` or `filesystem sharing is not allowed` error.
To deploy AIStore cluster on such K8s environments is possible by setting the `allowSharedNoDisks` property to `true`, as follows:

```yaml
# config/samples/ais_v1beta1_sample.yaml
apiVersion: ais.nvidia.com/v1beta1
kind: AIStore
metadata:
name: aistore-sample
spec:
size: 4 # > number of K8s nodes
allowSharedNoDisks: true
...
```

> **WARNING:** It is NOT recommended to set the `allowSharedNoDisks` property to `true` for production deployments.

### Locally testing multi-node AIS cluster

Expand Down
2 changes: 1 addition & 1 deletion operator/api/v1beta1/aistore_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ type TargetSpec struct {
Mounts []Mount `json:"mounts"`
// AllowSharedOrNoDisks - disables FsID and mountpath disks validation on target nodes. NOT recommended for production deployments
// +optional
AllowSharedOrNoDisks *bool `json:"allow_shared_no_disks,omitempty"`
AllowSharedOrNoDisks *bool `json:"allowSharedNoDisks,omitempty"`
}

type Mount struct {
Expand Down
Loading

0 comments on commit 1b671c3

Please sign in to comment.