Edit:
After resizing the root partition, you have to reboot your instance to force the system to re-read the partition table. That makes this trick unusable in a startup script (executed on each startup/reboot).
This is more like a follow-up to @user1130176's answer, but if you are running CentOS 7+, you'll need to do the following for step #4 (expanding the filesystem):
xfs_growfs /dev/sda1
The new disks on CentOS 7 are of type xfs. Hope this helps, it was not very clear from all the links around.
As of 31 Mar 2016, you can resize a persistent disk online without stopping or rebooting the VM, without taking snapshots, and without having to restore it to a larger disk.
Note that some operating systems will automatically resize your partition on reboot without requiring you to do any manual steps with tools such as fdisk, resize2fs or xfs_growfs, so it should be sufficient to just resize the disk and reboot the VM for changes to take effect.
I know this is an old topic, but I just did this using a simpler method than the ones explained above. All from the cloud console user interface with no need to worry or do any special commands in just a few minutes and clicks.
However, it requires creating a new instance, not resizing a disk on an already running instance
Create a snapshot of the disk you want to enlarge
Click on the instance, then click on the disk, then you have "create snapshot", give it a name and then wait for the snapshot to be created. (You don't need to turn off the instance for this)
Create a new instance from the snapshot and specify the new size
Click on the snapshot, then you have "create instance", you can then see the boot disk options, click change and then size it to a new size. (You probably want to change all the default instance settings to the ones you want also)
This is a fool-proof way to enlarge a disk without causing any partition errors, doesn't require any commands or special actions.
The only downside is that you need to create a new instance. You can't just do it on an instance that you already have.