Giter VIP home page Giter VIP logo

vsphere-cpi-csi-helm's Introduction

vSphere CPI+CSI Helm chart

Integrated CPI + CSI helm chart, focused on Rancher Catalog deployment, minimal config, maximum speed. Many thanks to the vSphere CPI helm chart on which this chart is based.

The vSphere Cloud Provider Interface handles cloud specific functionality for VMware vSphere infrastructure running on Kubernetes, the vSphere Container Storage Interface (CSI) is a specification designed to enable persistent storage volume management on Container Orchestrators (COs) like Kubernetes.

Introduction

This chart deploys all components required to run the external vSphere CPI and also contains the CSI components required for cloud native storage.

Deployment using Rancher's catalog apps feature was the original focus of this project. This means it's also Helm compatible.

More info on the motivation behind creating this integrated chart can be found in this article: https://medium.com/@stefanvangastel/moving-to-out-of-tree-kubernetes-vsphere-cpi-csi-in-seconds-fc0c494bb114

Prerequisites

  • vSphere 6.7U3+ (CSI v1.0.2) or vSphere 7.0+ (CSI v2.0.0)
  • Kubernetes cluster version 1.14+ (CSI v1.0.2) or 1.16+ (CSI v2.0.0)
  • VM's with harware version 15+ and vmtools installed on all nodes
  • The ubuntu guest OS is recommended
  • Manual steps are described in this description (Rancher) of in the Kubernetes documentation (Helm)

Installing the Chart using Rancher catalog

  1. Add this repo (https://github.com/stefanvangastel/vsphere-cpi-csi-helm.git) as a Helm 3 catalog.
  2. Launch the app and follow the instructions

Installing the Chart using Helm 3.0+

  1. Clone this repository:
    $ git clone https://github.com/stefanvangastel/vsphere-cpi-csi-helm.git
  2. Enter the directory:
    $ cd vpshere-cpi-csi-helm
  3. Install the chart of choice (CSI v1.0.2 of v2.0.0), the vcenter config options are required at minimum:
    $ helm install vsphere-cpi-csi \
         --namespace kube-system \
         ./charts/vsphere-cpi-csi/v2.0.0 \
         --set vcenter.host=vsphere.example.com \
         --set vcenter.username=johndoe \
         --set vcenter.password=s3cret \
         --set vcenter.datacenter=dc1

Uninstalling the Chart

To uninstall/delete the vsphere-cpi-csi deployment:

$ helm delete vsphere-cpi-csi --namespace kube-system 

The command removes all the Kubernetes components associated with the chart and deletes the release.

Configuration

The following table lists the configurable parameters of the vSphere CPI+CSIchart and their default values.

Warning: In creating this chart we aimed to make it as simple and fast to deploy as possible. Therefore you will not find an excess of options and configuration values.

Parameter Description Default
images.vsphereCloudControllerManager Overwrite images .e.g from private gcr.io/cloud-provider-vsphere/cpi/release/manager:v1.1.0
images.csiAttacher registry quay.io/k8scsi/csi-attacher:v2.0.0
images.csiDriver gcr.io/cloud-provider-vsphere/csi/release/driver:v2.0.0
images.livenessProbe quay.io/k8scsi/livenessprobe:v1.1.0
images.vsphereSyncer gcr.io/cloud-provider-vsphere/csi/release/syncer:v2.0.0
images.csiProvisioner quay.io/k8scsi/csi-provisioner:v1.4.0
images.csiResizer quay.io/k8scsi/csi-resizer:v0.3.0
images.nodeDriverRegistrar quay.io/k8scsi/csi-node-driver-registrar:v1.2.0
vcenter.host The vCenter host or ip
vcenter.insecurehost Use insecure connection true
vcenter.username: admin vCenter username
vcenter.password: root vCenter password
vcenter.datacenter: DC1 Datacenter name
storageclass.name Name for the auto-created storageClass vsphere-csi
storageclass.default Make it the default storageClass true
storageclass.fstype Filesystem type to use e.g. ext4 or file (v2.0.0 only) ext4
storageclass.storagepolicyname Storagepolicy name to use if given my-storage-policy
storageclass.datastoreurl Optional datastore url
storageclass.reclaimpolicy Optional reclaim policy Delete

Tip: In addition all settings used in the vSphere CPI helm chart are also useable in this chart.

Specify each parameter using the --set key=value[,key=value] argument to helm install using Helm v3.X. For example:

$ helm install vsphere-cpi-csi \
    --namespace kube-system \
    ./charts/vsphere-cpi-csi/v2.0.0 \
    --set vcenter.host=vsphere.example.com \
    --set vcenter.username=johndoe \
    --set vcenter.password=s3cret \
    --set vcenter.datacenter=dc1

Alternatively, a YAML file (e.g. myvalues.yml) that specifies the values for the parameters can be provided while installing the chart:

$ helm install vsphere-cpi-csi \
    ./charts/vsphere-cpi-csi/v2.0.0 \
    -f myvalues.yml

vsphere-cpi-csi-helm's People

Contributors

caulagi avatar cmdrsharp avatar eagleman7 avatar gezb avatar jwerner-mt avatar quantas avatar serbayacar avatar skyscooby avatar stefanvangastel avatar v-moro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

vsphere-cpi-csi-helm's Issues

How to edit affinity/tolerations?

Hello,

I'm trying to install on Rancher cluster. I get an error 0/6 nodes are available: 3 node(s) didn't match Pod's node affinity.

The major problem is that my node have node-role.kubernetes.io/control-plane, while the chart specifies node-role.kubernetes.io/controlplane. Is there a way in Rancher to adjust these tolerations, or will I have to fork the chart?

an error

hi

I run that command below

helm upgrade --install vsphere-cpi-csi \
     --namespace kube-system  \
     ./charts/vsphere-cpi-csi/v2.3.0 \
     --set vcenter.insecurehost=true \
     --set vcenter.host=vcenter.local.net \
     --set [email protected] \
     --set vcenter.password=XXXXXXXX \
     --set vcenter.datacenter=vSAN_Datacenter \
     --set storageclass.storagepolicyname="vSAN Default Storage Policy"

then the controller is pending state

vsphere-csi-controller-bcbf7c6b-sb8zr                   0/6     Pending     0               12m    <none>          <none>       <none>           <none>
vsphere-csi-node-c4fnk                                  3/3     Running     0               23m    10.42.4.219     rke-node-5   <none>           <none>
vsphere-csi-node-d5ff7                                  3/3     Running     0               23m    10.42.2.84      rke-node-3   <none>           <none>
vsphere-csi-node-kdrf6                                  3/3     Running     0               23m    10.42.0.65      rke-node-1   <none>           <none>
vsphere-csi-node-t9hp8                                  3/3     Running     0               23m    10.42.3.86      rke-node-4   <none>           <none>
vsphere-csi-node-zvb92                                  3/3     Running     0               23m    10.42.1.170     rke-node-2   <none>           <none>

thanks

2.1.0 to 2.3.0 upgrade

Hello
I have a very basic question because kinda got confused.
How can we upgrade ? with helm upgrade --install ... command same as we installed ?
and some other questions :)

  • During upgrade will existing PVC and PV's delete ?
  • Should we stop the services before upgrade ?

Create Helm Repo

The lack of a Helm Repo means that installation is an extra step for non-Rancher deployments.
Hosting a Helm Repo in GitHub Pages would seem to make sense.

If you can create a new branch (maybe named gh-pages), and create a GitHub Page for that branch - I have already packaged the latest release and indexed it, so I could make a PR to that branch.
https://github.com/CmdrSharp/vsphere-cpi-csi-helm/tree/gh-pages

Problem deploy chart helm

hello, I'm trying to deploy helm vsphere csi, but I'm having this error when attaching the pod to the pvc. "Warning FailedAttachVolume AttachVolume.Attach failed for volume" pvc-80abeed9-32ad-45fa-ab7b-3647d32534d2 ": rpc error: code = Internal desc = failed to attach disk:" 63d4e68c-bd81-4065-959d-73d946017179 "with node: "worker0" err ServerFaultCode: NoPermission a few seconds ago
Warning FailedMount Unable to attach or mount volumes: unmounted volumes = [block-vol], unattached volumes = [block-vol default-token-t8rdx]: timed out waiting for the condition ""
Do you have any idea what it might be?
vSphere 7.0 UP1
Rancher 2.5

Upgrade to v2.0.1 or v2.1.0

Hello Stefan!

Thanks for your work on this, it really helped me setup the vsphere CSI within a couple of seconds on Rancher.

I was wondering if you can update this to version v2.0.1 or v2.1.0 because these are the only ones supported for the Velero Plugin for vSphere in Vanilla Kubernetes Cluster.

Thanks!

Eagleman

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.