Change:
The contains instructions for downloading kubectl. The doesn't contain these instructions but it should if it's now the recommended way of running Kubernetes locally.
+1 Just ran into this.
cc
By the way, we encourage anyone to propose improvements/fixes to docs. You can do so pretty easily by clicking the pencil icon in the top right corner of every page of
kubectl download instructions to the guide in

Discussion:
List(filter string) ([]string, error) } <ins> // Zone represents the location of a particular machine type Zone struct { FailureDomain string Region        string } </ins> // Zones is an abstract, pluggable interface for zone enumeration. type Zones interface { <del> // GetZone returns the name of the current failure zone that the program is running in GetZone() (string, error) </del> <ins> // GetZone returns the Zone containing the current failure zone and locality region that the program is running in GetZone() (Zone, error) </ins> }

Calls    []string IP       net.IP Machines []string <del> Zone     string </del> <ins> Zone </ins> } func (f *FakeCloud) addCall(desc string) {

return result, f.Err } <del> func (f *FakeCloud) GetZone() (string, error) { </del> <ins> func (f *FakeCloud) GetZone() (Zone, error) { </ins> f.addCall("get-zone") return f.Zone, f.Err }

return instances, nil } <del> func (gce *GCECloud) GetZone() (string, error) { return gce.zone, nil </del> <ins> func (gce *GCECloud) GetZone() (Zone, error) { region, err := getGceRegion(gce.zone) if err != nil { return Zone{}, err } return Zone{ FailureDomain: gce.zone, Region:        region, }, nil } // gce zone names are of the form: ${region-name}-${ix}. // For example "us-central1-b" has a region of "us-central1". // So we look for the last '-' and trim to just before that. func getGceRegion(zone string) (string, error) { ix := strings.LastIndex(zone, "-") if ix == -1 { return "", fmt.Errorf("unexpected zone: %s", zone) } return zone[:ix], nil </ins> }

<ins> /* Copyright 2014 Google Inc. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ package cloudprovider import ( "testing" ) func TestGetRegion(t *testing.T) { gce := &GCECloud{ zone: "us-central1-b", } zones, ok := gce.Zones() if !ok { t.Fatalf("Unexpected missing zones impl") } zone, err := zones.GetZone() if err != nil { t.Fatalf("unexpected error %v", err) } if zone.Region != "us-central1" { t.Errorf("Unexpected region: %s", zone.Region) } } </ins>

return err } <del> if err := balancer.DeleteTCPLoadBalancer(service.JSONBase.ID, zone); err != nil { </del> <ins> if err := balancer.DeleteTCPLoadBalancer(service.JSONBase.ID, zone.Region); err != nil { </ins> return err }

if err != nil { return nil, err } <del> err = balancer.CreateTCPLoadBalancer(srv.ID, zone, srv.Port, hosts) </del> <ins> err = balancer.CreateTCPLoadBalancer(srv.ID, zone.Region, srv.Port, hosts) </ins> if err != nil { return nil, err }