Ejemplo n.º 1
0
def _StartKindCluster(cluster_name):
  """Starts a kind kubernetes cluster.

  Starts a cluster if a cluster with that name isn't already running.

  Args:
    cluster_name: Name of the kind cluster.
  """
  if not _IsKindClusterUp(cluster_name):
    cmd = [_FindKind(), 'create', 'cluster', '--name', cluster_name]
    print("Creating local development environment '%s' ..." % cluster_name)
    run_subprocess.Run(cmd, timeout_sec=150, show_output=True)
    print('Development environment created.')
Ejemplo n.º 2
0
def _EnsureDockerRunning():
    """Make sure docker is running."""
    docker = file_utils.FindExecutableOnPath('docker')
    if not docker:
        raise RuntimeMissingDependencyError(
            'Cannot locate docker on $PATH. Install docker from '
            'https://docs.docker.com/get-docker/.')
    try:
        # docker info returns 0 if it can connect to the docker daemon and
        # returns a non-zero error code if it cannot. run_subprocess
        # checks raises an error if the process does not return 0.
        run_subprocess.Run([docker, 'info'],
                           timeout_sec=20,
                           show_output=_IsDebug())
    except subprocess.CalledProcessError:
        raise RuntimeMissingDependencyError(
            'Unable to reach docker daemon. Make sure docker is running '
            'and reachable.')
Ejemplo n.º 3
0
def _StartMinikubeCluster(cluster_name, vm_driver):
    """Starts a minikube cluster."""
    if not _IsMinikubeClusterUp(cluster_name):
        cmd = [
            _FindMinikube(),
            'start',
            '-p',
            cluster_name,
            '--keep-context',
            '--interactive=false',
            '--delete-on-failure',
            '--install-addons=false',
        ]
        if vm_driver:
            cmd.append('--vm-driver=' + vm_driver)
            if vm_driver == 'docker':
                cmd.append('--container-runtime=docker')

        print("Starting development environment '%s' ..." % cluster_name)
        run_subprocess.Run(cmd, show_output=False)
        print('Development environment created.')
Ejemplo n.º 4
0
def _CreateNamespace(namespace, context_name=None):
    cmd = [_FindKubectl()]
    if context_name:
        cmd += ['--context', context_name]
    cmd += ['create', 'namespace', namespace]
    run_subprocess.Run(cmd, show_output=False)