Skip to content
Snippets Groups Projects
Select Git revision
  • c4338687e1a8efc283c6f573b27aadb4bd73393a
  • master default protected
  • v2.28.0
  • v2.27.0
  • v2.25.1
  • v2.24.3
  • v2.26.0
  • v2.24.2
  • v2.25.0
  • v2.24.1
  • v2.22.2
  • v2.23.3
  • v2.24.0
  • v2.23.2
  • v2.23.1
  • v2.23.0
  • v2.22.1
  • v2.22.0
  • v2.21.0
  • v2.20.0
  • v2.19.1
  • v2.18.2
22 results

macvlan.md

Blame
  • vsphere.md 11.40 KiB

    vSphere

    Kubespray can be deployed with vSphere as Cloud provider. This feature supports:

    • Volumes
    • Persistent Volumes
    • Storage Classes and provisioning of volumes
    • vSphere Storage Policy Based Management for Containers orchestrated by Kubernetes

    Out-of-tree vSphere cloud provider

    Prerequisites

    You need at first to configure your vSphere environment by following the official documentation.

    After this step you should have:

    • vSphere upgraded to 6.7 U3 or later
    • VM hardware upgraded to version 15 or higher
    • UUID activated for each VM where Kubernetes will be deployed

    Kubespray configuration

    First in inventory/sample/group_vars/all/all.yml you must set the cloud provider to external and external_cloud_provider to external_cloud_provider.

    cloud_provider:  "external"
    external_cloud_provider: "vsphere"

    Then, inventory/sample/group_vars/all/vsphere.yml, you need to declare your vCenter credentials and enable the vSphere CSI following the description below.

    Variable Required Type Choices Default Comment
    external_vsphere_vcenter_ip TRUE string IP/URL of the vCenter
    external_vsphere_vcenter_port TRUE string "443" Port of the vCenter API
    external_vsphere_insecure TRUE string "true", "false" "true" set to "true" if the host above uses a self-signed cert
    external_vsphere_user TRUE string User name for vCenter with required privileges (Can also be specified with the VSPHERE_USER environment variable)
    external_vsphere_password TRUE string Password for vCenter (Can also be specified with the VSPHERE_PASSWORD environment variable)
    external_vsphere_datacenter TRUE string Datacenter name to use
    external_vsphere_kubernetes_cluster_id TRUE string "kubernetes-cluster-id" Kubernetes cluster ID to use
    vsphere_csi_enabled TRUE boolean false Enable vSphere CSI

    Example configuration:

    external_vsphere_vcenter_ip: "myvcenter.domain.com"
    external_vsphere_vcenter_port: "443"
    external_vsphere_insecure: "true"
    external_vsphere_user: "administrator@vsphere.local"
    external_vsphere_password: "K8s_admin"
    external_vsphere_datacenter: "DATACENTER_name"
    external_vsphere_kubernetes_cluster_id: "kubernetes-cluster-id"
    vsphere_csi_enabled: true

    For a more fine-grained CSI setup, refer to the vsphere-csi documentation.

    Deployment

    Once the configuration is set, you can execute the playbook again to apply the new configuration:

    cd kubespray
    ansible-playbook -i inventory/sample/hosts.ini -b -v cluster.yml

    You'll find some useful examples here to test your configuration.