Repository created to host StorageOS installation procedures and examples of usage and setup.
storageos / deploy Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
- name: Fetch new etcd
get_url:
url: https://github.com/coreos/etcd/releases/download/v{{ etcd_version }}/etcd-v{{ etcd_version }}-linux-amd64.tar.gz
dest: /tmp/
Maybe:
- name: Fetch new etcd
get_url:
url: https://github.com/etcd-io/etcd/releases/download/v{{ etcd_version }}/etcd-v{{ etcd_version }}-linux-amd64.tar.gz
dest: /tmp/
- name: Set up persistent etcd data directory
file:
path: /var/lib/{{ installation_dir }}
state: directory
owner: root
group: root
mode: 0775
Should be
- name: Set up persistent etcd data directory
file:
path: {{ installation_dir }}
state: directory
owner: root
group: root
mode: 0775
On both minikube or docker-for-desktop, storageos pod fails to start with Error: failed to start container "enable-lio": Error response from daemon: linux mounts: path /sys is mounted on /sys but it is not a shared mount
And I am not sure how to install linux-image-extra-$(uname -r)
on OSX
Since the last build of the docker image, the CRD created in OpenShift using the examples, is not relevant anymore, as it specifies v1alpha1.
Error:
no matches for kind "Job" in version "storageos.com/v1"
I want to use storageos on home kubernetes cluster but it did not works.
Detailed information:
KVM guests with Ubuntu 18.04
k8s-master:~# uname -a
Linux k8s-master 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Kubernetes version:
k8s-master:~# kubectl version
Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.2", GitCommit:"66049e3b21efe110454d67df4fa62b08ea79a19b", GitTreeState:"clean", BuildDate:"2019-05-16T16:23:09Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.2", GitCommit:"66049e3b21efe110454d67df4fa62b08ea79a19b", GitTreeState:"clean", BuildDate:"2019-05-16T16:14:56Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}
k8s-worker:~$ kubectl version
Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.2", GitCommit:"66049e3b21efe110454d67df4fa62b08ea79a19b", GitTreeState:"clean", BuildDate:"2019-05-16T16:23:09Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}
Docker version:
k8s-master:~# docker version
Client:
Version: 18.09.6
...
Server: Docker Engine - Community
Engine:
Version: 18.09.6
API version: 1.39 (minimum version 1.12)
Go version: go1.10.8
k8s-worker:~# docker version
Client:
Version: 18.09.6
...
Server: Docker Engine - Community
Engine:
Version: 18.09.6
API version: 1.39 (minimum version 1.12)
Go version: go1.10.8
Cluster information
k8s-master:~# kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
k8s-master Ready master 10d v1.14.2 192.168.100.192 <none> Ubuntu 18.04.2 LTS 4.15.0-50-generic docker://18.9.6
k8s-worker Ready <none> 10d v1.14.2 192.168.100.193 <none> Ubuntu 18.04.2 LTS 4.15.0-50-generic docker://18.9.6
I installed the storageos based on the documentation.
Steps:
git clone https://github.com/storageos/deploy.git storageos
cd storageos/k8s/deploy-storageos/cluster-operator
./deploy-operator.sh
then verified the pod:
kubectl -n storageos-operator get pod
I created a secret and a cluster definition:
kubectl create -f - <<END
apiVersion: v1
kind: Secret
metadata:
name: "storageos-api"
namespace: "default"
labels:
app: "storageos"
type: "kubernetes.io/storageos"
data:
apiUsername: ********
apiPassword: ********
END
then
kubectl create -f - <<END
apiVersion: "storageos.com/v1"
kind: StorageOSCluster
metadata:
name: "example-storageos"
spec:
secretRefName: "storageos-api" # Reference the Secret created in the previous step
secretRefNamespace: "default" # Namespace of the Secret
images:
nodeContainer: "storageos/node:1.2.1" # StorageOS version
resources:
requests:
memory: "512Mi"
END
After these steps
i verified the storageclass and everything.
k8s-master:~# kubectl get all --all-namespaces |grep storage
storageos-operator pod/storageoscluster-operator-77d8656c5d-6b94z 1/1 Running 1 3h22m
storageos pod/storageos-daemonset-2dvl2 1/1 Running 2 3h18m
storageos pod/storageos-daemonset-4x82s 1/1 Running 1 3h18m
storageos service/storageos ClusterIP 10.101.224.93 <none> 5705/TCP 3h18m
storageos daemonset.apps/storageos-daemonset 2 2 2 2 2 <none> 3h18m
storageos-operator deployment.apps/storageoscluster-operator 1/1 1 1 3h22m
storageos-operator replicaset.apps/storageoscluster-operator-77d8656c5d 1 1 1 3h22m
Finally:
kubectl apply -f k8s/examples/pvc.yaml -n smoke
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-1
annotations:
volume.beta.kubernetes.io/storage-class: fast
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
k8s-master:~/storageos# kubectl get pvc -n smoke
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
pvc-1 Pending fast 160m
k8s-master:~/storageos# kubectl describe pvc pvc-1 -n smoke
Name: pvc-1
Namespace: smoke
StorageClass: fast
Status: Pending
Volume:
Labels: <none>
Annotations: kubectl.kubernetes.io/last-applied-configuration:
{"apiVersion":"v1","kind":"PersistentVolumeClaim","metadata":{"annotations":{"volume.beta.kubernetes.io/storage-class":"fast"},"name":"pvc...
volume.beta.kubernetes.io/storage-class: fast
volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/storageos
Finalizers: [kubernetes.io/pvc-protection]
Capacity:
Access Modes:
VolumeMode: Filesystem
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning ProvisioningFailed 25m (x34 over 161m) persistentvolume-controller Failed to provision volume with StorageClass "fast": API error (Requested object not found. Does this item exist?): 404 page not found
Warning ProvisioningFailed 46s (x44 over 161m) persistentvolume-controller Failed to provision volume with StorageClass "fast": API error (Unauthenticated access of secure endpoint, please retry after authentication): Failed to find account
Mounted By: <none>
I think i do everything by default.. so i really dont understand why can not auth when every secret is on good place and i can use the storageos-cli.
export STORAGEOS_USERNAME=storageadmin
export STORAGEOS_PASSWORD=*****
export STORAGEOS_HOST=10.101.224.93
k8s-master:~/storageos# storageos cluster health
NODE CP_STATUS DP_STATUS
k8s-master Healthy Healthy
but
storageos volume ls
API error (Unauthenticated access of secure endpoint, please retry after authentication): no token present in request
Please help me to move forward this issue.
storageos/node:1.0.0-rc4
I get the following panic:
time="2018-09-25T21:17:04Z" level=info msg="by using this product, you are agreeing to the terms of the StorageOS Ltd. End User Subscription Agreement (EUSA) found at: https://eusa.storageos.com" module=command
time="2018-09-25T21:17:04Z" level=info msg=starting address=140.82.30.224 hostname=vultr id=fc5001e8-6b22-0610-12d9-35df3fdc88b8 join=XXX.XXX.XXX.XXX module=command version="StorageOS 1.0.0 (0bbd203), built: 2018-07-18T163409Z"
panic: runtime error: slice bounds out of range
goroutine 1 [running]:
code.storageos.net/storageos/control/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata.(*EC2Metadata).Region(0xc42000e170, 0xc4201fd000, 0x16, 0xc42047af40, 0xc42092d800)
/go/src/code.storageos.net/storageos/control/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go:122 +0xa3
code.storageos.net/storageos/control/integration/iaas/ec2.(*Provider).GetZone(0xc42000d140, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc4205da778, 0xc4205da820)
/go/src/code.storageos.net/storageos/control/integration/iaas/ec2/provider.go:112 +0x59
code.storageos.net/storageos/control/controlplane.applyProviderMetadata(0xc420a00000, 0x462b700, 0xc42000d140, 0x0, 0xc4200107b0)
/go/src/code.storageos.net/storageos/control/controlplane/node.go:213 +0x1de
code.storageos.net/storageos/control/controlplane.applyMetadata(0xc420a00000, 0x9, 0x45fffd0)
/go/src/code.storageos.net/storageos/control/controlplane/node.go:208 +0x66
code.storageos.net/storageos/control/controlplane.writeNodeBootstrapConfig(0xc4201e0b60, 0xc4202b4900, 0x4616740, 0xc420506a20)
/go/src/code.storageos.net/storageos/control/controlplane/node.go:173 +0xbec
code.storageos.net/storageos/control/controlplane.Create(0xc4202b4900, 0x4602e20, 0xc4202904c8, 0x463fd40, 0xc42034c200, 0xc42034c300, 0x45f5908, 0x7)
/go/src/code.storageos.net/storageos/control/controlplane/server.go:209 +0xc3d
code.storageos.net/storageos/control/command/server.(*Command).Run(0xc4201e0a10, 0xc4200c4010, 0x0, 0x0, 0x0)
/go/src/code.storageos.net/storageos/control/command/server/command.go:125 +0x998
code.storageos.net/storageos/control/vendor/github.com/mitchellh/cli.(*CLI).Run(0xc420080b40, 0xc420080b40, 0xc420226aa0, 0x0)
/go/src/code.storageos.net/storageos/control/vendor/github.com/mitchellh/cli/cli.go:255 +0x1eb
main.realMain(0xc4200a0058)
/go/src/code.storageos.net/storageos/control/main.go:38 +0x126
main.main()
/go/src/code.storageos.net/storageos/control/main.go:26 +0x22
Ticket: 373
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.