kubernetes/pkg/volume
wlan0 a68c783dc8 Use ProviderID to address nodes in the cloudprovider
The cloudprovider is being refactored out of kubernetes core. This is being
done by moving all the cloud-specific calls from kube-apiserver, kubelet and
kube-controller-manager into a separately maintained binary(by vendors) called
cloud-controller-manager. The Kubelet relies on the cloudprovider to detect information
about the node that it is running on. Some of the cloudproviders worked by
querying local information to obtain this information. In the new world of things,
local information cannot be relied on, since cloud-controller-manager will not
run on every node. Only one active instance of it will be run in the cluster.

Today, all calls to the cloudprovider are based on the nodename. Nodenames are
unqiue within the kubernetes cluster, but generally not unique within the cloud.
This model of addressing nodes by nodename will not work in the future because
local services cannot be queried to uniquely identify a node in the cloud. Therefore,
I propose that we perform all cloudprovider calls based on ProviderID. This ID is
a unique identifier for identifying a node on an external database (such as
the instanceID in aws cloud).
2017-03-27 23:13:13 -07:00
..
aws_ebs Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
azure_dd Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
azure_file Merge pull request #42170 from rootfs/azure-file-prv 2017-03-24 19:04:28 -07:00
cephfs Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
cinder Use ProviderID to address nodes in the cloudprovider 2017-03-27 23:13:13 -07:00
configmap Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
downwardapi Merge pull request #41306 from gnufied/implement-interface-bulk-volume-poll 2017-03-03 10:54:38 -08:00
empty_dir Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
fc Merge pull request #36698 from fabiand/no-mpathconf 2017-03-24 10:24:49 -07:00
flexvolume Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
flocker Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
gce_pd Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
git_repo Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
glusterfs Merge pull request #41306 from gnufied/implement-interface-bulk-volume-poll 2017-03-03 10:54:38 -08:00
host_path Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
iscsi should replace errors.New(fmt.Sprintf(...)) with fmt.Errorf(...) 2017-03-06 09:14:48 +08:00
nfs Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
photon_pd Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
portworx Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
projected Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
quobyte Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
rbd Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
scaleio Fix spelling of the word successfully 2017-03-22 18:33:11 -05:00
secret Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
testing Merge pull request #42435 from dashpole/timestamps_for_fsstats 2017-03-03 23:21:48 -08:00
util Merge pull request #42006 from screeley44/error-events3 2017-03-24 15:10:33 -07:00
validation Validation PVs for mount options 2017-03-09 18:24:37 -05:00
vsphere_volume VSAN policy support for storage volume provisioning inside kubernetes 2017-03-27 12:43:01 -07:00
BUILD Validation PVs for mount options 2017-03-09 18:24:37 -05:00
doc.go Use Go canonical import paths 2016-07-16 13:48:21 -04:00
metrics_cached.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
metrics_du_test.go add volume timestamps 2017-03-02 15:01:59 -08:00
metrics_du.go add volume timestamps 2017-03-02 15:01:59 -08:00
metrics_errors.go Disambiguate unsupported metrics from metrics errors 2016-09-15 10:05:30 +10:00
metrics_nil_test.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
metrics_nil.go Disambiguate unsupported metrics from metrics errors 2016-09-15 10:05:30 +10:00
metrics_statfs_test.go add volume timestamps 2017-03-02 15:01:59 -08:00
metrics_statfs.go add volume timestamps 2017-03-02 15:01:59 -08:00
OWNERS Add gnufied as reviewer for pkg/volume 2017-02-27 09:12:15 -05:00
plugins_test.go Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
plugins.go Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
README.md volume: Document multipath configuration 2017-02-24 09:59:11 +01:00
util_test.go Implement support for mount options in PVs 2017-03-01 11:50:40 -05:00
util.go Merge pull request #42949 from wenlxie/master 2017-03-16 02:41:11 -07:00
volume_linux.go fix permissions when using fsGroup 2016-12-06 14:04:16 -06:00
volume_unsupported.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
volume.go Merge pull request #42435 from dashpole/timestamps_for_fsstats 2017-03-03 23:21:48 -08:00

Multipath

To leverage multiple paths for block storage, it is important to perform the multipath configuration on the host. If your distribution does not provide /etc/multipath.conf, then you can either use the following minimalistic one:

defaults {
    find_multipaths yes
    user_friendly_names yes
}

or create a new one by running:

$ mpathconf --enable

Finally you'll need to ensure to start or reload and enable multipath:

$ systemctl enable multipathd.service
$ systemctl restart multipathd.service

Note: Any change to multipath.conf or enabling multipath can lead to inaccessible block devices, because they'll be claimed by multipath and exposed as a device in /dev/mapper/*.

Some additional informations about multipath can be found in the iSCSI documentation