1.0.0 GA - IBM block storage for Kubernetes
GA v1.0.0
IBM block storage is supported for Kubernetes via IBM Spectrum Control Base Edition (SCBE) version 3.3.0 and later. Ubiquity communicates with the IBM storage systems through SCBE. SCBE creates a storage profile (for example, gold, silver or bronze) and makes it available for Kubernetes. For details about supported storage systems, refer to the latest SCBE release notes.
The IBM official solution for Kubernetes, based on the Ubiquity project, is referred to as IBM Storage Enabler for Containers. You can download the installation package and its documentation from IBM Fix Central. For details on the IBM Storage Enabler for Containers, see the relevant sections in the SCBE user guide.
Features introduced in this release for IBM block storage systems
- Seamless Kubernetes integration: Using Kubernetes Dynamic Provisioner and FlexVolume Driver.
- Simplified volume provisioning: No storage skills are needed for a Kubernetes persona to provision a volume, using SCBE storage policies as Kubernetes storage classes.
- Support matrix:
- IBM Block storage portfolio (iSCSI and FC connectivity) via SCBE 3.3.0 and later.
- RHEL 7.x and Ubuntu 16.04.
- Kubernetes 1.6, 1.7 and 1.8.
- ext4 and xfs filesystems for new Persistent Volumes.
- Native Linux multipathing.
- For full details, see the SCBE 3.3.0 release notes.
- Deployment experience:
- Containerized: Ubiquity is provided as Docker images from DockerHub:
- ubiquity: IBM Storage Enabler for Containers
- ubiqutiy-db : IBM Storage Enabler for Containers Database
- ubiquity-k8s-provisioner: Storage Dynamic Provisioner for Kubernetes
- ubiquity-k8s-flex: IBM Storage Flex Volume for Kubernetes
- Simple installation: An installer script is provided to deploy the solution in a Kubernetes cluster. You can download the formal installation package and its documentation from IBM Fix Central. For details on the IBM Storage Enabler for Containers, see the relevant sections in the SCBE user guide.
- Containerized: Ubiquity is provided as Docker images from DockerHub:
- High availability:
- Ubiquity components: Achieves high availability and rolling updates by using Kubernetes Deployment
for ubiquity, ubiquity-db and ubiquity-k8s-provisioner. And using Kubernetes Daemonset for ubiquity-k8s-flex. - Database resiliency: Ubiquity-db volume is created on the fly as a PV on IBM storage (part of the installer bootstrap). In addition, the ubiquity-db has improved performance using PostgreSQL 9.6.
- Worker node crash recovery: Supports volume migration from a crashed worker node to another node in the cluster automatically. However, the user has to delete the crashed node in order to free up the pods (Kubernetes best practice). Using controller-attach-detach-enabled=true configuration.
- Ubiquity components: Achieves high availability and rolling updates by using Kubernetes Deployment
- Security:
- HTTPS: Ubiquity components communicate over HTTPS TLS 1.2.
- Authentication: Allows to introduce your own certificates in the SSL_MODE=verify-full mode. By using SSL_MODE=require, the solution uses self-signed certificates in order to simplify the installation procedure.
- Authorization: Flex and Provisioner are authorized on Ubiquity server with SCBE interface credentials.
- Namespace: Ubiquity is installed in a dedicated namespace and uses credentials as Kubernetes secrets.
- Other:
- Latest golang:1.9.1.
- Comprehensive automation testing CI pipeline.
- Ubiquity, flex and provisioner Docker images based on alpine:3.7.
This GA v1.0.0 is compatible with Ubiquity service v1.0.0
Related blogs: