layout | title | keywords | meta-description |
---|---|---|---|
page |
Generating Portworx Kubernetes spec using curl |
portworx, container, Kubernetes, storage, Docker, k8s, flexvol, pv, persistent disk |
Find out how to generate the Portworx Kubernetes spec using curl. |
- TOC {:toc}
Below is an example of using curl to generate the Portworx spec file. Review the query parameters table below and add parameters as needed.
Openshift Users:
Make sure you useosft=true
when generating the spec.
$ VER=$(kubectl version --short | awk -Fv '/Server Version: /{print $3}')
# For the 1.4 tech preview release
$ curl -L -o px-spec.yaml "https://install.portworx.com/1.4/?c=mycluster&k=etcd://<ETCD_ADDRESS>:<ETCD_PORT>&kbver=$VER"
# For the 1.3 stable release
$ curl -L -o px-spec.yaml "https://install.portworx.com/1.3/?c=mycluster&k=etcd://<ETCD_ADDRESS>:<ETCD_PORT>&kbver=$VER"
# For the 1.2 stable release
$ curl -L -o px-spec.yaml "https://install.portworx.com/1.2/?c=mycluster&k=etcd://<ETCD_ADDRESS>:<ETCD_PORT>&kbver=$VER"
Below are all parameters that can be given in the query string.
Value | Description | Example |
---|---|---|
REQUIRED PARAMETERS | ||
c | Specifies the unique name for the Portworx cluster. | c=test_cluster |
k | Your key value database, such as an etcd cluster or a consul cluster. | k=etcd:http://etcd.fake.net:2379 |
OPTIONAL PARAMETERS | ||
s | Specify comma-separated list of drives. | s=/dev/sdb,/dev/sdc |
d | Specify data network interface. This is useful if your instances have non-standard network interfaces. | d=eth1 |
m | Specify management network interface. This is useful if your instances have non-standard network interfaces. | m=eth1 |
kbver | Specify Kubernetes version (current default is 1.7) | kbver=1.8.4 |
stork | Specify if you want to install STORK | stork=true |
coreos | REQUIRED if target nodes are running coreos. | coreos=true |
osft | REQUIRED if installing on Openshift. | osft =true |
mas | Specify if PX should run on the Kubernetes master node. For Kubernetes 1.6.4 and prior, this needs to be true (default is false) | mas=true |
z | Instructs PX to run in zero storage mode on Kubernetes master. | z=true |
f | Instructs PX to use any available, unused and unmounted drives or partitions. PX will never use a drive or partition that is mounted. | f=true |
st | Select the secrets type (aws, kvdb or vault) | st=vault |
j | (PX 1.3 and higher) Specify a separate block device as a journaling device for px metadata. | j=/dev/sde |
KVDB CONFIGURATION PARAMETERS | ||
pwd | Username and password for ETCD authentication in the form user:password | pwd=username:password |
ca | Location of CA file for ETCD authentication. | ca=/path/to/server.ca |
cert | Location of certificate for ETCD authentication. | cert=/path/to/server.crt |
key | Location of certificate key for ETCD authentication. | key=/path/to/server.key |
acl | ACL token value used for Consul authentication. | acl=398073a8-5091-4d9c-871a-bbbeb030d1f6 |
e | Comma-separated list of environment variables that will be exported to portworx. To view a list of all Portworx environment variables, go to passing environment variables. |
| <var>e=MYENV1=myvalue1,MYENV2=myvalue2</var> |
Note:
If using secure etcd provide "https" in the URL and make sure all the certificates are in the/etc/pwx/
directory on each host which is bind mounted inside PX container.