Skip to content

Commit

Permalink
Make v0.2.0 as the default chart, to #29833753
Browse files Browse the repository at this point in the history
  • Loading branch information
cheyang committed Aug 19, 2020
1 parent d2c5ea7 commit 05755b2
Show file tree
Hide file tree
Showing 13 changed files with 1,371 additions and 0 deletions.
23 changes: 23 additions & 0 deletions charts/fluid/fluid/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
10 changes: 10 additions & 0 deletions charts/fluid/fluid/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
### 0.1.0

* support controller and webhook deployment
* Update CSI image


### 0.2.0

* Remove webhook
* Update dataset CRD
21 changes: 21 additions & 0 deletions charts/fluid/fluid/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
apiVersion: v2
name: fluid
description: A Helm chart to deploy fluid in Kubernetes

# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application

# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 0.2.0

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: 0.2.0
91 changes: 91 additions & 0 deletions charts/fluid/fluid/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# fluid

## Install

1. Download and extract the package

```
wget http://kubeflow.oss-cn-beijing.aliyuncs.com/fluid-0.2.0.tgz
tar -xvf fluid-0.2.0.tgz
```

2. Create a signed cert/key pair and store it in a Kubernetes secret that will be consumed by injector deployment

```
bash fluid/scripts/webhook-create-signed-cert.sh --service fluid-webhook --secret fluid-webhook-certs --namespace fluid-system
```

3. Deploy

```
helm install fluid fluid --set controller.image=registry.cn-huhehaote.aliyuncs.com/tensorflow-samples/fluid-controller:v0.1.0-9113c3b,webhook.image=registry.cn-huhehaote.aliyuncs.com/tensorflow-samples/fluid-webhook:v0.1.0-9113c3b,mount.image=registry.cn-huhehaote.aliyuncs.com/tensorflow-samples/fluid-mount
```

you will see follow:

```
NAME: fluid
LAST DEPLOYED: Wed May 13 20:19:54 2020
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
```

4. Patch the MutatingWebhookConfiguration by set caBundle with correct value from Kubernetes cluster:

```
cat fluid/scripts/webhookconfiguration.yaml | \
bash fluid/scripts/webhook-patch-ca-bundle.sh > \
/tmp/mutatingwebhook-ca-bundle.yaml
kubectl apply -f /tmp/mutatingwebhook-ca-bundle.yaml
```

5. Create default configuration for alluxio-engine

```
kubectl create ns alluxio-system
cp fluid/advanced.yaml advanced.yaml
kubectl create cm default-alluxio-template --namespace alluxio-system --from-file=data=advanced.yaml
```

6. Use the follow yaml to create dataset

```
apiVersion: data.fluid.io/v1alpha1
kind: Dataset
metadata:
name: mydata
namespace: default
spec:
mounts:
- mountPoint: oss://imagenet-huabei5/
name: imagenet
options:
fs.oss.accessKeyId: xxx
fs.oss.accessKeySecret: yyy
fs.oss.endpoint: oss-cn-huhehaote-internal.aliyuncs.com
- mountPoint: oss://coco-6g/
name: coco
options:
fs.oss.accessKeyId: xxx
fs.oss.accessKeySecret: yyy
fs.oss.endpoint: oss-cn-huhehaote-internal.aliyuncs.com
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: aliyun.accelerator/nvidia_name
operator: In
values:
- Tesla-P100-PCIE-16GB
prefetchStrategy: Never
```

## Uninstall

```
helm delete fluid
kubectl delete -f fluid/templates/crd/
kubectl delete mutatingwebhookconfigurations fluid-mutating-configuration
```
110 changes: 110 additions & 0 deletions charts/fluid/fluid/crds/data.fluid.io_alluxiodataloads.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@

---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
name: alluxiodataloads.data.fluid.io
spec:
group: data.fluid.io
names:
kind: AlluxioDataLoad
listKind: AlluxioDataLoadList
plural: alluxiodataloads
singular: alluxiodataload
scope: Namespaced
subresources:
status: {}
validation:
openAPIV3Schema:
description: AlluxioDataLoad is the Schema for the alluxiodataloads API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: AlluxioDataLoadSpec defines the desired state of AlluxioDataLoad
properties:
datasetName:
description: Name of the dataset that will be prefetched
minLength: 1
type: string
path:
description: Mount path of the dataset in Alluxio. Defaults to /{datasetName}
if not specified. (e.g. /my-dataset/cifar10)
type: string
slotsPerNode:
description: Specifies the number of slots per worker used in hostfile.
Defaults to 2.
format: int32
type: integer
required:
- datasetName
type: object
status:
description: AlluxioDataLoadStatus defines the observed state of AlluxioDataLoad
properties:
conditions:
description: The latest available observations of an object's current
state.
items:
description: DataloadCondition describes current state of a Dataload.
properties:
lastProbeTime:
description: The last time this condition was updated.
format: date-time
type: string
lastTransitionTime:
description: Last time the condition transitioned from one status
to another.
format: date-time
type: string
message:
description: A human readable message indicating details about
the transition.
type: string
reason:
description: The reason for the condition's last transition.
type: string
status:
description: Status of the condition, one of True, False, Unknown.
type: string
type:
description: Type of Dataload condition, Complete or Failed.
type: string
required:
- status
- type
type: object
type: array
phase:
description: 'The latest available observation of a dataload''s running
phase. One of the four phases: `Pending`, `Loading`, `Complete` and
`Failed`'
type: string
required:
- phase
type: object
type: object
version: v1alpha1
versions:
- name: v1alpha1
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
Loading

0 comments on commit 05755b2

Please sign in to comment.