-
Notifications
You must be signed in to change notification settings - Fork 551
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into kabir/issue-2598-jump
- Loading branch information
Showing
177 changed files
with
9,402 additions
and
3,304 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -94,6 +94,10 @@ User | |
resourcemanager.projects.get | ||
resourcemanager.projects.getIamPolicy | ||
.. note:: | ||
|
||
For custom VPC users (with :code:`gcp.vpc_name` specified in :code:`~/.sky/config.yaml`, check `here <#_gcp-bring-your-vpc>`_), :code:`compute.firewalls.create` and :code:`compute.firewalls.delete` are not necessary unless opening ports is needed via `resources.ports` in task yaml. | ||
|
||
4. **Optional**: If the user needs to access GCS buckets, you can additionally add the following permissions: | ||
|
||
.. code-block:: text | ||
|
@@ -102,6 +106,7 @@ User | |
storage.buckets.get | ||
storage.buckets.delete | ||
storage.objects.create | ||
storage.objects.update | ||
storage.objects.delete | ||
storage.objects.get | ||
storage.objects.list | ||
|
@@ -170,7 +175,7 @@ Service Account | |
|
||
If you already have an service account under "Service Accounts" tab with the email starting with ``skypilot-v1@``, it is likely created by SkyPilot automatically, and you can skip this section. | ||
|
||
1. Click the "Service Accounts" tab in the "IAM & Admin" console, and click on the **CREATE SERVICE ACCOUNT**. | ||
1. Click the "Service Accounts" tab in the `IAM & Admin console <https://console.cloud.google.com/iam-admin/iam>`__, and click on **CREATE SERVICE ACCOUNT**. | ||
|
||
.. image:: ../../images/screenshots/gcp/create-service-account.png | ||
:width: 80% | ||
|
@@ -184,7 +189,9 @@ Service Account | |
:align: center | ||
:alt: Set Service Account Name | ||
|
||
3. Select the ``minimal-skypilot-role`` (or the name you set) created in the last section and click on **DONE**. | ||
3. Select the ``minimal-skypilot-role`` (or the name you set) created in the | ||
last section and click on **DONE**. You can also choose to use the Default or | ||
Medium Permissions roles as described in the previous sections. | ||
|
||
.. image:: ../../images/screenshots/gcp/service-account-grant-role.png | ||
:width: 60% | ||
|
@@ -265,3 +272,60 @@ See details in :ref:`config-yaml`. Example use cases include using a private VP | |
VPC with fine-grained constraints, typically created via Terraform or manually. | ||
|
||
The custom VPC should contain the :ref:`required firewall rules <gcp-minimum-firewall-rules>`. | ||
|
||
|
||
.. _gcp-use-internal-ips: | ||
|
||
|
||
Using Internal IPs | ||
----------------------- | ||
For security reason, users may only want to use internal IPs for SkyPilot instances. | ||
To do so, you can use SkyPilot's global config file ``~/.sky/config.yaml`` to specify the ``gcp.use_internal_ips`` and ``gcp.ssh_proxy_command`` fields (to see the detailed syntax, see :ref:`config-yaml`): | ||
|
||
.. code-block:: yaml | ||
gcp: | ||
use_internal_ips: true | ||
# VPC with NAT setup, see below | ||
vpc_name: my-vpc-name | ||
ssh_proxy_command: ssh -W %h:%p -o StrictHostKeyChecking=no [email protected] | ||
The ``gcp.ssh_proxy_command`` field is optional. If SkyPilot is run on a machine that can directly access the internal IPs of the instances, it can be omitted. Otherwise, it should be set to a command that can be used to proxy SSH connections to the internal IPs of the instances. | ||
|
||
|
||
Cloud NAT Setup | ||
~~~~~~~~~~~~~~~~ | ||
|
||
Instances created with internal IPs only on GCP cannot access public internet by default. To make sure SkyPilot can install the dependencies correctly on the instances, | ||
cloud NAT needs to be setup for the VPC (see `GCP's documentation <https://cloud.google.com/nat/docs/overview>`__ for details). | ||
|
||
|
||
Cloud NAT is a regional resource, so it will need to be created in each region that SkyPilot will be used in. | ||
|
||
|
||
.. image:: ../../images/screenshots/gcp/cloud-nat.png | ||
:width: 80% | ||
:align: center | ||
:alt: GCP Cloud NAT | ||
|
||
To limit SkyPilot to use some specific regions only, you can specify the ``gcp.ssh_proxy_command`` to be a dict mapping from region to the SSH proxy command for that region (see :ref:`config-yaml` for details): | ||
|
||
.. code-block:: yaml | ||
gcp: | ||
use_internal_ips: true | ||
vpc_name: my-vpc-name | ||
ssh_proxy_command: | ||
us-west1: ssh -W %h:%p -o StrictHostKeyChecking=no [email protected] | ||
us-east1: ssh -W %h:%p -o StrictHostKeyChecking=no [email protected] | ||
If proxy is not needed, but the regions need to be limited, you can set the ``gcp.ssh_proxy_command`` to be a dict mapping from region to ``null``: | ||
|
||
.. code-block:: yaml | ||
gcp: | ||
use_internal_ips: true | ||
vpc_name: my-vpc-name | ||
ssh_proxy_command: | ||
us-west1: null | ||
us-east1: null |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
../../../CONTRIBUTING.md |
Oops, something went wrong.