Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions src/command_modules/azure-cli-acs/HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,14 @@
Release History
===============

2.1.0
+++++
* `az aks create` understands advanced networking (VNet) options
* `az aks create` accepts options to enable Log Analytics monitoring and HTTP application routing addons
* `az aks create --no-ssh-key` creates a cluster without using local SSH keys
* `az aks create --enable-rbac` creates a cluster with Kubernetes Role-Based Access Control
* `az aks create` handles Azure Active Directory auth options (PREVIEW)

2.0.34
++++++
* `az aks get-credentials` creates the kube config file with more secure filesystem permissions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,12 +123,12 @@

helps['aks'] = """
type: group
short-summary: (PREVIEW) Manage Azure Kubernetes Services.
short-summary: Manage Azure Kubernetes Services.
"""

helps['aks browse'] = """
type: command
short-summary: (PREVIEW) Show the dashboard for a Kubernetes cluster in a web browser.
short-summary: Show the dashboard for a Kubernetes cluster in a web browser.
parameters:
- name: --disable-browser
type: bool
Expand All @@ -138,7 +138,7 @@

helps['aks create'] = """
type: command
short-summary: (PREVIEW) Create a new managed Kubernetes cluster.
short-summary: Create a new managed Kubernetes cluster.
parameters:
- name: --generate-ssh-keys
type: string
Expand Down Expand Up @@ -178,6 +178,67 @@
- name: --admin-username -u
type: string
short-summary: User account to create on node VMs for SSH access.
- name: --aad-client-app-id
type: string
short-summary: (PREVIEW) The ID of an Azure Active Directory client application of type "Native". This
application is for user login via kubectl.
- name: --aad-server-app-id
type: string
short-summary: (PREVIEW) The ID of an Azure Active Directory server application of type "Web app/API". This
application represents the managed cluster's apiserver (Server application).
- name: --aad-server-app-secret
type: string
short-summary: (PREVIEW) The secret of an Azure Active Directory server application.
- name: --aad-tenant-id
type: string
short-summary: (PREVIEW) The ID of an Azure Active Directory tenant.
- name: --dns-service-ip
type: string
short-summary: An IP address assigned to the Kubernetes DNS service.
long-summary: This address must be within the Kubernetes service address range specified by "--service-cidr".
For example, 10.0.0.10.
- name: --docker-bridge-address
type: string
short-summary: An IP address and netmask assigned to the Docker bridge.
long-summary: This address must not be in any Subnet IP ranges, or the Kubernetes service address range.
For example, 172.17.0.1/16.
- name: --enable-addons -a
type: string
short-summary: Enable the Kubernetes addons in a comma-separated list.
long-summary: |-
These addons are available:
http_application_routing - configure ingress with automatic public DNS name creation.
monitoring - turn on Log Analytics monitoring. Requires "--workspace-resource-id".
- name: --enable-rbac -r
type: string
short-summary: Enable Kubernetes Role-Based Access Control.
- name: --max-pods -m
type: int
short-summary: The maximum number of pods deployable to a node.
long-summary: If not specified, defaults to 110, or 30 for advanced networking configurations.
- name: --network-plugin
type: string
short-summary: The Kubernetes network plugin to use.
long-summary: Specify "azure" for advanced networking configurations. Defaults to "kubenet".
- name: --no-ssh-key -x
type: string
short-summary: Do not use or create a local SSH key.
long-summary: To access nodes after creating a cluster with this option, use the Azure Portal.
- name: --pod-cidr
type: string
short-summary: A CIDR notation IP range from which to assign pod IPs when kubenet is used.
long-summary: This range must not overlap with any Subnet IP ranges. For example, 172.244.0.0/16.
- name: --service-cidr
type: string
short-summary: A CIDR notation IP range from which to assign service cluster IPs.
long-summary: This range must not overlap with any Subnet IP ranges. For example, 10.0.0.0/16.
- name: --vnet-subnet-id
type: string
short-summary: The ID of a subnet in an existing VNet into which to deploy the cluster.
- name: --workspace-resource-id
type: string
short-summary: The resource ID of an existing Log Analytics Workspace to use for storing monitoring data.

examples:
- name: Create a Kubernetes cluster with an existing SSH public key.
text: az aks create -g MyResourceGroup -n MyManagedCluster --ssh-key-value /path/to/publickey
Expand All @@ -189,12 +250,12 @@

helps['aks delete'] = """
type: command
short-summary: (PREVIEW) Delete a managed Kubernetes cluster.
short-summary: Delete a managed Kubernetes cluster.
"""

helps['aks get-credentials'] = """
type: command
short-summary: (PREVIEW) Get access credentials for a managed Kubernetes cluster.
short-summary: Get access credentials for a managed Kubernetes cluster.
parameters:
- name: --admin -a
type: bool
Expand All @@ -206,17 +267,17 @@

helps['aks get-upgrades'] = """
type: command
short-summary: (PREVIEW) Get the upgrade versions available for a managed Kubernetes cluster.
short-summary: Get the upgrade versions available for a managed Kubernetes cluster.
"""

helps['aks get-versions'] = """
type: command
short-summary: (PREVIEW) Get the versions available for creating a managed Kubernetes cluster.
short-summary: Get the versions available for creating a managed Kubernetes cluster.
"""

helps['aks install-cli'] = """
type: command
short-summary: (PREVIEW) Download and install kubectl, the Kubernetes command-line tool.
short-summary: Download and install kubectl, the Kubernetes command-line tool.
"""

helps['aks install-connector'] = """
Expand Down Expand Up @@ -278,7 +339,7 @@

helps['aks list'] = """
type: command
short-summary: (PREVIEW) List managed Kubernetes clusters.
short-summary: List managed Kubernetes clusters.
"""

helps['aks remove-connector'] = """
Expand All @@ -303,7 +364,7 @@

helps['aks scale'] = """
type: command
short-summary: (PREVIEW) Scale the node pool in a managed Kubernetes cluster.
short-summary: Scale the node pool in a managed Kubernetes cluster.
parameters:
- name: --node-count -c
type: int
Expand All @@ -312,12 +373,12 @@

helps['aks show'] = """
type: command
short-summary: (PREVIEW) Show the details for a managed Kubernetes cluster.
short-summary: Show the details for a managed Kubernetes cluster.
"""

helps['aks upgrade'] = """
type: command
short-summary: (PREVIEW) Upgrade a managed Kubernetes cluster to a newer version.
short-summary: Upgrade a managed Kubernetes cluster to a newer version.
long-summary: "Kubernetes will be unavailable during cluster upgrades."
parameters:
- name: --kubernetes-version -k
Expand Down Expand Up @@ -403,7 +464,7 @@

helps['aks wait'] = """
type: command
short-summary: (PREVIEW) Wait for a managed Kubernetes cluster to reach a desired state.
short-summary: Wait for a managed Kubernetes cluster to reach a desired state.
long-summary: If an operation on a cluster was interrupted or was started with `--no-wait`, use this command to
wait for it to complete.
examples:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
validate_create_parameters, validate_k8s_client_version, validate_k8s_version, validate_linux_host_name,
validate_list_of_integers, validate_ssh_key, validate_connector_name)


aci_connector_os_type = ['Windows', 'Linux', 'Both']

aci_connector_chart_url = 'https://github.com/virtual-kubelet/virtual-kubelet/raw/master/charts/virtual-kubelet-for-aks-0.1.3.tgz'
Expand Down Expand Up @@ -157,6 +156,21 @@ def load_arguments(self, _):
c.argument('node_vm_size', options_list=['--node-vm-size', '-s'], completer=get_vm_size_completion_list)
c.argument('ssh_key_value', required=False, type=file_type, default=os.path.join('~', '.ssh', 'id_rsa.pub'),
completer=FilesCompleter(), validator=validate_ssh_key)
c.argument('aad_client_app_id')
c.argument('aad_server_app_id')
c.argument('aad_server_app_secret')
c.argument('aad_tenant_id')
c.argument('dns_service_ip')
c.argument('docker_bridge_address')
c.argument('enable_addons', options_list=['--enable-addons', '-a'])
c.argument('enable_rbac', options_list=['--enable-rbac', '-r'])
c.argument('max_pods', type=int, options_list=['--max-pods', '-m'])
c.argument('network_plugin')
c.argument('no_ssh_key', options_list=['--no-ssh-key', '-x'])
c.argument('pod_cidr')
c.argument('service_cidr')
c.argument('vnet_subnet_id')
c.argument('workspace_resource_id')

with self.argument_context('aks get-credentials') as c:
c.argument('admin', options_list=['--admin', '-a'], default=False)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ def validate_connector_name(namespace):


def validate_ssh_key(namespace):
if hasattr(namespace, 'no_ssh_key') and namespace.no_ssh_key:
return
string_or_file = (namespace.ssh_key_value or
os.path.join(os.path.expanduser('~'), '.ssh', 'id_rsa.pub'))
content = string_or_file
Expand Down
Loading