kops/docs/apireference/build/index.html

4580 lines
141 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Kubernetes Resource Reference Docs</title>
<link rel="shortcut icon" href="favicon.ico" type="image/vnd.microsoft.icon">
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="node_modules/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="node_modules/font-awesome/css/font-awesome.min.css" type="text/css">
<link rel="stylesheet" href="node_modules/highlight.js/styles/default.css" type="text/css">
<link rel="stylesheet" href="stylesheet.css" type="text/css">
</head>
<body>
<div id="sidebar-wrapper" class="side-nav side-bar-nav"><ul><li class="nav-level-1 strong-nav"><a href="#-strong-kops-strong-" class="nav-item"><strong>kops</strong></a></li></ul><ul><li class="nav-level-1"><a href="#cluster-v1alpha2-kops" class="nav-item">Cluster v1alpha2 kops</a></li></ul><ul><li class="nav-level-1"><a href="#instancegroup-v1alpha2-kops" class="nav-item">InstanceGroup v1alpha2 kops</a></li></ul><ul><li class="nav-level-1 strong-nav"><a href="#-strong-definitions-strong-" class="nav-item"><strong>Definitions</strong></a></li><ul id="-strong-definitions-strong--nav" style="display: none;"><li class="nav-level-2"><a href="#apigroup-v1-meta" class="nav-item">APIGroup v1 meta</a></li><li class="nav-level-2"><a href="#apiresource-v1-meta" class="nav-item">APIResource v1 meta</a></li><li class="nav-level-2"><a href="#accessspec-v1alpha2-kops" class="nav-item">AccessSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#addonspec-v1alpha2-kops" class="nav-item">AddonSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#alwaysallowauthorizationspec-v1alpha2-kops" class="nav-item">AlwaysAllowAuthorizationSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#amazonvpcnetworkingspec-v1alpha2-kops" class="nav-item">AmazonVPCNetworkingSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#assets-v1alpha2-kops" class="nav-item">Assets v1alpha2 kops</a></li><li class="nav-level-2"><a href="#authenticationspec-v1alpha2-kops" class="nav-item">AuthenticationSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#authorizationspec-v1alpha2-kops" class="nav-item">AuthorizationSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#bastionspec-v1alpha2-kops" class="nav-item">BastionSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#cninetworkingspec-v1alpha2-kops" class="nav-item">CNINetworkingSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#caliconetworkingspec-v1alpha2-kops" class="nav-item">CalicoNetworkingSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#canalnetworkingspec-v1alpha2-kops" class="nav-item">CanalNetworkingSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#ciliumnetworkingspec-v1alpha2-kops" class="nav-item">CiliumNetworkingSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#classicnetworkingspec-v1alpha2-kops" class="nav-item">ClassicNetworkingSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#cloudconfiguration-v1alpha2-kops" class="nav-item">CloudConfiguration v1alpha2 kops</a></li><li class="nav-level-2"><a href="#cloudcontrollermanagerconfig-v1alpha2-kops" class="nav-item">CloudControllerManagerConfig v1alpha2 kops</a></li><li class="nav-level-2"><a href="#clustersubnetspec-v1alpha2-kops" class="nav-item">ClusterSubnetSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#dnsaccessspec-v1alpha2-kops" class="nav-item">DNSAccessSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#dnsspec-v1alpha2-kops" class="nav-item">DNSSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#deleteoptions-v1-meta" class="nav-item">DeleteOptions v1 meta</a></li><li class="nav-level-2"><a href="#dockerconfig-v1alpha2-kops" class="nav-item">DockerConfig v1alpha2 kops</a></li><li class="nav-level-2"><a href="#duration-v1-meta" class="nav-item">Duration v1 meta</a></li><li class="nav-level-2"><a href="#egressproxyspec-v1alpha2-kops" class="nav-item">EgressProxySpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#etcdbackupspec-v1alpha2-kops" class="nav-item">EtcdBackupSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#etcdclusterspec-v1alpha2-kops" class="nav-item">EtcdClusterSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#etcdmemberspec-v1alpha2-kops" class="nav-item">EtcdMemberSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#execcontaineraction-v1alpha2-kops" class="nav-item">ExecContainerAction v1alpha2 kops</a></li><li class="nav-level-2"><a href="#externaldnsconfig-v1alpha2-kops" class="nav-item">ExternalDNSConfig v1alpha2 kops</a></li><li class="nav-level-2"><a href="#externalnetworkingspec-v1alpha2-kops" class="nav-item">ExternalNetworkingSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#fileassetspec-v1alpha2-kops" class="nav-item">FileAssetSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#flannelnetworkingspec-v1alpha2-kops" class="nav-item">FlannelNetworkingSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#groupversionfordiscovery-v1-meta" class="nav-item">GroupVersionForDiscovery v1 meta</a></li><li class="nav-level-2"><a href="#httpproxy-v1alpha2-kops" class="nav-item">HTTPProxy v1alpha2 kops</a></li><li class="nav-level-2"><a href="#hookspec-v1alpha2-kops" class="nav-item">HookSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#iamspec-v1alpha2-kops" class="nav-item">IAMSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#initializer-v1-meta" class="nav-item">Initializer v1 meta</a></li><li class="nav-level-2"><a href="#initializers-v1-meta" class="nav-item">Initializers v1 meta</a></li><li class="nav-level-2"><a href="#kopeioauthenticationspec-v1alpha2-kops" class="nav-item">KopeioAuthenticationSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#kopeionetworkingspec-v1alpha2-kops" class="nav-item">KopeioNetworkingSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#kubeapiserverconfig-v1alpha2-kops" class="nav-item">KubeAPIServerConfig v1alpha2 kops</a></li><li class="nav-level-2"><a href="#kubecontrollermanagerconfig-v1alpha2-kops" class="nav-item">KubeControllerManagerConfig v1alpha2 kops</a></li><li class="nav-level-2"><a href="#kubednsconfig-v1alpha2-kops" class="nav-item">KubeDNSConfig v1alpha2 kops</a></li><li class="nav-level-2"><a href="#kubeproxyconfig-v1alpha2-kops" class="nav-item">KubeProxyConfig v1alpha2 kops</a></li><li class="nav-level-2"><a href="#kubeschedulerconfig-v1alpha2-kops" class="nav-item">KubeSchedulerConfig v1alpha2 kops</a></li><li class="nav-level-2"><a href="#kubeletconfigspec-v1alpha2-kops" class="nav-item">KubeletConfigSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#kubenetnetworkingspec-v1alpha2-kops" class="nav-item">KubenetNetworkingSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#kuberouternetworkingspec-v1alpha2-kops" class="nav-item">KuberouterNetworkingSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#leaderelectionconfiguration-v1alpha2-kops" class="nav-item">LeaderElectionConfiguration v1alpha2 kops</a></li><li class="nav-level-2"><a href="#listmeta-v1-meta" class="nav-item">ListMeta v1 meta</a></li><li class="nav-level-2"><a href="#loadbalanceraccessspec-v1alpha2-kops" class="nav-item">LoadBalancerAccessSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#networkingspec-v1alpha2-kops" class="nav-item">NetworkingSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#objectmeta-v1-meta" class="nav-item">ObjectMeta v1 meta</a></li><li class="nav-level-2"><a href="#ownerreference-v1-meta" class="nav-item">OwnerReference v1 meta</a></li><li class="nav-level-2"><a href="#patch-v1-meta" class="nav-item">Patch v1 meta</a></li><li class="nav-level-2"><a href="#preconditions-v1-meta" class="nav-item">Preconditions v1 meta</a></li><li class="nav-level-2"><a href="#rbacauthorizationspec-v1alpha2-kops" class="nav-item">RBACAuthorizationSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#romananetworkingspec-v1alpha2-kops" class="nav-item">RomanaNetworkingSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#serveraddressbyclientcidr-v1-meta" class="nav-item">ServerAddressByClientCIDR v1 meta</a></li><li class="nav-level-2"><a href="#status-v1-meta" class="nav-item">Status v1 meta</a></li><li class="nav-level-2"><a href="#statuscause-v1-meta" class="nav-item">StatusCause v1 meta</a></li><li class="nav-level-2"><a href="#statusdetails-v1-meta" class="nav-item">StatusDetails v1 meta</a></li><li class="nav-level-2"><a href="#targetspec-v1alpha2-kops" class="nav-item">TargetSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#terraformspec-v1alpha2-kops" class="nav-item">TerraformSpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#time-v1-meta" class="nav-item">Time v1 meta</a></li><li class="nav-level-2"><a href="#topologyspec-v1alpha2-kops" class="nav-item">TopologySpec v1alpha2 kops</a></li><li class="nav-level-2"><a href="#userdata-v1alpha2-kops" class="nav-item">UserData v1alpha2 kops</a></li><li class="nav-level-2"><a href="#watchevent-v1-meta" class="nav-item">WatchEvent v1 meta</a></li><li class="nav-level-2"><a href="#weavenetworkingspec-v1alpha2-kops" class="nav-item">WeaveNetworkingSpec v1alpha2 kops</a></li></ul></ul><ul><li class="nav-level-1 strong-nav"><a href="#-strong-old-versions-strong-" class="nav-item"><strong>Old Versions</strong></a></li></ul><br/><div class="copyright"><a href="https://github.com/kubernetes/kubernetes">Copyright 2016 The Kubernetes Authors.</a></div></div>
<div id="wrapper">
<div id="code-tabs-wrapper" class="code-tabs"><ul class="code-tab-list"><li class="code-tab" id="example">example</li></ul></div>
<div id="page-content-wrapper" class="body-content container-fluid"><h1 id="-strong-kops-strong-"><strong>kops</strong></h1>
<hr>
<hr>
<h1 id="cluster-v1alpha2-kops">Cluster v1alpha2 kops</h1>
<blockquote class="code-block example">
<p> </p>
</blockquote>
<pre class="code-block example"><code class="lang-yaml">
<span class="hljs-attribute">apiVersion</span>: kops/v1alpha2
<span class="hljs-attribute">kind</span>: Cluster
<span class="hljs-attribute">metadata</span>:
<span class="hljs-attribute">creationTimestamp</span>: <span class="hljs-string">"2019-12-10T22:42:27Z"</span>
<span class="hljs-attribute">name</span>: test.example.com
<span class="hljs-attribute">spec</span>:
<span class="hljs-attribute">api</span>:
<span class="hljs-attribute">loadBalancer</span>:
<span class="hljs-attribute">type</span>: Public
<span class="hljs-attribute">additionalSecurityGroups</span>:
- sg-exampleid3
- sg-exampleid4
<span class="hljs-attribute">authorization</span>:
<span class="hljs-attribute">rbac</span>: {}
<span class="hljs-attribute">kubernetesApiAccess</span>:
- <span class="hljs-number">0.0</span>.<span class="hljs-number">0.0</span>/<span class="hljs-number">0</span>
<span class="hljs-attribute">channel</span>: stable
<span class="hljs-attribute">cloudProvider</span>: aws
<span class="hljs-attribute">cloudLabels</span>:
<span class="hljs-attribute">Owner</span>: John Doe
foo/<span class="hljs-attribute">bar</span>: fib+baz
<span class="hljs-attribute">configBase</span>: <span class="hljs-attribute">s3</span>:<span class="hljs-comment">//test.example.com/test.example.com</span>
<span class="hljs-attribute">etcdClusters</span>:
- <span class="hljs-attribute">etcdMembers</span>:
- <span class="hljs-attribute">instanceGroup</span>: master-us-test-<span class="hljs-number">1</span>a
<span class="hljs-attribute">name</span>: us-test-<span class="hljs-number">1</span>a
<span class="hljs-attribute">name</span>: main
<span class="hljs-attribute">version</span>: <span class="hljs-number">3.0</span>.<span class="hljs-number">17</span>
- <span class="hljs-attribute">etcdMembers</span>:
- <span class="hljs-attribute">instanceGroup</span>: master-us-test-<span class="hljs-number">1</span>a
<span class="hljs-attribute">name</span>: us-test-<span class="hljs-number">1</span>a
<span class="hljs-attribute">name</span>: events
<span class="hljs-attribute">version</span>: <span class="hljs-number">3.0</span>.<span class="hljs-number">17</span>
<span class="hljs-attribute">kubeAPIServer</span>:
<span class="hljs-attribute">serviceNodePortRange</span>: <span class="hljs-number">28000</span>-<span class="hljs-number">32767</span>
<span class="hljs-attribute">kubernetesVersion</span>: <span class="hljs-number">1.8</span>.<span class="hljs-number">5</span>
<span class="hljs-attribute">masterInternalName</span>: api.internal.test.example.com
<span class="hljs-attribute">masterPublicName</span>: api.test.example.com
<span class="hljs-attribute">networkCIDR</span>: <span class="hljs-number">172.20</span>.<span class="hljs-number">0.0</span>/<span class="hljs-number">16</span>
<span class="hljs-attribute">networkID</span>: vpc-<span class="hljs-number">12345678</span>
<span class="hljs-attribute">networking</span>:
<span class="hljs-attribute">weave</span>:
<span class="hljs-attribute">mtu</span>: <span class="hljs-number">8912</span>
<span class="hljs-attribute">nodePortAccess</span>:
- <span class="hljs-number">1.2</span>.<span class="hljs-number">3.4</span>/<span class="hljs-number">32</span>
- <span class="hljs-number">10.20</span>.<span class="hljs-number">30.0</span>/<span class="hljs-number">24</span>
<span class="hljs-attribute">nonMasqueradeCIDR</span>: <span class="hljs-number">100.64</span>.<span class="hljs-number">0.0</span>/<span class="hljs-number">10</span>
<span class="hljs-attribute">sshAccess</span>:
- <span class="hljs-number">0.0</span>.<span class="hljs-number">0.0</span>/<span class="hljs-number">0</span>
<span class="hljs-attribute">subnets</span>:
- <span class="hljs-attribute">cidr</span>: <span class="hljs-number">172.20</span>.<span class="hljs-number">32.0</span>/<span class="hljs-number">19</span>
<span class="hljs-attribute">id</span>: subnet-<span class="hljs-number">12345678</span>
<span class="hljs-attribute">name</span>: us-test-<span class="hljs-number">1</span>a
<span class="hljs-attribute">type</span>: Public
<span class="hljs-attribute">zone</span>: us-test-<span class="hljs-number">1</span>a
- <span class="hljs-attribute">cidr</span>: <span class="hljs-number">172.20</span>.<span class="hljs-number">4.0</span>/<span class="hljs-number">22</span>
<span class="hljs-attribute">name</span>: utility-us-test-<span class="hljs-number">1</span>a
<span class="hljs-attribute">type</span>: Utility
<span class="hljs-attribute">zone</span>: us-test-<span class="hljs-number">1</span>a
<span class="hljs-attribute">id</span>: subnet-<span class="hljs-number">12345679</span>
<span class="hljs-attribute">topology</span>:
<span class="hljs-attribute">masters</span>: private
<span class="hljs-attribute">nodes</span>: private
</code></pre>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>Cluster</td>
</tr>
</tbody>
</table>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterlist-v1alpha2-kops">ClusterList kops/v1alpha2</a></li>
</ul> </aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>apiVersion <br /> <em>string</em></td>
<td>APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: <a href="https://git.k8s.io/community/contributors/devel/api-conventions.md#resources">https://git.k8s.io/community/contributors/devel/api-conventions.md#resources</a></td>
</tr>
<tr>
<td>kind <br /> <em>string</em></td>
<td>Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: <a href="https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds">https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds</a></td>
</tr>
<tr>
<td>metadata <br /> <em><a href="#objectmeta-v1-meta">ObjectMeta</a></em></td>
<td></td>
</tr>
<tr>
<td>spec <br /> <em><a href="#clusterspec-v1alpha2-kops">ClusterSpec</a></em></td>
<td></td>
</tr>
</tbody>
</table>
<h3 id="clusterspec-v1alpha2-kops">ClusterSpec v1alpha2 kops</h3>
<aside class="notice">
Appears In:
<ul>
<li><a href="#cluster-v1alpha2-kops">Cluster kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>additionalNetworkCIDRs <br /> <em>string array</em></td>
<td>AdditionalNetworkCIDRs is a list of additional CIDR used for the AWS VPC or otherwise allocated to k8s. This is a real CIDR, not the internal k8s network On AWS, it maps to any additional CIDRs added to a VPC.</td>
</tr>
<tr>
<td>additionalPolicies <br /> <em>object</em></td>
<td>Additional policies to add for roles</td>
</tr>
<tr>
<td>additionalSans <br /> <em>string array</em></td>
<td>AdditionalSANs adds additional Subject Alternate Names to apiserver cert that kops generates</td>
</tr>
<tr>
<td>addons <br /> <em><a href="#addonspec-v1alpha2-kops">AddonSpec</a> array</em></td>
<td>Additional addons that should be installed on the cluster</td>
</tr>
<tr>
<td>api <br /> <em><a href="#accessspec-v1alpha2-kops">AccessSpec</a></em></td>
<td>API field controls how the API is exposed outside the cluster</td>
</tr>
<tr>
<td>assets <br /> <em><a href="#assets-v1alpha2-kops">Assets</a></em></td>
<td>Alternative locations for files and containers</td>
</tr>
<tr>
<td>authentication <br /> <em><a href="#authenticationspec-v1alpha2-kops">AuthenticationSpec</a></em></td>
<td>Authentication field controls how the cluster is configured for authentication</td>
</tr>
<tr>
<td>authorization <br /> <em><a href="#authorizationspec-v1alpha2-kops">AuthorizationSpec</a></em></td>
<td>Authorization field controls how the cluster is configured for authorization</td>
</tr>
<tr>
<td>channel <br /> <em>string</em></td>
<td>The Channel we are following</td>
</tr>
<tr>
<td>cloudConfig <br /> <em><a href="#cloudconfiguration-v1alpha2-kops">CloudConfiguration</a></em></td>
<td></td>
</tr>
<tr>
<td>cloudControllerManager <br /> <em><a href="#cloudcontrollermanagerconfig-v1alpha2-kops">CloudControllerManagerConfig</a></em></td>
<td></td>
</tr>
<tr>
<td>cloudLabels <br /> <em>object</em></td>
<td>Tags for AWS resources</td>
</tr>
<tr>
<td>cloudProvider <br /> <em>string</em></td>
<td>The CloudProvider to use (aws or gce)</td>
</tr>
<tr>
<td>clusterDNSDomain <br /> <em>string</em></td>
<td>ClusterDNSDomain is the suffix we use for internal DNS names (normally cluster.local)</td>
</tr>
<tr>
<td>configBase <br /> <em>string</em></td>
<td>ConfigBase is the path where we store configuration for the cluster This might be different that the location when the cluster spec itself is stored, both because this must be accessible to the cluster, and because it might be on a different cloud or storage system (etcd vs S3)</td>
</tr>
<tr>
<td>configStore <br /> <em>string</em></td>
<td>ConfigStore is the VFS path to where the configuration (Cluster, InstanceGroups etc) is stored</td>
</tr>
<tr>
<td>dnsZone <br /> <em>string</em></td>
<td>DNSZone is the DNS zone we should use when configuring DNS This is because some clouds let us define a managed zone foo.bar, and then have kubernetes.dev.foo.bar, without needing to define dev.foo.bar as a hosted zone. DNSZone will probably be a suffix of the MasterPublicName and MasterInternalName Note that DNSZone can either by the host name of the zone (containing dots), or can be an identifier for the zone.</td>
</tr>
<tr>
<td>docker <br /> <em><a href="#dockerconfig-v1alpha2-kops">DockerConfig</a></em></td>
<td>Component configurations</td>
</tr>
<tr>
<td>egressProxy <br /> <em><a href="#egressproxyspec-v1alpha2-kops">EgressProxySpec</a></em></td>
<td>HTTPProxy defines connection information to support use of a private cluster behind an forward HTTP Proxy</td>
</tr>
<tr>
<td>encryptionConfig <br /> <em>boolean</em></td>
<td>EncryptionConfig holds the encryption config</td>
</tr>
<tr>
<td>etcdClusters <br /> <em><a href="#etcdclusterspec-v1alpha2-kops">EtcdClusterSpec</a> array</em></td>
<td>EtcdClusters stores the configuration for each cluster</td>
</tr>
<tr>
<td>externalDns <br /> <em><a href="#externaldnsconfig-v1alpha2-kops">ExternalDNSConfig</a></em></td>
<td></td>
</tr>
<tr>
<td>fileAssets <br /> <em><a href="#fileassetspec-v1alpha2-kops">FileAssetSpec</a> array</em></td>
<td>A collection of files assets for deployed cluster wide</td>
</tr>
<tr>
<td>hooks <br /> <em><a href="#hookspec-v1alpha2-kops">HookSpec</a> array</em></td>
<td>Hooks for custom actions e.g. on first installation</td>
</tr>
<tr>
<td>iam <br /> <em><a href="#iamspec-v1alpha2-kops">IAMSpec</a></em></td>
<td>IAM field adds control over the IAM security policies applied to resources</td>
</tr>
<tr>
<td>isolateMasters <br /> <em>boolean</em></td>
<td>IsolateMasters determines whether we should lock down masters so that they are not on the pod network. true is the kube-up behaviour, but it is very surprising: it means that daemonsets only work on the master if they have hostNetwork=true. false is now the default, and it will: <em> give the master a normal PodCIDR </em> run kube-proxy on the master * enable debugging handlers on the master, so kubectl logs works</td>
</tr>
<tr>
<td>keyStore <br /> <em>string</em></td>
<td>KeyStore is the VFS path to where SSL keys and certificates are stored</td>
</tr>
<tr>
<td>kubeAPIServer <br /> <em><a href="#kubeapiserverconfig-v1alpha2-kops">KubeAPIServerConfig</a></em></td>
<td></td>
</tr>
<tr>
<td>kubeControllerManager <br /> <em><a href="#kubecontrollermanagerconfig-v1alpha2-kops">KubeControllerManagerConfig</a></em></td>
<td></td>
</tr>
<tr>
<td>kubeDNS <br /> <em><a href="#kubednsconfig-v1alpha2-kops">KubeDNSConfig</a></em></td>
<td></td>
</tr>
<tr>
<td>kubeProxy <br /> <em><a href="#kubeproxyconfig-v1alpha2-kops">KubeProxyConfig</a></em></td>
<td></td>
</tr>
<tr>
<td>kubeScheduler <br /> <em><a href="#kubeschedulerconfig-v1alpha2-kops">KubeSchedulerConfig</a></em></td>
<td></td>
</tr>
<tr>
<td>kubelet <br /> <em><a href="#kubeletconfigspec-v1alpha2-kops">KubeletConfigSpec</a></em></td>
<td></td>
</tr>
<tr>
<td>kubernetesApiAccess <br /> <em>string array</em></td>
<td>KubernetesAPIAccess determines the permitted access to the API endpoints (master HTTPS) Currently only a single CIDR is supported (though a richer grammar could be added in future)</td>
</tr>
<tr>
<td>kubernetesVersion <br /> <em>string</em></td>
<td>The version of kubernetes to install (optional, and can be a &quot;spec&quot; like stable)</td>
</tr>
<tr>
<td>masterInternalName <br /> <em>string</em></td>
<td>MasterInternalName is the internal DNS name for the master nodes</td>
</tr>
<tr>
<td>masterKubelet <br /> <em><a href="#kubeletconfigspec-v1alpha2-kops">KubeletConfigSpec</a></em></td>
<td></td>
</tr>
<tr>
<td>masterPublicName <br /> <em>string</em></td>
<td>MasterPublicName is the external DNS name for the master nodes</td>
</tr>
<tr>
<td>networkCIDR <br /> <em>string</em></td>
<td>NetworkCIDR is the CIDR used for the AWS VPC / GCE Network, or otherwise allocated to k8s This is a real CIDR, not the internal k8s network On AWS, it maps to the VPC CIDR. It is not required on GCE.</td>
</tr>
<tr>
<td>networkID <br /> <em>string</em></td>
<td>NetworkID is an identifier of a network, if we want to reuse/share an existing network (e.g. an AWS VPC)</td>
</tr>
<tr>
<td>networking <br /> <em><a href="#networkingspec-v1alpha2-kops">NetworkingSpec</a></em></td>
<td>Networking configuration</td>
</tr>
<tr>
<td>nodePortAccess <br /> <em>string array</em></td>
<td>NodePortAccess is a list of the CIDRs that can access the node ports range (30000-32767).</td>
</tr>
<tr>
<td>nonMasqueradeCIDR <br /> <em>string</em></td>
<td>MasterIPRange string <code>json:&quot;,omitempty&quot;</code> NonMasqueradeCIDR is the CIDR for the internal k8s network (on which pods &amp; services live) It cannot overlap ServiceClusterIPRange</td>
</tr>
<tr>
<td>project <br /> <em>string</em></td>
<td>Project is the cloud project we should use, required on GCE</td>
</tr>
<tr>
<td>secretStore <br /> <em>string</em></td>
<td>SecretStore is the VFS path to where secrets are stored</td>
</tr>
<tr>
<td>serviceClusterIPRange <br /> <em>string</em></td>
<td>ServiceClusterIPRange is the CIDR, from the internal network, where we allocate IPs for services</td>
</tr>
<tr>
<td>sshAccess <br /> <em>string array</em></td>
<td>SSHAccess determines the permitted access to SSH Currently only a single CIDR is supported (though a richer grammar could be added in future)</td>
</tr>
<tr>
<td>sshKeyName <br /> <em>string</em></td>
<td>SSHKeyName specifies a preexisting SSH key to use</td>
</tr>
<tr>
<td>subnets <br /> <em><a href="#clustersubnetspec-v1alpha2-kops">ClusterSubnetSpec</a> array</em></td>
<td>Configuration of subnets we are targeting</td>
</tr>
<tr>
<td>target <br /> <em><a href="#targetspec-v1alpha2-kops">TargetSpec</a></em></td>
<td>Target allows for us to nest extra config for targets such as terraform</td>
</tr>
<tr>
<td>topology <br /> <em><a href="#topologyspec-v1alpha2-kops">TopologySpec</a></em></td>
<td>Topology defines the type of network topology to use on the cluster - default public This is heavily weighted towards AWS for the time being, but should also be agnostic enough to port out to GCE later if needed</td>
</tr>
<tr>
<td>updatePolicy <br /> <em>string</em></td>
<td>UpdatePolicy determines the policy for applying upgrades automatically. Valid values: &#39;external&#39; do not apply updates automatically - they are applied manually or by an external system missing: default policy (currently OS security upgrades that do not require a reboot)</td>
</tr>
</tbody>
</table>
<h3 id="clusterlist-v1alpha2-kops">ClusterList v1alpha2 kops</h3>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>apiVersion <br /> <em>string</em></td>
<td>APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: <a href="https://git.k8s.io/community/contributors/devel/api-conventions.md#resources">https://git.k8s.io/community/contributors/devel/api-conventions.md#resources</a></td>
</tr>
<tr>
<td>items <br /> <em><a href="#cluster-v1alpha2-kops">Cluster</a> array</em></td>
<td></td>
</tr>
<tr>
<td>kind <br /> <em>string</em></td>
<td>Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: <a href="https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds">https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds</a></td>
</tr>
<tr>
<td>metadata <br /> <em><a href="#listmeta-v1-meta">ListMeta</a></em></td>
<td></td>
</tr>
</tbody>
</table>
<hr>
<h1 id="instancegroup-v1alpha2-kops">InstanceGroup v1alpha2 kops</h1>
<blockquote class="code-block example">
<p> </p>
</blockquote>
<pre class="code-block example"><code class="lang-yaml">
<span class="hljs-attr">apiVersion:</span> <span class="hljs-string">kops/v1alpha2</span>
<span class="hljs-attr">kind:</span> <span class="hljs-string">InstanceGroup</span>
<span class="hljs-attr">metadata:</span>
<span class="hljs-attr"> creationTimestamp:</span> <span class="hljs-literal">null</span>
<span class="hljs-attr"> labels:</span>
<span class="hljs-string">kops.k8s.io/cluster:</span> <span class="hljs-string">test.aws.k8spro.com</span>
<span class="hljs-attr"> name:</span> <span class="hljs-string">nodes</span>
<span class="hljs-attr">spec:</span>
<span class="hljs-attr"> image:</span> <span class="hljs-string">kope.io/k8s-1.8-debian-jessie-amd64-hvm-ebs-2017-12-02</span>
<span class="hljs-attr"> machineType:</span> <span class="hljs-string">t2.medium</span>
<span class="hljs-attr"> maxSize:</span> <span class="hljs-number">2</span>
<span class="hljs-attr"> minSize:</span> <span class="hljs-number">2</span>
<span class="hljs-attr"> minPrice:</span> <span class="hljs-string">"0.2"</span>
<span class="hljs-attr"> cloudLabels:</span>
<span class="hljs-attr"> team:</span> <span class="hljs-string">me</span>
<span class="hljs-attr"> project:</span> <span class="hljs-string">ion</span>
<span class="hljs-attr"> nodeLabels:</span>
<span class="hljs-string">kops.k8s.io/instancegroup:</span> <span class="hljs-string">nodes</span>
<span class="hljs-attr"> role:</span> <span class="hljs-string">Node</span>
<span class="hljs-attr"> rootVolumeSize:</span> <span class="hljs-number">200</span>
<span class="hljs-attr"> rootVolumeOptimization:</span> <span class="hljs-literal">true</span>
<span class="hljs-attr"> subnets:</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">us-west-2a</span>
<span class="hljs-attr"> taints:</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">dedicated=gpu:NoSchedule</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">team=search:PreferNoSchedule</span>
</code></pre>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>InstanceGroup</td>
</tr>
</tbody>
</table>
<p>InstanceGroup represents a group of instances (either nodes or masters) with the same configuration</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#instancegrouplist-v1alpha2-kops">InstanceGroupList kops/v1alpha2</a></li>
</ul> </aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>apiVersion <br /> <em>string</em></td>
<td>APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: <a href="https://git.k8s.io/community/contributors/devel/api-conventions.md#resources">https://git.k8s.io/community/contributors/devel/api-conventions.md#resources</a></td>
</tr>
<tr>
<td>kind <br /> <em>string</em></td>
<td>Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: <a href="https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds">https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds</a></td>
</tr>
<tr>
<td>metadata <br /> <em><a href="#objectmeta-v1-meta">ObjectMeta</a></em></td>
<td></td>
</tr>
<tr>
<td>spec <br /> <em><a href="#instancegroupspec-v1alpha2-kops">InstanceGroupSpec</a></em></td>
<td></td>
</tr>
</tbody>
</table>
<h3 id="instancegroupspec-v1alpha2-kops">InstanceGroupSpec v1alpha2 kops</h3>
<aside class="notice">
Appears In:
<ul>
<li><a href="#instancegroup-v1alpha2-kops">InstanceGroup kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>additionalSecurityGroups <br /> <em>string array</em></td>
<td>AdditionalSecurityGroups attaches additional security groups (e.g. i-123456)</td>
</tr>
<tr>
<td>additionalUserData <br /> <em><a href="#userdata-v1alpha2-kops">UserData</a> array</em></td>
<td>AdditionalUserData is any additional user-data to be passed to the host</td>
</tr>
<tr>
<td>associatePublicIp <br /> <em>boolean</em></td>
<td>AssociatePublicIP is true if we want instances to have a public IP</td>
</tr>
<tr>
<td>cloudLabels <br /> <em>object</em></td>
<td>CloudLabels indicates the labels for instances in this group, at the AWS level</td>
</tr>
<tr>
<td>detailedInstanceMonitoring <br /> <em>boolean</em></td>
<td>DetailedInstanceMonitoring defines if detailed-monitoring is enabled (AWS only)</td>
</tr>
<tr>
<td>fileAssets <br /> <em><a href="#fileassetspec-v1alpha2-kops">FileAssetSpec</a> array</em></td>
<td>FileAssets is a collection of file assets for this instance group</td>
</tr>
<tr>
<td>hooks <br /> <em><a href="#hookspec-v1alpha2-kops">HookSpec</a> array</em></td>
<td>Hooks is a list of hooks for this instanceGroup, note: these can override the cluster wide ones if required</td>
</tr>
<tr>
<td>image <br /> <em>string</em></td>
<td>Image is the instance (ami etc) we should use</td>
</tr>
<tr>
<td>kubelet <br /> <em><a href="#kubeletconfigspec-v1alpha2-kops">KubeletConfigSpec</a></em></td>
<td>Kubelet overrides kubelet config from the ClusterSpec</td>
</tr>
<tr>
<td>machineType <br /> <em>string</em></td>
<td>MachineType is the instance class</td>
</tr>
<tr>
<td>maxPrice <br /> <em>string</em></td>
<td>MaxPrice indicates this is a spot-pricing group, with the specified value as our max-price bid</td>
</tr>
<tr>
<td>maxSize <br /> <em>integer</em></td>
<td>MaxSize is the maximum size of the pool</td>
</tr>
<tr>
<td>minSize <br /> <em>integer</em></td>
<td>MinSize is the minimum size of the pool</td>
</tr>
<tr>
<td>nodeLabels <br /> <em>object</em></td>
<td>NodeLabels indicates the kubernetes labels for nodes in this group</td>
</tr>
<tr>
<td>role <br /> <em>string</em></td>
<td>Type determines the role of instances in this group: masters or nodes</td>
</tr>
<tr>
<td>rootVolumeIops <br /> <em>integer</em></td>
<td>If volume type is io1, then we need to specify the number of Iops.</td>
</tr>
<tr>
<td>rootVolumeOptimization <br /> <em>boolean</em></td>
<td>RootVolumeOptimization enables EBS optimization for an instance</td>
</tr>
<tr>
<td>rootVolumeSize <br /> <em>integer</em></td>
<td>RootVolumeSize is the size of the EBS root volume to use, in GB</td>
</tr>
<tr>
<td>rootVolumeType <br /> <em>string</em></td>
<td>RootVolumeType is the type of the EBS root volume to use (e.g. gp2)</td>
</tr>
<tr>
<td>subnets <br /> <em>string array</em></td>
<td>Subnets is the names of the Subnets (as specified in the Cluster) where machines in this instance group should be placed</td>
</tr>
<tr>
<td>suspendProcesses <br /> <em>string array</em></td>
<td>SuspendProcesses disables the listed Scaling Policies</td>
</tr>
<tr>
<td>taints <br /> <em>string array</em></td>
<td>Taints indicates the kubernetes taints for nodes in this group</td>
</tr>
<tr>
<td>tenancy <br /> <em>string</em></td>
<td>Describes the tenancy of the instance group. Can be either default or dedicated. Currently only applies to AWS.</td>
</tr>
<tr>
<td>zones <br /> <em>string array</em></td>
<td>Zones is the names of the Zones where machines in this instance group should be placed This is needed for regional subnets (e.g. GCE), to restrict placement to particular zones</td>
</tr>
</tbody>
</table>
<h3 id="instancegrouplist-v1alpha2-kops">InstanceGroupList v1alpha2 kops</h3>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>apiVersion <br /> <em>string</em></td>
<td>APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: <a href="https://git.k8s.io/community/contributors/devel/api-conventions.md#resources">https://git.k8s.io/community/contributors/devel/api-conventions.md#resources</a></td>
</tr>
<tr>
<td>items <br /> <em><a href="#instancegroup-v1alpha2-kops">InstanceGroup</a> array</em></td>
<td></td>
</tr>
<tr>
<td>kind <br /> <em>string</em></td>
<td>Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: <a href="https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds">https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds</a></td>
</tr>
<tr>
<td>metadata <br /> <em><a href="#listmeta-v1-meta">ListMeta</a></em></td>
<td></td>
</tr>
</tbody>
</table>
<h1 id="-strong-definitions-strong-"><strong>Definitions</strong></h1>
<hr>
<h2 id="apigroup-v1-meta">APIGroup v1 meta</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>meta</td>
<td>v1</td>
<td>APIGroup</td>
</tr>
</tbody>
</table>
<p>APIGroup contains the name, the supported versions, and the preferred version of a group.</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#apigrouplist-v1-meta">APIGroupList meta/v1</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>apiVersion <br /> <em>string</em></td>
<td>APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: <a href="https://git.k8s.io/community/contributors/devel/api-conventions.md#resources">https://git.k8s.io/community/contributors/devel/api-conventions.md#resources</a></td>
</tr>
<tr>
<td>kind <br /> <em>string</em></td>
<td>Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: <a href="https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds">https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds</a></td>
</tr>
<tr>
<td>name <br /> <em>string</em></td>
<td>name is the name of the group.</td>
</tr>
<tr>
<td>preferredVersion <br /> <em><a href="#groupversionfordiscovery-v1-meta">GroupVersionForDiscovery</a></em></td>
<td>preferredVersion is the version preferred by the API server, which probably is the storage version.</td>
</tr>
<tr>
<td>serverAddressByClientCIDRs <br /> <em><a href="#serveraddressbyclientcidr-v1-meta">ServerAddressByClientCIDR</a> array</em></td>
<td>a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.</td>
</tr>
<tr>
<td>versions <br /> <em><a href="#groupversionfordiscovery-v1-meta">GroupVersionForDiscovery</a> array</em></td>
<td>versions are the versions supported in this group.</td>
</tr>
</tbody>
</table>
<h2 id="apiresource-v1-meta">APIResource v1 meta</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>meta</td>
<td>v1</td>
<td>APIResource</td>
</tr>
</tbody>
</table>
<p>APIResource specifies the name of a resource and whether it is namespaced.</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#apiresourcelist-v1-meta">APIResourceList meta/v1</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>categories <br /> <em>string array</em></td>
<td>categories is a list of the grouped resources this resource belongs to (e.g. &#39;all&#39;)</td>
</tr>
<tr>
<td>group <br /> <em>string</em></td>
<td>group is the preferred group of the resource. Empty implies the group of the containing resource list. For subresources, this may have a different value, for example: Scale&quot;.</td>
</tr>
<tr>
<td>kind <br /> <em>string</em></td>
<td>kind is the kind for the resource (e.g. &#39;Foo&#39; is the kind for a resource &#39;foo&#39;)</td>
</tr>
<tr>
<td>name <br /> <em>string</em></td>
<td>name is the plural name of the resource.</td>
</tr>
<tr>
<td>namespaced <br /> <em>boolean</em></td>
<td>namespaced indicates if a resource is namespaced or not.</td>
</tr>
<tr>
<td>shortNames <br /> <em>string array</em></td>
<td>shortNames is a list of suggested short names of the resource.</td>
</tr>
<tr>
<td>singularName <br /> <em>string</em></td>
<td>singularName is the singular name of the resource. This allows clients to handle plural and singular opaquely. The singularName is more correct for reporting status on a single item and both singular and plural are allowed from the kubectl CLI interface.</td>
</tr>
<tr>
<td>verbs <br /> <em>string array</em></td>
<td>verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)</td>
</tr>
<tr>
<td>version <br /> <em>string</em></td>
<td>version is the preferred version of the resource. Empty implies the version of the containing resource list For subresources, this may have a different value, for example: v1 (while inside a v1beta1 version of the core resource&#39;s group)&quot;.</td>
</tr>
</tbody>
</table>
<h2 id="accessspec-v1alpha2-kops">AccessSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>AccessSpec</td>
</tr>
</tbody>
</table>
<p>AccessSpec provides configuration details related to kubeapi dns and ELB access</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterspec-v1alpha2-kops">ClusterSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>dns <br /> <em><a href="#dnsaccessspec-v1alpha2-kops">DNSAccessSpec</a></em></td>
<td>DNS will be used to provide config on kube-apiserver ELB DNS</td>
</tr>
<tr>
<td>loadBalancer <br /> <em><a href="#loadbalanceraccessspec-v1alpha2-kops">LoadBalancerAccessSpec</a></em></td>
<td>LoadBalancer is the configuration for the kube-apiserver ELB</td>
</tr>
</tbody>
</table>
<h2 id="addonspec-v1alpha2-kops">AddonSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>AddonSpec</td>
</tr>
</tbody>
</table>
<p>AddonSpec defines an addon that we want to install in the cluster</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterspec-v1alpha2-kops">ClusterSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>manifest <br /> <em>string</em></td>
<td>Manifest is a path to the manifest that defines the addon</td>
</tr>
</tbody>
</table>
<h2 id="alwaysallowauthorizationspec-v1alpha2-kops">AlwaysAllowAuthorizationSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>AlwaysAllowAuthorizationSpec</td>
</tr>
</tbody>
</table>
<aside class="notice">
Appears In:
<ul>
<li><a href="#authorizationspec-v1alpha2-kops">AuthorizationSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
</tr>
</tbody>
</table>
<h2 id="amazonvpcnetworkingspec-v1alpha2-kops">AmazonVPCNetworkingSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>AmazonVPCNetworkingSpec</td>
</tr>
</tbody>
</table>
<p>AmazonVPCNetworkingSpec declares that we want Amazon VPC CNI networking</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#networkingspec-v1alpha2-kops">NetworkingSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
</tr>
</tbody>
</table>
<h2 id="assets-v1alpha2-kops">Assets v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>Assets</td>
</tr>
</tbody>
</table>
<p>Assets defined the privately hosted assets</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterspec-v1alpha2-kops">ClusterSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>containerRegistry <br /> <em>string</em></td>
<td>ContainerRegistry is a url for to a docker registry</td>
</tr>
<tr>
<td>fileRepository <br /> <em>string</em></td>
<td>FileRepository is the url for a private file serving repository</td>
</tr>
</tbody>
</table>
<h2 id="authenticationspec-v1alpha2-kops">AuthenticationSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>AuthenticationSpec</td>
</tr>
</tbody>
</table>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterspec-v1alpha2-kops">ClusterSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>kopeio <br /> <em><a href="#kopeioauthenticationspec-v1alpha2-kops">KopeioAuthenticationSpec</a></em></td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="authorizationspec-v1alpha2-kops">AuthorizationSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>AuthorizationSpec</td>
</tr>
</tbody>
</table>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterspec-v1alpha2-kops">ClusterSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>alwaysAllow <br /> <em><a href="#alwaysallowauthorizationspec-v1alpha2-kops">AlwaysAllowAuthorizationSpec</a></em></td>
<td></td>
</tr>
<tr>
<td>rbac <br /> <em><a href="#rbacauthorizationspec-v1alpha2-kops">RBACAuthorizationSpec</a></em></td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="bastionspec-v1alpha2-kops">BastionSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>BastionSpec</td>
</tr>
</tbody>
</table>
<aside class="notice">
Appears In:
<ul>
<li><a href="#topologyspec-v1alpha2-kops">TopologySpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>bastionPublicName <br /> <em>string</em></td>
<td></td>
</tr>
<tr>
<td>idleTimeoutSeconds <br /> <em>integer</em></td>
<td>IdleTimeoutSeconds is the bastion&#39;s Loadbalancer idle timeout</td>
</tr>
</tbody>
</table>
<h2 id="cninetworkingspec-v1alpha2-kops">CNINetworkingSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>CNINetworkingSpec</td>
</tr>
</tbody>
</table>
<p>CNINetworkingSpec is the specification for networking that is implemented by a Daemonset Networking is not managed by kops - we can create options here that directly configure e.g. weave but this is useful for arbitrary network modes or for modes that don&#39;t need additional configuration.</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#networkingspec-v1alpha2-kops">NetworkingSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
</tr>
</tbody>
</table>
<h2 id="caliconetworkingspec-v1alpha2-kops">CalicoNetworkingSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>CalicoNetworkingSpec</td>
</tr>
</tbody>
</table>
<p>CalicoNetworkingSpec declares that we want Calico networking</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#networkingspec-v1alpha2-kops">NetworkingSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>crossSubnet <br /> <em>boolean</em></td>
<td></td>
</tr>
<tr>
<td>logSeverityScreen <br /> <em>string</em></td>
<td>LogSeverityScreen lets us set the desired log level. (Default: info)</td>
</tr>
<tr>
<td>prometheusGoMetricsEnabled <br /> <em>boolean</em></td>
<td>PrometheusGoMetricsEnabled enables Prometheus Go runtime metrics collection</td>
</tr>
<tr>
<td>prometheusMetricsEnabled <br /> <em>boolean</em></td>
<td>PrometheusMetricsEnabled can be set to enable the experimental Prometheus metrics server (default: false)</td>
</tr>
<tr>
<td>prometheusMetricsPort <br /> <em>integer</em></td>
<td>PrometheusMetricsPort is the TCP port that the experimental Prometheus metrics server should bind to (default: 9091)</td>
</tr>
<tr>
<td>prometheusProcessMetricsEnabled <br /> <em>boolean</em></td>
<td>PrometheusProcessMetricsEnabled enables Prometheus process metrics collection</td>
</tr>
</tbody>
</table>
<h2 id="canalnetworkingspec-v1alpha2-kops">CanalNetworkingSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>CanalNetworkingSpec</td>
</tr>
</tbody>
</table>
<p>CanalNetworkingSpec declares that we want Canal networking</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#networkingspec-v1alpha2-kops">NetworkingSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>chainInsertMode <br /> <em>string</em></td>
<td>ChainInsertMode controls whether Felix inserts rules to the top of iptables chains, or appends to the bottom. Leaving the default option is safest to prevent accidentally breaking connectivity. Default: &#39;insert&#39; (other options: &#39;append&#39;)</td>
</tr>
<tr>
<td>defaultEndpointToHostAction <br /> <em>string</em></td>
<td>DefaultEndpointToHostAction allows users to configure the default behaviour for traffic between pod to host after calico rules have been processed. Default: ACCEPT (other options: DROP, RETURN)</td>
</tr>
<tr>
<td>prometheusGoMetricsEnabled <br /> <em>boolean</em></td>
<td>PrometheusGoMetricsEnabled enables Prometheus Go runtime metrics collection</td>
</tr>
<tr>
<td>prometheusMetricsEnabled <br /> <em>boolean</em></td>
<td>PrometheusMetricsEnabled can be set to enable the experimental Prometheus metrics server (default: false)</td>
</tr>
<tr>
<td>prometheusMetricsPort <br /> <em>integer</em></td>
<td>PrometheusMetricsPort is the TCP port that the experimental Prometheus metrics server should bind to (default: 9091)</td>
</tr>
<tr>
<td>prometheusProcessMetricsEnabled <br /> <em>boolean</em></td>
<td>PrometheusProcessMetricsEnabled enables Prometheus process metrics collection</td>
</tr>
</tbody>
</table>
<h2 id="ciliumnetworkingspec-v1alpha2-kops">CiliumNetworkingSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>CiliumNetworkingSpec</td>
</tr>
</tbody>
</table>
<p>CiliumNetworkingSpec declares that we want Cilium networking</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#networkingspec-v1alpha2-kops">NetworkingSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>debug <br /> <em>boolean</em></td>
<td></td>
</tr>
<tr>
<td>tunnel <br /> <em>string</em></td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="classicnetworkingspec-v1alpha2-kops">ClassicNetworkingSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>ClassicNetworkingSpec</td>
</tr>
</tbody>
</table>
<p>ClassicNetworkingSpec is the specification of classic networking mode, integrated into kubernetes</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#networkingspec-v1alpha2-kops">NetworkingSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
</tr>
</tbody>
</table>
<h2 id="cloudconfiguration-v1alpha2-kops">CloudConfiguration v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>CloudConfiguration</td>
</tr>
</tbody>
</table>
<p>CloudConfiguration defines the cloud provider configuration</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterspec-v1alpha2-kops">ClusterSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>disableSecurityGroupIngress <br /> <em>boolean</em></td>
<td>AWS cloud-config options</td>
</tr>
<tr>
<td>elbSecurityGroup <br /> <em>string</em></td>
<td></td>
</tr>
<tr>
<td>multizone <br /> <em>boolean</em></td>
<td>GCE cloud-config options</td>
</tr>
<tr>
<td>nodeInstancePrefix <br /> <em>string</em></td>
<td></td>
</tr>
<tr>
<td>nodeTags <br /> <em>string</em></td>
<td></td>
</tr>
<tr>
<td>vSphereCoreDNSServer <br /> <em>string</em></td>
<td></td>
</tr>
<tr>
<td>vSphereDatacenter <br /> <em>string</em></td>
<td></td>
</tr>
<tr>
<td>vSphereDatastore <br /> <em>string</em></td>
<td></td>
</tr>
<tr>
<td>vSpherePassword <br /> <em>string</em></td>
<td></td>
</tr>
<tr>
<td>vSphereResourcePool <br /> <em>string</em></td>
<td></td>
</tr>
<tr>
<td>vSphereServer <br /> <em>string</em></td>
<td></td>
</tr>
<tr>
<td>vSphereUsername <br /> <em>string</em></td>
<td>vSphere cloud-config specs</td>
</tr>
</tbody>
</table>
<h2 id="cloudcontrollermanagerconfig-v1alpha2-kops">CloudControllerManagerConfig v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>CloudControllerManagerConfig</td>
</tr>
</tbody>
</table>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterspec-v1alpha2-kops">ClusterSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>allocateNodeCIDRs <br /> <em>boolean</em></td>
<td>AllocateNodeCIDRs enables CIDRs for Pods to be allocated and, if ConfigureCloudRoutes is true, to be set on the cloud provider.</td>
</tr>
<tr>
<td>cidrAllocatorType <br /> <em>string</em></td>
<td>CIDRAllocatorType specifies the type of CIDR allocator to use.</td>
</tr>
<tr>
<td>cloudProvider <br /> <em>string</em></td>
<td>CloudProvider is the provider for cloud services.</td>
</tr>
<tr>
<td>clusterCIDR <br /> <em>string</em></td>
<td>ClusterCIDR is CIDR Range for Pods in cluster.</td>
</tr>
<tr>
<td>clusterName <br /> <em>string</em></td>
<td>ClusterName is the instance prefix for the cluster.</td>
</tr>
<tr>
<td>configureCloudRoutes <br /> <em>boolean</em></td>
<td>ConfigureCloudRoutes enables CIDRs allocated with to be configured on the cloud provider.</td>
</tr>
<tr>
<td>image <br /> <em>string</em></td>
<td>Image is the OCI image of the cloud controller manager.</td>
</tr>
<tr>
<td>leaderElection <br /> <em><a href="#leaderelectionconfiguration-v1alpha2-kops">LeaderElectionConfiguration</a></em></td>
<td>LeaderElection defines the configuration of leader election client.</td>
</tr>
<tr>
<td>logLevel <br /> <em>integer</em></td>
<td>LogLevel is the verbosity of the logs.</td>
</tr>
<tr>
<td>master <br /> <em>string</em></td>
<td>Master is the url for the kube api master.</td>
</tr>
<tr>
<td>useServiceAccountCredentials <br /> <em>boolean</em></td>
<td>UseServiceAccountCredentials controls whether we use individual service account credentials for each controller.</td>
</tr>
</tbody>
</table>
<h2 id="clustersubnetspec-v1alpha2-kops">ClusterSubnetSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>ClusterSubnetSpec</td>
</tr>
</tbody>
</table>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterspec-v1alpha2-kops">ClusterSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>cidr <br /> <em>string</em></td>
<td></td>
</tr>
<tr>
<td>egress <br /> <em>string</em></td>
<td>Egress defines the method of traffic egress for this subnet</td>
</tr>
<tr>
<td>id <br /> <em>string</em></td>
<td>ProviderID is the cloud provider id for the objects associated with the zone (the subnet on AWS)</td>
</tr>
<tr>
<td>name <br /> <em>string</em></td>
<td></td>
</tr>
<tr>
<td>publicIP <br /> <em>string</em></td>
<td>PublicIP to attach to NatGateway</td>
</tr>
<tr>
<td>region <br /> <em>string</em></td>
<td>Region is the region the subnet is in, set for subnets that are regionally scoped</td>
</tr>
<tr>
<td>type <br /> <em>string</em></td>
<td></td>
</tr>
<tr>
<td>zone <br /> <em>string</em></td>
<td>Zone is the zone the subnet is in, set for subnets that are zonally scoped</td>
</tr>
</tbody>
</table>
<h2 id="dnsaccessspec-v1alpha2-kops">DNSAccessSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>DNSAccessSpec</td>
</tr>
</tbody>
</table>
<aside class="notice">
Appears In:
<ul>
<li><a href="#accessspec-v1alpha2-kops">AccessSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
</tr>
</tbody>
</table>
<h2 id="dnsspec-v1alpha2-kops">DNSSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>DNSSpec</td>
</tr>
</tbody>
</table>
<aside class="notice">
Appears In:
<ul>
<li><a href="#topologyspec-v1alpha2-kops">TopologySpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>type <br /> <em>string</em></td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="deleteoptions-v1-meta">DeleteOptions v1 meta</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>meta</td>
<td>v1</td>
<td>DeleteOptions</td>
</tr>
</tbody>
</table>
<p>DeleteOptions may be provided when deleting an API object.</p>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>apiVersion <br /> <em>string</em></td>
<td>APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: <a href="https://git.k8s.io/community/contributors/devel/api-conventions.md#resources">https://git.k8s.io/community/contributors/devel/api-conventions.md#resources</a></td>
</tr>
<tr>
<td>gracePeriodSeconds <br /> <em>integer</em></td>
<td>The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.</td>
</tr>
<tr>
<td>kind <br /> <em>string</em></td>
<td>Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: <a href="https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds">https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds</a></td>
</tr>
<tr>
<td>orphanDependents <br /> <em>boolean</em></td>
<td>Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the &quot;orphan&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.</td>
</tr>
<tr>
<td>preconditions <br /> <em><a href="#preconditions-v1-meta">Preconditions</a></em></td>
<td>Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned.</td>
</tr>
<tr>
<td>propagationPolicy <br /> <em>string</em></td>
<td>Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.</td>
</tr>
</tbody>
</table>
<h2 id="dockerconfig-v1alpha2-kops">DockerConfig v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>DockerConfig</td>
</tr>
</tbody>
</table>
<p>DockerConfig is the configuration for docker</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterspec-v1alpha2-kops">ClusterSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>authorizationPlugins <br /> <em>string array</em></td>
<td>AuthorizationPlugins is a list of authorization plugins</td>
</tr>
<tr>
<td>bridge <br /> <em>string</em></td>
<td>Bridge is the network interface containers should bind onto</td>
</tr>
<tr>
<td>bridgeIP <br /> <em>string</em></td>
<td>BridgeIP is a specific IP address and netmask for the docker0 bridge, using standard CIDR notation</td>
</tr>
<tr>
<td>defaultUlimit <br /> <em>string array</em></td>
<td>DefaultUlimit is the ulimits for containers</td>
</tr>
<tr>
<td>hosts <br /> <em>string array</em></td>
<td>Hosts enables you to configure the endpoints the docker daemon listens on i.e. tcp://0.0.0.0.2375 or unix:///var/run/docker.sock etc</td>
</tr>
<tr>
<td>insecureRegistry <br /> <em>string</em></td>
<td>InsecureRegistry enable insecure registry communication @question according to dockers this a list??</td>
</tr>
<tr>
<td>ipMasq <br /> <em>boolean</em></td>
<td>IPMasq enables ip masquerading for containers</td>
</tr>
<tr>
<td>ipTables <br /> <em>boolean</em></td>
<td>IPtables enables addition of iptables rules</td>
</tr>
<tr>
<td>liveRestore <br /> <em>boolean</em></td>
<td>LiveRestore enables live restore of docker when containers are still running</td>
</tr>
<tr>
<td>logDriver <br /> <em>string</em></td>
<td>LogDriver is the default driver for container logs (default &quot;json-file&quot;)</td>
</tr>
<tr>
<td>logLevel <br /> <em>string</em></td>
<td>LogLevel is the logging level (&quot;debug&quot;, &quot;info&quot;, &quot;warn&quot;, &quot;error&quot;, &quot;fatal&quot;) (default &quot;info&quot;)</td>
</tr>
<tr>
<td>logOpt <br /> <em>string array</em></td>
<td>Logopt is a series of options given to the log driver options for containers</td>
</tr>
<tr>
<td>mtu <br /> <em>integer</em></td>
<td>MTU is the containers network MTU</td>
</tr>
<tr>
<td>registryMirrors <br /> <em>string array</em></td>
<td>RegistryMirrors is a referred list of docker registry mirror</td>
</tr>
<tr>
<td>storage <br /> <em>string</em></td>
<td>Storage is the docker storage driver to use</td>
</tr>
<tr>
<td>storageOpts <br /> <em>string array</em></td>
<td>StorageOpts is a series of options passed to the storage driver</td>
</tr>
<tr>
<td>version <br /> <em>string</em></td>
<td>Version is consumed by the nodeup and used to pick the docker version</td>
</tr>
</tbody>
</table>
<h2 id="duration-v1-meta">Duration v1 meta</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>meta</td>
<td>v1</td>
<td>Duration</td>
</tr>
</tbody>
</table>
<p>Duration is a wrapper around time.Duration which supports correct marshaling to YAML and JSON. In particular, it marshals into strings, which can be used as map keys in json.</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#etcdclusterspec-v1alpha2-kops">EtcdClusterSpec kops/v1alpha2</a></li>
<li><a href="#kubeapiserverconfig-v1alpha2-kops">KubeAPIServerConfig kops/v1alpha2</a></li>
<li><a href="#kubecontrollermanagerconfig-v1alpha2-kops">KubeControllerManagerConfig kops/v1alpha2</a></li>
<li><a href="#kubeletconfigspec-v1alpha2-kops">KubeletConfigSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duration <br /> <em>integer</em></td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="egressproxyspec-v1alpha2-kops">EgressProxySpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>EgressProxySpec</td>
</tr>
</tbody>
</table>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterspec-v1alpha2-kops">ClusterSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>excludes <br /> <em>string</em></td>
<td></td>
</tr>
<tr>
<td>httpProxy <br /> <em><a href="#httpproxy-v1alpha2-kops">HTTPProxy</a></em></td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="etcdbackupspec-v1alpha2-kops">EtcdBackupSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>EtcdBackupSpec</td>
</tr>
</tbody>
</table>
<p>EtcdBackupSpec describes how we want to do backups of etcd</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#etcdclusterspec-v1alpha2-kops">EtcdClusterSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>backupStore <br /> <em>string</em></td>
<td>BackupStore is the VFS path where we will read/write backup data</td>
</tr>
<tr>
<td>image <br /> <em>string</em></td>
<td>Image is the etcd backup manager image to use. Setting this will create a sidecar container in the etcd pod with the specified image.</td>
</tr>
</tbody>
</table>
<h2 id="etcdclusterspec-v1alpha2-kops">EtcdClusterSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>EtcdClusterSpec</td>
</tr>
</tbody>
</table>
<p>EtcdClusterSpec is the etcd cluster specification</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterspec-v1alpha2-kops">ClusterSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>backups <br /> <em><a href="#etcdbackupspec-v1alpha2-kops">EtcdBackupSpec</a></em></td>
<td>Backups describes how we do backups of etcd</td>
</tr>
<tr>
<td>enableEtcdTLS <br /> <em>boolean</em></td>
<td>EnableEtcdTLS indicates the etcd service should use TLS between peers and clients</td>
</tr>
<tr>
<td>enableTLSAuth <br /> <em>boolean</em></td>
<td>EnableTLSAuth indicates client and peer TLS auth should be enforced</td>
</tr>
<tr>
<td>etcdMembers <br /> <em><a href="#etcdmemberspec-v1alpha2-kops">EtcdMemberSpec</a> array</em></td>
<td>Members stores the configurations for each member of the cluster (including the data volume)</td>
</tr>
<tr>
<td>heartbeatInterval <br /> <em><a href="#duration-v1-meta">Duration</a></em></td>
<td>HeartbeatInterval is the time (in milliseconds) for an etcd heartbeat interval</td>
</tr>
<tr>
<td>image <br /> <em>string</em></td>
<td>Image is the etcd docker image to use. Setting this will ignore the Version specified.</td>
</tr>
<tr>
<td>leaderElectionTimeout <br /> <em><a href="#duration-v1-meta">Duration</a></em></td>
<td>LeaderElectionTimeout is the time (in milliseconds) for an etcd leader election timeout</td>
</tr>
<tr>
<td>name <br /> <em>string</em></td>
<td>Name is the name of the etcd cluster (main, events etc)</td>
</tr>
<tr>
<td>version <br /> <em>string</em></td>
<td>Version is the version of etcd to run i.e. 2.1.2, 3.0.17 etcd</td>
</tr>
</tbody>
</table>
<h2 id="etcdmemberspec-v1alpha2-kops">EtcdMemberSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>EtcdMemberSpec</td>
</tr>
</tbody>
</table>
<p>EtcdMemberSpec is a specification for a etcd member</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#etcdclusterspec-v1alpha2-kops">EtcdClusterSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>encryptedVolume <br /> <em>boolean</em></td>
<td>EncryptedVolume indicates you want to encrypt the volume</td>
</tr>
<tr>
<td>instanceGroup <br /> <em>string</em></td>
<td>InstanceGroup is the instanceGroup this volume is associated</td>
</tr>
<tr>
<td>kmsKeyId <br /> <em>string</em></td>
<td>KmsKeyId is a AWS KMS ID used to encrypt the volume</td>
</tr>
<tr>
<td>name <br /> <em>string</em></td>
<td>Name is the name of the member within the etcd cluster</td>
</tr>
<tr>
<td>volumeIops <br /> <em>integer</em></td>
<td>If volume type is io1, then we need to specify the number of Iops.</td>
</tr>
<tr>
<td>volumeSize <br /> <em>integer</em></td>
<td>VolumeSize is the underlying cloud volume size</td>
</tr>
<tr>
<td>volumeType <br /> <em>string</em></td>
<td>VolumeType is the underlying cloud storage class</td>
</tr>
</tbody>
</table>
<h2 id="execcontaineraction-v1alpha2-kops">ExecContainerAction v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>ExecContainerAction</td>
</tr>
</tbody>
</table>
<p>ExecContainerAction defines an hood action</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#hookspec-v1alpha2-kops">HookSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>command <br /> <em>string array</em></td>
<td>Command is the command supplied to the above image</td>
</tr>
<tr>
<td>environment <br /> <em>object</em></td>
<td>Environment is a map of environment variables added to the hook</td>
</tr>
<tr>
<td>image <br /> <em>string</em></td>
<td>Image is the docker image</td>
</tr>
</tbody>
</table>
<h2 id="externaldnsconfig-v1alpha2-kops">ExternalDNSConfig v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>ExternalDNSConfig</td>
</tr>
</tbody>
</table>
<p>ExternalDNSConfig are options of the dns-controller</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterspec-v1alpha2-kops">ClusterSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>disable <br /> <em>boolean</em></td>
<td>Disable indicates we do not wish to run the dns-controller addon</td>
</tr>
<tr>
<td>watchIngress <br /> <em>boolean</em></td>
<td>WatchIngress indicates you want the dns-controller to watch and create dns entries for ingress resources</td>
</tr>
<tr>
<td>watchNamespace <br /> <em>string</em></td>
<td>WatchNamespace is namespace to watch, defaults to all (use to control whom can creates dns entries)</td>
</tr>
</tbody>
</table>
<h2 id="externalnetworkingspec-v1alpha2-kops">ExternalNetworkingSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>ExternalNetworkingSpec</td>
</tr>
</tbody>
</table>
<p>ExternalNetworkingSpec is the specification for networking that is implemented by a Daemonset It also uses kubenet</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#networkingspec-v1alpha2-kops">NetworkingSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
</tr>
</tbody>
</table>
<h2 id="fileassetspec-v1alpha2-kops">FileAssetSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>FileAssetSpec</td>
</tr>
</tbody>
</table>
<p>FileAssetSpec defines the structure for a file asset</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterspec-v1alpha2-kops">ClusterSpec kops/v1alpha2</a></li>
<li><a href="#instancegroupspec-v1alpha2-kops">InstanceGroupSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>content <br /> <em>string</em></td>
<td>Content is the contents of the file</td>
</tr>
<tr>
<td>isBase64 <br /> <em>boolean</em></td>
<td>IsBase64 indicates the contents is base64 encoded</td>
</tr>
<tr>
<td>name <br /> <em>string</em></td>
<td>Name is a shortened reference to the asset</td>
</tr>
<tr>
<td>path <br /> <em>string</em></td>
<td>Path is the location this file should reside</td>
</tr>
<tr>
<td>roles <br /> <em>string array</em></td>
<td>Roles is a list of roles the file asset should be applied, defaults to all</td>
</tr>
</tbody>
</table>
<h2 id="flannelnetworkingspec-v1alpha2-kops">FlannelNetworkingSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>FlannelNetworkingSpec</td>
</tr>
</tbody>
</table>
<p>FlannelNetworkingSpec declares that we want Flannel networking</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#networkingspec-v1alpha2-kops">NetworkingSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>backend <br /> <em>string</em></td>
<td>Backend is the backend overlay type we want to use (vxlan or udp)</td>
</tr>
</tbody>
</table>
<h2 id="groupversionfordiscovery-v1-meta">GroupVersionForDiscovery v1 meta</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>meta</td>
<td>v1</td>
<td>GroupVersionForDiscovery</td>
</tr>
</tbody>
</table>
<p>GroupVersion contains the &quot;group/version&quot; and &quot;version&quot; string of a version. It is made a struct to keep extensibility.</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#apigroup-v1-meta">APIGroup meta/v1</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>groupVersion <br /> <em>string</em></td>
<td>groupVersion specifies the API group and version in the form &quot;group/version&quot;</td>
</tr>
<tr>
<td>version <br /> <em>string</em></td>
<td>version specifies the version in the form of &quot;version&quot;. This is to save the clients the trouble of splitting the GroupVersion.</td>
</tr>
</tbody>
</table>
<h2 id="httpproxy-v1alpha2-kops">HTTPProxy v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>HTTPProxy</td>
</tr>
</tbody>
</table>
<aside class="notice">
Appears In:
<ul>
<li><a href="#egressproxyspec-v1alpha2-kops">EgressProxySpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>host <br /> <em>string</em></td>
<td></td>
</tr>
<tr>
<td>port <br /> <em>integer</em></td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="hookspec-v1alpha2-kops">HookSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>HookSpec</td>
</tr>
</tbody>
</table>
<p>HookSpec is a definition hook</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterspec-v1alpha2-kops">ClusterSpec kops/v1alpha2</a></li>
<li><a href="#instancegroupspec-v1alpha2-kops">InstanceGroupSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>before <br /> <em>string array</em></td>
<td>Before is a series of systemd units which this hook must run before</td>
</tr>
<tr>
<td>disabled <br /> <em>boolean</em></td>
<td>Disabled indicates if you want the unit switched off</td>
</tr>
<tr>
<td>execContainer <br /> <em><a href="#execcontaineraction-v1alpha2-kops">ExecContainerAction</a></em></td>
<td>ExecContainer is the image itself</td>
</tr>
<tr>
<td>manifest <br /> <em>string</em></td>
<td>Manifest is a raw systemd unit file</td>
</tr>
<tr>
<td>name <br /> <em>string</em></td>
<td>Name is an optional name for the hook, otherwise the name is kops-hook-<index></td>
</tr>
<tr>
<td>requires <br /> <em>string array</em></td>
<td>Requires is a series of systemd units the action requires</td>
</tr>
<tr>
<td>roles <br /> <em>string array</em></td>
<td>Roles is an optional list of roles the hook should be rolled out to, defaults to all</td>
</tr>
</tbody>
</table>
<h2 id="iamspec-v1alpha2-kops">IAMSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>IAMSpec</td>
</tr>
</tbody>
</table>
<p>IAMSpec adds control over the IAM security policies applied to resources</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterspec-v1alpha2-kops">ClusterSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>allowContainerRegistry <br /> <em>boolean</em></td>
<td></td>
</tr>
<tr>
<td>legacy <br /> <em>boolean</em></td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="initializer-v1-meta">Initializer v1 meta</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>meta</td>
<td>v1</td>
<td>Initializer</td>
</tr>
</tbody>
</table>
<p>Initializer is information about an initializer that has not yet completed.</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#initializers-v1-meta">Initializers meta/v1</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>name <br /> <em>string</em></td>
<td>name of the process that is responsible for initializing this object.</td>
</tr>
</tbody>
</table>
<h2 id="initializers-v1-meta">Initializers v1 meta</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>meta</td>
<td>v1</td>
<td>Initializers</td>
</tr>
</tbody>
</table>
<p>Initializers tracks the progress of initialization.</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#objectmeta-v1-meta">ObjectMeta meta/v1</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>pending <br /> <em><a href="#initializer-v1-meta">Initializer</a> array</em> <br /> <strong>patch type</strong>: <em>merge</em> <br /> <strong>patch merge key</strong>: <em>name</em></td>
<td>Pending is a list of initializers that must execute in order before this object is visible. When the last pending initializer is removed, and no failing result is set, the initializers struct will be set to nil and the object is considered as initialized and visible to all clients.</td>
</tr>
<tr>
<td>result <br /> <em><a href="#status-v1-meta">Status</a></em></td>
<td>If result is set with the Failure field, the object will be persisted to storage and then deleted, ensuring that other clients can observe the deletion.</td>
</tr>
</tbody>
</table>
<h2 id="kopeioauthenticationspec-v1alpha2-kops">KopeioAuthenticationSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>KopeioAuthenticationSpec</td>
</tr>
</tbody>
</table>
<aside class="notice">
Appears In:
<ul>
<li><a href="#authenticationspec-v1alpha2-kops">AuthenticationSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
</tr>
</tbody>
</table>
<h2 id="kopeionetworkingspec-v1alpha2-kops">KopeioNetworkingSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>KopeioNetworkingSpec</td>
</tr>
</tbody>
</table>
<p>KopeioNetworkingSpec declares that we want Kopeio networking</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#networkingspec-v1alpha2-kops">NetworkingSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
</tr>
</tbody>
</table>
<h2 id="kubeapiserverconfig-v1alpha2-kops">KubeAPIServerConfig v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>KubeAPIServerConfig</td>
</tr>
</tbody>
</table>
<p>KubeAPIServerConfig defines the configuration for the kube api</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterspec-v1alpha2-kops">ClusterSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>address <br /> <em>string</em></td>
<td>Address is the binding address for the kube api</td>
</tr>
<tr>
<td>admissionControl <br /> <em>string array</em></td>
<td>AdmissionControl is a list of admission controllers to user</td>
</tr>
<tr>
<td>allowPrivileged <br /> <em>boolean</em></td>
<td>AllowPrivileged indicates if we can run privileged containers</td>
</tr>
<tr>
<td>anonymousAuth <br /> <em>boolean</em></td>
<td>AnonymousAuth indicates if anonymous authentication is permitted</td>
</tr>
<tr>
<td>apiServerCount <br /> <em>integer</em></td>
<td>APIServerCount is the number of api servers</td>
</tr>
<tr>
<td>auditLogFormat <br /> <em>string</em></td>
<td>AuditLogFormat flag specifies the format type for audit log files.</td>
</tr>
<tr>
<td>auditLogMaxAge <br /> <em>integer</em></td>
<td>The maximum number of days to retain old audit log files based on the timestamp encoded in their filename.</td>
</tr>
<tr>
<td>auditLogMaxBackups <br /> <em>integer</em></td>
<td>The maximum number of old audit log files to retain.</td>
</tr>
<tr>
<td>auditLogMaxSize <br /> <em>integer</em></td>
<td>The maximum size in megabytes of the audit log file before it gets rotated. Defaults to 100MB.</td>
</tr>
<tr>
<td>auditLogPath <br /> <em>string</em></td>
<td>If set, all requests coming to the apiserver will be logged to this file.</td>
</tr>
<tr>
<td>auditPolicyFile <br /> <em>string</em></td>
<td>AuditPolicyFile is the full path to a advanced audit configuration file e.g. /srv/kubernetes/audit.conf</td>
</tr>
<tr>
<td>authenticationTokenWebhookCacheTtl <br /> <em><a href="#duration-v1-meta">Duration</a></em></td>
<td>The duration to cache responses from the webhook token authenticator. Default is 2m. (default 2m0s)</td>
</tr>
<tr>
<td>authenticationTokenWebhookConfigFile <br /> <em>string</em></td>
<td>File with webhook configuration for token authentication in kubeconfig format. The API server will query the remote service to determine authentication for bearer tokens.</td>
</tr>
<tr>
<td>authorizationMode <br /> <em>string</em></td>
<td>AuthorizationMode is the authorization mode the kubeapi is running in</td>
</tr>
<tr>
<td>authorizationRbacSuperUser <br /> <em>string</em></td>
<td>AuthorizationRBACSuperUser is the name of the superuser for default rbac</td>
</tr>
<tr>
<td>basicAuthFile <br /> <em>string</em></td>
<td></td>
</tr>
<tr>
<td>clientCAFile <br /> <em>string</em></td>
<td></td>
</tr>
<tr>
<td>cloudProvider <br /> <em>string</em></td>
<td>CloudProvider is the name of the cloudProvider we are using, aws, gce etcd</td>
</tr>
<tr>
<td>etcdCaFile <br /> <em>string</em></td>
<td>EtcdCAFile is the path to a ca certificate</td>
</tr>
<tr>
<td>etcdCertFile <br /> <em>string</em></td>
<td>EtcdCertFile is the path to a certificate</td>
</tr>
<tr>
<td>etcdKeyFile <br /> <em>string</em></td>
<td>EtcdKeyFile is the path to a private key</td>
</tr>
<tr>
<td>etcdQuorumRead <br /> <em>boolean</em></td>
<td>EtcdQuorumRead configures the etcd-quorum-read flag, which forces consistent reads from etcd</td>
</tr>
<tr>
<td>etcdServers <br /> <em>string array</em></td>
<td>EtcdServers is a list of the etcd service to connect</td>
</tr>
<tr>
<td>etcdServersOverrides <br /> <em>string array</em></td>
<td>EtcdServersOverrides is per-resource etcd servers overrides, comma separated. The individual override format: group/resource#servers, where servers are <a href="http://ip:port">http://ip:port</a>, semicolon separated</td>
</tr>
<tr>
<td>experimentalEncryptionProviderConfig <br /> <em>string</em></td>
<td>ExperimentalEncryptionProviderConfig enables encryption at rest for secrets.</td>
</tr>
<tr>
<td>featureGates <br /> <em>object</em></td>
<td>FeatureGates is set of key=value pairs that describe feature gates for alpha/experimental features.</td>
</tr>
<tr>
<td>image <br /> <em>string</em></td>
<td>Image is the docker container used</td>
</tr>
<tr>
<td>insecurePort <br /> <em>integer</em></td>
<td>InsecurePort is the port the insecure api runs</td>
</tr>
<tr>
<td>kubeletClientCertificate <br /> <em>string</em></td>
<td>KubeletClientCertificate is the path of a certificate for secure communication between api and kubelet</td>
</tr>
<tr>
<td>kubeletClientKey <br /> <em>string</em></td>
<td>KubeletClientKey is the path of a private to secure communication between api and kubelet</td>
</tr>
<tr>
<td>kubeletPreferredAddressTypes <br /> <em>string array</em></td>
<td>KubeletPreferredAddressTypes is a list of the preferred NodeAddressTypes to use for kubelet connections</td>
</tr>
<tr>
<td>logLevel <br /> <em>integer</em></td>
<td>LogLevel is the logging level of the api</td>
</tr>
<tr>
<td>maxRequestsInflight <br /> <em>integer</em></td>
<td>MaxRequestsInflight The maximum number of non-mutating requests in flight at a given time.</td>
</tr>
<tr>
<td>oidcCAFile <br /> <em>string</em></td>
<td>OIDCCAFile if set, the OpenID server&#39;s certificate will be verified by one of the authorities in the oidc-ca-file</td>
</tr>
<tr>
<td>oidcClientID <br /> <em>string</em></td>
<td>OIDCClientID is the client ID for the OpenID Connect client, must be set if oidc-issuer-url is set.</td>
</tr>
<tr>
<td>oidcGroupsClaim <br /> <em>string</em></td>
<td>OIDCGroupsClaim if provided, the name of a custom OpenID Connect claim for specifying user groups. The claim value is expected to be a string or array of strings.</td>
</tr>
<tr>
<td>oidcGroupsPrefix <br /> <em>string</em></td>
<td>OIDCGroupsPrefix is the prefix prepended to group claims to prevent clashes with existing names (such as &#39;system:&#39; groups)</td>
</tr>
<tr>
<td>oidcIssuerURL <br /> <em>string</em></td>
<td>OIDCIssuerURL is the URL of the OpenID issuer, only HTTPS scheme will be accepted. If set, it will be used to verify the OIDC JSON Web Token (JWT).</td>
</tr>
<tr>
<td>oidcUsernameClaim <br /> <em>string</em></td>
<td>OIDCUsernameClaim is the OpenID claim to use as the user name. Note that claims other than the default (&#39;sub&#39;) is not guaranteed to be unique and immutable.</td>
</tr>
<tr>
<td>oidcUsernamePrefix <br /> <em>string</em></td>
<td>OIDCUsernamePrefix is the prefix prepended to username claims to prevent clashes with existing names (such as &#39;system:&#39; users).</td>
</tr>
<tr>
<td>proxyClientCertFile <br /> <em>string</em></td>
<td>The apiserver&#39;s client certificate used for outbound requests.</td>
</tr>
<tr>
<td>proxyClientKeyFile <br /> <em>string</em></td>
<td>The apiserver&#39;s client key used for outbound requests.</td>
</tr>
<tr>
<td>requestheaderAllowedNames <br /> <em>string array</em></td>
<td>List of client certificate common names to allow to provide usernames in headers specified by --requestheader-username-headers. If empty, any client certificate validated by the authorities in --requestheader-client-ca-file is allowed.</td>
</tr>
<tr>
<td>requestheaderClientCAFile <br /> <em>string</em></td>
<td>Root certificate bundle to use to verify client certificates on incoming requests before trusting usernames in headers specified by --requestheader-username-headers</td>
</tr>
<tr>
<td>requestheaderExtraHeaderPrefixes <br /> <em>string array</em></td>
<td>List of request header prefixes to inspect. X-Remote-Extra- is suggested.</td>
</tr>
<tr>
<td>requestheaderGroupHeaders <br /> <em>string array</em></td>
<td>List of request headers to inspect for groups. X-Remote-Group is suggested.</td>
</tr>
<tr>
<td>requestheaderUsernameHeaders <br /> <em>string array</em></td>
<td>List of request headers to inspect for usernames. X-Remote-User is common.</td>
</tr>
<tr>
<td>runtimeConfig <br /> <em>object</em></td>
<td>RuntimeConfig is a series of keys/values are parsed into the <code>--runtime-config</code> parameters</td>
</tr>
<tr>
<td>securePort <br /> <em>integer</em></td>
<td>SecurePort is the port the kube runs on</td>
</tr>
<tr>
<td>serviceClusterIPRange <br /> <em>string</em></td>
<td>ServiceClusterIPRange is the service address range</td>
</tr>
<tr>
<td>serviceNodePortRange <br /> <em>string</em></td>
<td>Passed as --service-node-port-range to kube-apiserver. Expects &#39;startPort-endPort&#39; format. Eg. 30000-33000</td>
</tr>
<tr>
<td>storageBackend <br /> <em>string</em></td>
<td>StorageBackend is the backend storage</td>
</tr>
<tr>
<td>tlsCertFile <br /> <em>string</em></td>
<td></td>
</tr>
<tr>
<td>tlsPrivateKeyFile <br /> <em>string</em></td>
<td></td>
</tr>
<tr>
<td>tokenAuthFile <br /> <em>string</em></td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="kubecontrollermanagerconfig-v1alpha2-kops">KubeControllerManagerConfig v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>KubeControllerManagerConfig</td>
</tr>
</tbody>
</table>
<p>KubeControllerManagerConfig is the configuration for the controller</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterspec-v1alpha2-kops">ClusterSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>allocateNodeCIDRs <br /> <em>boolean</em></td>
<td>AllocateNodeCIDRs enables CIDRs for Pods to be allocated and, if ConfigureCloudRoutes is true, to be set on the cloud provider.</td>
</tr>
<tr>
<td>attachDetachReconcileSyncPeriod <br /> <em><a href="#duration-v1-meta">Duration</a></em></td>
<td>ReconcilerSyncLoopPeriod is the amount of time the reconciler sync states loop wait between successive executions. Is set to 1 min by kops by default</td>
</tr>
<tr>
<td>cidrAllocatorType <br /> <em>string</em></td>
<td>CIDRAllocatorType specifies the type of CIDR allocator to use.</td>
</tr>
<tr>
<td>cloudProvider <br /> <em>string</em></td>
<td>CloudProvider is the provider for cloud services.</td>
</tr>
<tr>
<td>clusterCIDR <br /> <em>string</em></td>
<td>ClusterCIDR is CIDR Range for Pods in cluster.</td>
</tr>
<tr>
<td>clusterName <br /> <em>string</em></td>
<td>ClusterName is the instance prefix for the cluster.</td>
</tr>
<tr>
<td>configureCloudRoutes <br /> <em>boolean</em></td>
<td>ConfigureCloudRoutes enables CIDRs allocated with to be configured on the cloud provider.</td>
</tr>
<tr>
<td>featureGates <br /> <em>object</em></td>
<td>FeatureGates is set of key=value pairs that describe feature gates for alpha/experimental features.</td>
</tr>
<tr>
<td>horizontalPodAutoscalerDownscaleDelay <br /> <em><a href="#duration-v1-meta">Duration</a></em></td>
<td>HorizontalPodAutoscalerDownscaleDelay is a duration that specifies how long the autoscaler has to wait before another downscale operation can be performed after the current one has completed.</td>
</tr>
<tr>
<td>horizontalPodAutoscalerSyncPeriod <br /> <em><a href="#duration-v1-meta">Duration</a></em></td>
<td>HorizontalPodAutoscalerSyncPeriod is the amount of time between syncs During each period, the controller manager queries the resource utilization against the metrics specified in each HorizontalPodAutoscaler definition.</td>
</tr>
<tr>
<td>horizontalPodAutoscalerUpscaleDelay <br /> <em><a href="#duration-v1-meta">Duration</a></em></td>
<td>HorizontalPodAutoscalerUpscaleDelay is a duration that specifies how long the autoscaler has to wait before another upscale operation can be performed after the current one has completed.</td>
</tr>
<tr>
<td>horizontalPodAutoscalerUseRestClients <br /> <em>boolean</em></td>
<td>HorizontalPodAutoscalerUseRestClients determines if the new-style clients should be used if support for custom metrics is enabled.</td>
</tr>
<tr>
<td>image <br /> <em>string</em></td>
<td>Image is the docker image to use</td>
</tr>
<tr>
<td>leaderElection <br /> <em><a href="#leaderelectionconfiguration-v1alpha2-kops">LeaderElectionConfiguration</a></em></td>
<td>LeaderElection defines the configuration of leader election client.</td>
</tr>
<tr>
<td>logLevel <br /> <em>integer</em></td>
<td>LogLevel is the defined logLevel</td>
</tr>
<tr>
<td>master <br /> <em>string</em></td>
<td>Master is the url for the kube api master</td>
</tr>
<tr>
<td>nodeMonitorGracePeriod <br /> <em><a href="#duration-v1-meta">Duration</a></em></td>
<td>NodeMonitorGracePeriod is the amount of time which we allow running Node to be unresponsive before marking it unhealthy. (default 40s) Must be N-1 times more than kubelet&#39;s nodeStatusUpdateFrequency, where N means number of retries allowed for kubelet to post node status.</td>
</tr>
<tr>
<td>nodeMonitorPeriod <br /> <em><a href="#duration-v1-meta">Duration</a></em></td>
<td>NodeMonitorPeriod is the period for syncing NodeStatus in NodeController. (default 5s)</td>
</tr>
<tr>
<td>podEvictionTimeout <br /> <em><a href="#duration-v1-meta">Duration</a></em></td>
<td>PodEvictionTimeout is the grace period for deleting pods on failed nodes. (default 5m0s)</td>
</tr>
<tr>
<td>rootCAFile <br /> <em>string</em></td>
<td>rootCAFile is the root certificate authority will be included in service account&#39;s token secret. This must be a valid PEM-encoded CA bundle.</td>
</tr>
<tr>
<td>serviceAccountPrivateKeyFile <br /> <em>string</em></td>
<td>ServiceAccountPrivateKeyFile the location for a certificate for service account signing</td>
</tr>
<tr>
<td>terminatedPodGCThreshold <br /> <em>integer</em></td>
<td>TerminatedPodGCThreshold is the number of terminated pods that can exist before the terminated pod garbage collector starts deleting terminated pods. If &lt;= 0, the terminated pod garbage collector is disabled.</td>
</tr>
<tr>
<td>useServiceAccountCredentials <br /> <em>boolean</em></td>
<td>UseServiceAccountCredentials controls whether we use individual service account credentials for each controller.</td>
</tr>
</tbody>
</table>
<h2 id="kubednsconfig-v1alpha2-kops">KubeDNSConfig v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>KubeDNSConfig</td>
</tr>
</tbody>
</table>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterspec-v1alpha2-kops">ClusterSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>cacheMaxConcurrent <br /> <em>integer</em></td>
<td>CacheMaxConcurrent is the maximum number of concurrent queries for dnsmasq</td>
</tr>
<tr>
<td>cacheMaxSize <br /> <em>integer</em></td>
<td>CacheMaxSize is the maximum entries to keep in dnsmaq</td>
</tr>
<tr>
<td>domain <br /> <em>string</em></td>
<td></td>
</tr>
<tr>
<td>image <br /> <em>string</em></td>
<td>Image is the name of the docker image to run Deprecated as this is now in the addon</td>
</tr>
<tr>
<td>replicas <br /> <em>integer</em></td>
<td>Deprecated as this is now in the addon, and controlled by autoscaler</td>
</tr>
<tr>
<td>serverIP <br /> <em>string</em></td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="kubeproxyconfig-v1alpha2-kops">KubeProxyConfig v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>KubeProxyConfig</td>
</tr>
</tbody>
</table>
<p>KubeProxyConfig defines the configuration for a proxy</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterspec-v1alpha2-kops">ClusterSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>clusterCIDR <br /> <em>string</em></td>
<td>ClusterCIDR is the CIDR range of the pods in the cluster</td>
</tr>
<tr>
<td>cpuLimit <br /> <em>string</em></td>
<td>CPULimit, cpu limit compute resource for kube proxy e.g. &quot;30m&quot;</td>
</tr>
<tr>
<td>cpuRequest <br /> <em>string</em></td>
<td>CPURequest, cpu request compute resource for kube proxy e.g. &quot;20m&quot;</td>
</tr>
<tr>
<td>enabled <br /> <em>boolean</em></td>
<td>Enabled allows enabling or disabling kube-proxy</td>
</tr>
<tr>
<td>featureGates <br /> <em>object</em></td>
<td>FeatureGates is a series of key pairs used to switch on features for the proxy</td>
</tr>
<tr>
<td>hostnameOverride <br /> <em>string</em></td>
<td>HostnameOverride, if non-empty, will be used as the identity instead of the actual hostname.</td>
</tr>
<tr>
<td>image <br /> <em>string</em></td>
<td></td>
</tr>
<tr>
<td>logLevel <br /> <em>integer</em></td>
<td>LogLevel is the logging level of the proxy</td>
</tr>
<tr>
<td>master <br /> <em>string</em></td>
<td>Master is the address of the Kubernetes API server (overrides any value in kubeconfig)</td>
</tr>
<tr>
<td>memoryLimit <br /> <em>string</em></td>
<td>MemoryLimit, memory limit compute resource for kube proxy e.g. &quot;30Mi&quot;</td>
</tr>
<tr>
<td>memoryRequest <br /> <em>string</em></td>
<td>MemoryRequest, memory request compute resource for kube proxy e.g. &quot;30Mi&quot;</td>
</tr>
<tr>
<td>proxyMode <br /> <em>string</em></td>
<td>Which proxy mode to use: (userspace, iptables, ipvs)</td>
</tr>
</tbody>
</table>
<h2 id="kubeschedulerconfig-v1alpha2-kops">KubeSchedulerConfig v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>KubeSchedulerConfig</td>
</tr>
</tbody>
</table>
<p>KubeSchedulerConfig is the configuration for the kube-scheduler</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterspec-v1alpha2-kops">ClusterSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>featureGates <br /> <em>object</em></td>
<td>FeatureGates is set of key=value pairs that describe feature gates for alpha/experimental features.</td>
</tr>
<tr>
<td>image <br /> <em>string</em></td>
<td>Image is the docker image to use</td>
</tr>
<tr>
<td>leaderElection <br /> <em><a href="#leaderelectionconfiguration-v1alpha2-kops">LeaderElectionConfiguration</a></em></td>
<td>LeaderElection defines the configuration of leader election client.</td>
</tr>
<tr>
<td>logLevel <br /> <em>integer</em></td>
<td>LogLevel is the logging level</td>
</tr>
<tr>
<td>master <br /> <em>string</em></td>
<td>Master is a url to the kube master</td>
</tr>
<tr>
<td>usePolicyConfigMap <br /> <em>boolean</em></td>
<td>UsePolicyConfigMap enable setting the scheduler policy from a configmap</td>
</tr>
</tbody>
</table>
<h2 id="kubeletconfigspec-v1alpha2-kops">KubeletConfigSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>KubeletConfigSpec</td>
</tr>
</tbody>
</table>
<p>KubeletConfigSpec defines the kubelet configuration</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterspec-v1alpha2-kops">ClusterSpec kops/v1alpha2</a></li>
<li><a href="#instancegroupspec-v1alpha2-kops">InstanceGroupSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>allowPrivileged <br /> <em>boolean</em></td>
<td>AllowPrivileged enables containers to request privileged mode (defaults to false)</td>
</tr>
<tr>
<td>anonymousAuth <br /> <em>boolean</em></td>
<td>AnonymousAuth permits you to control auth to the kubelet api</td>
</tr>
<tr>
<td>apiServers <br /> <em>string</em></td>
<td>APIServers is not used for clusters version 1.6 and later - flag removed</td>
</tr>
<tr>
<td>authorizationMode <br /> <em>string</em></td>
<td>AuthorizationMode is the authorization mode the kubelet is running in</td>
</tr>
<tr>
<td>babysitDaemons <br /> <em>boolean</em></td>
<td>The node has babysitter process monitoring docker and kubelet. Removed as of 1.7</td>
</tr>
<tr>
<td>cgroupRoot <br /> <em>string</em></td>
<td>cgroupRoot is the root cgroup to use for pods. This is handled by the container runtime on a best effort basis.</td>
</tr>
<tr>
<td>clientCaFile <br /> <em>string</em></td>
<td>ClientCAFile is the path to a CA certificate</td>
</tr>
<tr>
<td>cloudProvider <br /> <em>string</em></td>
<td>CloudProvider is the provider for cloud services.</td>
</tr>
<tr>
<td>clusterDNS <br /> <em>string</em></td>
<td>ClusterDNS is the IP address for a cluster DNS server</td>
</tr>
<tr>
<td>clusterDomain <br /> <em>string</em></td>
<td>ClusterDomain is the DNS domain for this cluster</td>
</tr>
<tr>
<td>configureCbr0 <br /> <em>boolean</em></td>
<td>configureCBR0 enables the kubelet to configure cbr0 based on Node.Spec.PodCIDR.</td>
</tr>
<tr>
<td>enableCustomMetrics <br /> <em>boolean</em></td>
<td>Enable gathering custom metrics.</td>
</tr>
<tr>
<td>enableDebuggingHandlers <br /> <em>boolean</em></td>
<td>EnableDebuggingHandlers enables server endpoints for log collection and local running of containers and commands</td>
</tr>
<tr>
<td>enforceNodeAllocatable <br /> <em>string</em></td>
<td>Enforce Allocatable across pods whenever the overall usage across all pods exceeds Allocatable.</td>
</tr>
<tr>
<td>evictionHard <br /> <em>string</em></td>
<td>Comma-delimited list of hard eviction expressions. For example, &#39;memory.available&lt;300Mi&#39;.</td>
</tr>
<tr>
<td>evictionMaxPodGracePeriod <br /> <em>integer</em></td>
<td>Maximum allowed grace period (in seconds) to use when terminating pods in response to a soft eviction threshold being met.</td>
</tr>
<tr>
<td>evictionMinimumReclaim <br /> <em>string</em></td>
<td>Comma-delimited list of minimum reclaims (e.g. imagefs.available=2Gi) that describes the minimum amount of resource the kubelet will reclaim when performing a pod eviction if that resource is under pressure.</td>
</tr>
<tr>
<td>evictionPressureTransitionPeriod <br /> <em><a href="#duration-v1-meta">Duration</a></em></td>
<td>Duration for which the kubelet has to wait before transitioning out of an eviction pressure condition.</td>
</tr>
<tr>
<td>evictionSoft <br /> <em>string</em></td>
<td>Comma-delimited list of soft eviction expressions. For example, &#39;memory.available&lt;300Mi&#39;.</td>
</tr>
<tr>
<td>evictionSoftGracePeriod <br /> <em>string</em></td>
<td>Comma-delimited list of grace periods for each soft eviction signal. For example, &#39;memory.available=30s&#39;.</td>
</tr>
<tr>
<td>failSwapOn <br /> <em>boolean</em></td>
<td>Tells the Kubelet to fail to start if swap is enabled on the node.</td>
</tr>
<tr>
<td>featureGates <br /> <em>object</em></td>
<td>FeatureGates is set of key=value pairs that describe feature gates for alpha/experimental features.</td>
</tr>
<tr>
<td>hairpinMode <br /> <em>string</em></td>
<td>How should the kubelet configure the container bridge for hairpin packets. Setting this flag allows endpoints in a Service to loadbalance back to themselves if they should try to access their own Service. Values: &quot;promiscuous-bridge&quot;: make the container bridge promiscuous. &quot;hairpin-veth&quot;: set the hairpin flag on container veth interfaces. &quot;none&quot;: do nothing. Setting --configure-cbr0 to false implies that to achieve hairpin NAT one must set --hairpin-mode=veth-flag, because bridge assumes the existence of a container bridge named cbr0.</td>
</tr>
<tr>
<td>hostnameOverride <br /> <em>string</em></td>
<td>HostnameOverride is the hostname used to identify the kubelet instead of the actual hostname.</td>
</tr>
<tr>
<td>imageGCHighThresholdPercent <br /> <em>integer</em></td>
<td>ImageGCHighThresholdPercent is the percent of disk usage after which image garbage collection is always run.</td>
</tr>
<tr>
<td>imageGCLowThresholdPercent <br /> <em>integer</em></td>
<td>ImageGCLowThresholdPercent is the percent of disk usage before which image garbage collection is never run. Lowest disk usage to garbage collect to.</td>
</tr>
<tr>
<td>imagePullProgressDeadline <br /> <em><a href="#duration-v1-meta">Duration</a></em></td>
<td>ImagePullProgressDeadline is the timeout for image pulls If no pulling progress is made before this deadline, the image pulling will be cancelled. (default 1m0s)</td>
</tr>
<tr>
<td>kubeReserved <br /> <em>object</em></td>
<td>Resource reservation for kubernetes system daemons like the kubelet, container runtime, node problem detector, etc.</td>
</tr>
<tr>
<td>kubeReservedCgroup <br /> <em>string</em></td>
<td>Control group for kube daemons.</td>
</tr>
<tr>
<td>kubeconfigPath <br /> <em>string</em></td>
<td>KubeconfigPath is the path of kubeconfig for the kubelet</td>
</tr>
<tr>
<td>kubeletCgroups <br /> <em>string</em></td>
<td>KubeletCgroups is the absolute name of cgroups to isolate the kubelet in.</td>
</tr>
<tr>
<td>logLevel <br /> <em>integer</em></td>
<td>LogLevel is the logging level of the kubelet</td>
</tr>
<tr>
<td>maxPods <br /> <em>integer</em></td>
<td>MaxPods is the number of pods that can run on this Kubelet.</td>
</tr>
<tr>
<td>networkPluginMTU <br /> <em>integer</em></td>
<td>NetworkPluginMTU is the MTU to be passed to the network plugin, and overrides the default MTU for cases where it cannot be automatically computed (such as IPSEC).</td>
</tr>
<tr>
<td>networkPluginName <br /> <em>string</em></td>
<td>NetworkPluginName is the name of the network plugin to be invoked for various events in kubelet/pod lifecycle</td>
</tr>
<tr>
<td>nodeLabels <br /> <em>object</em></td>
<td>NodeLabels to add when registering the node in the cluster.</td>
</tr>
<tr>
<td>nodeStatusUpdateFrequency <br /> <em><a href="#duration-v1-meta">Duration</a></em></td>
<td>NodeStatusUpdateFrequency Specifies how often kubelet posts node status to master (default 10s) must work with nodeMonitorGracePeriod in KubeControllerManagerConfig.</td>
</tr>
<tr>
<td>nonMasqueradeCIDR <br /> <em>string</em></td>
<td>NonMasqueradeCIDR configures masquerading: traffic to IPs outside this range will use IP masquerade.</td>
</tr>
<tr>
<td>nvidiaGPUs <br /> <em>integer</em></td>
<td>NvidiaGPUs is the number of NVIDIA GPU devices on this node.</td>
</tr>
<tr>
<td>podCIDR <br /> <em>string</em></td>
<td>PodCIDR is the CIDR to use for pod IP addresses, only used in standalone mode. In cluster mode, this is obtained from the master.</td>
</tr>
<tr>
<td>podInfraContainerImage <br /> <em>string</em></td>
<td>PodInfraContainerImage is the image whose network/ipc containers in each pod will use.</td>
</tr>
<tr>
<td>podManifestPath <br /> <em>string</em></td>
<td>config is the path to the config file or directory of files</td>
</tr>
<tr>
<td>readOnlyPort <br /> <em>integer</em></td>
<td>ReadOnlyPort is the port used by the kubelet api for read-only access (default 10255)</td>
</tr>
<tr>
<td>reconcileCIDR <br /> <em>boolean</em></td>
<td>ReconcileCIDR is Reconcile node CIDR with the CIDR specified by the API server. No-op if register-node or configure-cbr0 is false.</td>
</tr>
<tr>
<td>registerNode <br /> <em>boolean</em></td>
<td>RegisterNode enables automatic registration with the apiserver.</td>
</tr>
<tr>
<td>registerSchedulable <br /> <em>boolean</em></td>
<td>registerSchedulable tells the kubelet to register the node as schedulable. No-op if register-node is false.</td>
</tr>
<tr>
<td>requireKubeconfig <br /> <em>boolean</em></td>
<td>RequireKubeconfig indicates a kubeconfig is required</td>
</tr>
<tr>
<td>resolvConf <br /> <em>string</em></td>
<td>ResolverConfig is the resolver configuration file used as the basis for the container DNS resolution configuration.&quot;), []</td>
</tr>
<tr>
<td>runtimeCgroups <br /> <em>string</em></td>
<td>Cgroups that container runtime is expected to be isolated in.</td>
</tr>
<tr>
<td>runtimeRequestTimeout <br /> <em><a href="#duration-v1-meta">Duration</a></em></td>
<td>RuntimeRequestTimeout is timeout for runtime requests on - pull, logs, exec and attach</td>
</tr>
<tr>
<td>seccompProfileRoot <br /> <em>string</em></td>
<td>SeccompProfileRoot is the directory path for seccomp profiles.</td>
</tr>
<tr>
<td>serializeImagePulls <br /> <em>boolean</em></td>
<td>// SerializeImagePulls when enabled, tells the Kubelet to pull images one // at a time. We recommend <em>not</em> changing the default value on nodes that // run docker daemon with version &lt; 1.9 or an Aufs storage backend. // Issue #10959 has more details.</td>
</tr>
<tr>
<td>systemCgroups <br /> <em>string</em></td>
<td>SystemCgroups is absolute name of cgroups in which to place all non-kernel processes that are not already in a container. Empty for no container. Rolling back the flag requires a reboot.</td>
</tr>
<tr>
<td>systemReserved <br /> <em>object</em></td>
<td>Capture resource reservation for OS system daemons like sshd, udev, etc.</td>
</tr>
<tr>
<td>systemReservedCgroup <br /> <em>string</em></td>
<td>Parent control group for OS system daemons.</td>
</tr>
<tr>
<td>taints <br /> <em>string array</em></td>
<td>Taints to add when registering a node in the cluster</td>
</tr>
<tr>
<td>volumePluginDirectory <br /> <em>string</em></td>
<td>The full path of the directory in which to search for additional third party volume plugins</td>
</tr>
<tr>
<td>volumeStatsAggPeriod <br /> <em><a href="#duration-v1-meta">Duration</a></em></td>
<td>VolumeStatsAggPeriod is the interval for kubelet to calculate and cache the volume disk usage for all pods and volumes</td>
</tr>
</tbody>
</table>
<h2 id="kubenetnetworkingspec-v1alpha2-kops">KubenetNetworkingSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>KubenetNetworkingSpec</td>
</tr>
</tbody>
</table>
<p>KubenetNetworkingSpec is the specification for kubenet networking, largely integrated but intended to replace classic</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#networkingspec-v1alpha2-kops">NetworkingSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
</tr>
</tbody>
</table>
<h2 id="kuberouternetworkingspec-v1alpha2-kops">KuberouterNetworkingSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>KuberouterNetworkingSpec</td>
</tr>
</tbody>
</table>
<p>KuberouterNetworkingSpec declares that we want Kube-router networking</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#networkingspec-v1alpha2-kops">NetworkingSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
</tr>
</tbody>
</table>
<h2 id="leaderelectionconfiguration-v1alpha2-kops">LeaderElectionConfiguration v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>LeaderElectionConfiguration</td>
</tr>
</tbody>
</table>
<p>LeaderElectionConfiguration defines the configuration of leader election clients for components that can run with leader election enabled.</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#cloudcontrollermanagerconfig-v1alpha2-kops">CloudControllerManagerConfig kops/v1alpha2</a></li>
<li><a href="#kubecontrollermanagerconfig-v1alpha2-kops">KubeControllerManagerConfig kops/v1alpha2</a></li>
<li><a href="#kubeschedulerconfig-v1alpha2-kops">KubeSchedulerConfig kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>leaderElect <br /> <em>boolean</em></td>
<td>leaderElect enables a leader election client to gain leadership before executing the main loop. Enable this when running replicated components for high availability.</td>
</tr>
</tbody>
</table>
<h2 id="listmeta-v1-meta">ListMeta v1 meta</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>meta</td>
<td>v1</td>
<td>ListMeta</td>
</tr>
</tbody>
</table>
<p>ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterlist-v1alpha2-kops">ClusterList kops/v1alpha2</a></li>
<li><a href="#instancegrouplist-v1alpha2-kops">InstanceGroupList kops/v1alpha2</a></li>
<li><a href="#status-v1-meta">Status meta/v1</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>continue <br /> <em>string</em></td>
<td>continue may be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response.</td>
</tr>
<tr>
<td>resourceVersion <br /> <em>string</em></td>
<td>String that identifies the server&#39;s internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: <a href="https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency">https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency</a></td>
</tr>
<tr>
<td>selfLink <br /> <em>string</em></td>
<td>selfLink is a URL representing this object. Populated by the system. Read-only.</td>
</tr>
</tbody>
</table>
<h2 id="loadbalanceraccessspec-v1alpha2-kops">LoadBalancerAccessSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>LoadBalancerAccessSpec</td>
</tr>
</tbody>
</table>
<p>LoadBalancerAccessSpec provides configuration details related to API LoadBalancer and its access</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#accessspec-v1alpha2-kops">AccessSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>additionalSecurityGroups <br /> <em>string array</em></td>
<td></td>
</tr>
<tr>
<td>idleTimeoutSeconds <br /> <em>integer</em></td>
<td></td>
</tr>
<tr>
<td>type <br /> <em>string</em></td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="networkingspec-v1alpha2-kops">NetworkingSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>NetworkingSpec</td>
</tr>
</tbody>
</table>
<p>NetworkingSpec allows selection and configuration of a networking plugin</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterspec-v1alpha2-kops">ClusterSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>amazonvpc <br /> <em><a href="#amazonvpcnetworkingspec-v1alpha2-kops">AmazonVPCNetworkingSpec</a></em></td>
<td></td>
</tr>
<tr>
<td>calico <br /> <em><a href="#caliconetworkingspec-v1alpha2-kops">CalicoNetworkingSpec</a></em></td>
<td></td>
</tr>
<tr>
<td>canal <br /> <em><a href="#canalnetworkingspec-v1alpha2-kops">CanalNetworkingSpec</a></em></td>
<td></td>
</tr>
<tr>
<td>cilium <br /> <em><a href="#ciliumnetworkingspec-v1alpha2-kops">CiliumNetworkingSpec</a></em></td>
<td></td>
</tr>
<tr>
<td>classic <br /> <em><a href="#classicnetworkingspec-v1alpha2-kops">ClassicNetworkingSpec</a></em></td>
<td></td>
</tr>
<tr>
<td>cni <br /> <em><a href="#cninetworkingspec-v1alpha2-kops">CNINetworkingSpec</a></em></td>
<td></td>
</tr>
<tr>
<td>external <br /> <em><a href="#externalnetworkingspec-v1alpha2-kops">ExternalNetworkingSpec</a></em></td>
<td></td>
</tr>
<tr>
<td>flannel <br /> <em><a href="#flannelnetworkingspec-v1alpha2-kops">FlannelNetworkingSpec</a></em></td>
<td></td>
</tr>
<tr>
<td>kopeio <br /> <em><a href="#kopeionetworkingspec-v1alpha2-kops">KopeioNetworkingSpec</a></em></td>
<td></td>
</tr>
<tr>
<td>kubenet <br /> <em><a href="#kubenetnetworkingspec-v1alpha2-kops">KubenetNetworkingSpec</a></em></td>
<td></td>
</tr>
<tr>
<td>kuberouter <br /> <em><a href="#kuberouternetworkingspec-v1alpha2-kops">KuberouterNetworkingSpec</a></em></td>
<td></td>
</tr>
<tr>
<td>romana <br /> <em><a href="#romananetworkingspec-v1alpha2-kops">RomanaNetworkingSpec</a></em></td>
<td></td>
</tr>
<tr>
<td>weave <br /> <em><a href="#weavenetworkingspec-v1alpha2-kops">WeaveNetworkingSpec</a></em></td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="objectmeta-v1-meta">ObjectMeta v1 meta</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>meta</td>
<td>v1</td>
<td>ObjectMeta</td>
</tr>
</tbody>
</table>
<p>ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#cluster-v1alpha2-kops">Cluster kops/v1alpha2</a></li>
<li><a href="#instancegroup-v1alpha2-kops">InstanceGroup kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>annotations <br /> <em>object</em></td>
<td>Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: <a href="http://kubernetes.io/docs/user-guide/annotations">http://kubernetes.io/docs/user-guide/annotations</a></td>
</tr>
<tr>
<td>clusterName <br /> <em>string</em></td>
<td>The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request.</td>
</tr>
<tr>
<td>creationTimestamp <br /> <em><a href="#time-v1-meta">Time</a></em></td>
<td>CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: <a href="https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata">https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata</a></td>
</tr>
<tr>
<td>deletionGracePeriodSeconds <br /> <em>integer</em></td>
<td>Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.</td>
</tr>
<tr>
<td>deletionTimestamp <br /> <em><a href="#time-v1-meta">Time</a></em></td>
<td>DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: <a href="https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata">https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata</a></td>
</tr>
<tr>
<td>finalizers <br /> <em>string array</em> <br /> <strong>patch type</strong>: <em>merge</em></td>
<td>Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed.</td>
</tr>
<tr>
<td>generateName <br /> <em>string</em></td>
<td>GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: <a href="https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency">https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency</a></td>
</tr>
<tr>
<td>generation <br /> <em>integer</em></td>
<td>A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.</td>
</tr>
<tr>
<td>initializers <br /> <em><a href="#initializers-v1-meta">Initializers</a></em></td>
<td>An initializer is a controller which enforces some system invariant at object creation time. This field is a list of initializers that have not yet acted on this object. If nil or empty, this object has been completely initialized. Otherwise, the object is considered uninitialized and is hidden (in list/watch and get calls) from clients that haven&#39;t explicitly asked to observe uninitialized objects. When an object is created, the system will populate this list with the current set of initializers. Only privileged users may set or modify this list. Once it is empty, it may not be modified further by any user.</td>
</tr>
<tr>
<td>labels <br /> <em>object</em></td>
<td>Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: <a href="http://kubernetes.io/docs/user-guide/labels">http://kubernetes.io/docs/user-guide/labels</a></td>
</tr>
<tr>
<td>name <br /> <em>string</em></td>
<td>Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: <a href="http://kubernetes.io/docs/user-guide/identifiers#names">http://kubernetes.io/docs/user-guide/identifiers#names</a></td>
</tr>
<tr>
<td>namespace <br /> <em>string</em></td>
<td>Namespace defines the space within each name must be unique. An empty namespace is equivalent to the &quot;default&quot; namespace, but &quot;default&quot; is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. More info: <a href="http://kubernetes.io/docs/user-guide/namespaces">http://kubernetes.io/docs/user-guide/namespaces</a></td>
</tr>
<tr>
<td>ownerReferences <br /> <em><a href="#ownerreference-v1-meta">OwnerReference</a> array</em> <br /> <strong>patch type</strong>: <em>merge</em> <br /> <strong>patch merge key</strong>: <em>uid</em></td>
<td>List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.</td>
</tr>
<tr>
<td>resourceVersion <br /> <em>string</em></td>
<td>An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: <a href="https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency">https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency</a></td>
</tr>
<tr>
<td>selfLink <br /> <em>string</em></td>
<td>SelfLink is a URL representing this object. Populated by the system. Read-only.</td>
</tr>
<tr>
<td>uid <br /> <em>string</em></td>
<td>UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: <a href="http://kubernetes.io/docs/user-guide/identifiers#uids">http://kubernetes.io/docs/user-guide/identifiers#uids</a></td>
</tr>
</tbody>
</table>
<h2 id="ownerreference-v1-meta">OwnerReference v1 meta</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>meta</td>
<td>v1</td>
<td>OwnerReference</td>
</tr>
</tbody>
</table>
<p>OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#objectmeta-v1-meta">ObjectMeta meta/v1</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>apiVersion <br /> <em>string</em></td>
<td>API version of the referent.</td>
</tr>
<tr>
<td>blockOwnerDeletion <br /> <em>boolean</em></td>
<td>If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned.</td>
</tr>
<tr>
<td>controller <br /> <em>boolean</em></td>
<td>If true, this reference points to the managing controller.</td>
</tr>
<tr>
<td>kind <br /> <em>string</em></td>
<td>Kind of the referent. More info: <a href="https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds">https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds</a></td>
</tr>
<tr>
<td>name <br /> <em>string</em></td>
<td>Name of the referent. More info: <a href="http://kubernetes.io/docs/user-guide/identifiers#names">http://kubernetes.io/docs/user-guide/identifiers#names</a></td>
</tr>
<tr>
<td>uid <br /> <em>string</em></td>
<td>UID of the referent. More info: <a href="http://kubernetes.io/docs/user-guide/identifiers#uids">http://kubernetes.io/docs/user-guide/identifiers#uids</a></td>
</tr>
</tbody>
</table>
<h2 id="patch-v1-meta">Patch v1 meta</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>meta</td>
<td>v1</td>
<td>Patch</td>
</tr>
</tbody>
</table>
<p>Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.</p>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
</tr>
</tbody>
</table>
<h2 id="preconditions-v1-meta">Preconditions v1 meta</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>meta</td>
<td>v1</td>
<td>Preconditions</td>
</tr>
</tbody>
</table>
<p>Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out.</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#deleteoptions-v1-meta">DeleteOptions meta/v1</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>uid <br /> <em>string</em></td>
<td>Specifies the target UID.</td>
</tr>
</tbody>
</table>
<h2 id="rbacauthorizationspec-v1alpha2-kops">RBACAuthorizationSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>RBACAuthorizationSpec</td>
</tr>
</tbody>
</table>
<aside class="notice">
Appears In:
<ul>
<li><a href="#authorizationspec-v1alpha2-kops">AuthorizationSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
</tr>
</tbody>
</table>
<h2 id="romananetworkingspec-v1alpha2-kops">RomanaNetworkingSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>RomanaNetworkingSpec</td>
</tr>
</tbody>
</table>
<p>RomanaNetworkingSpec declares that we want Romana networking</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#networkingspec-v1alpha2-kops">NetworkingSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>daemonServiceIP <br /> <em>string</em></td>
<td>DaemonServiceIP is the Kubernetes Service IP for the romana-daemon pod</td>
</tr>
<tr>
<td>etcdServiceIP <br /> <em>string</em></td>
<td>EtcdServiceIP is the Kubernetes Service IP for the etcd backend used by Romana</td>
</tr>
</tbody>
</table>
<h2 id="serveraddressbyclientcidr-v1-meta">ServerAddressByClientCIDR v1 meta</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>meta</td>
<td>v1</td>
<td>ServerAddressByClientCIDR</td>
</tr>
</tbody>
</table>
<p>ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match.</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#apigroup-v1-meta">APIGroup meta/v1</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>clientCIDR <br /> <em>string</em></td>
<td>The CIDR with which clients can match their IP to figure out the server address that they should use.</td>
</tr>
<tr>
<td>serverAddress <br /> <em>string</em></td>
<td>Address of this server, suitable for a client that matches the above CIDR. This can be a hostname, hostname:port, IP or IP:port.</td>
</tr>
</tbody>
</table>
<h2 id="status-v1-meta">Status v1 meta</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>meta</td>
<td>v1</td>
<td>Status</td>
</tr>
</tbody>
</table>
<p>Status is a return value for calls that don&#39;t return other objects.</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#initializers-v1-meta">Initializers meta/v1</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>apiVersion <br /> <em>string</em></td>
<td>APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: <a href="https://git.k8s.io/community/contributors/devel/api-conventions.md#resources">https://git.k8s.io/community/contributors/devel/api-conventions.md#resources</a></td>
</tr>
<tr>
<td>code <br /> <em>integer</em></td>
<td>Suggested HTTP return code for this status, 0 if not set.</td>
</tr>
<tr>
<td>details <br /> <em><a href="#statusdetails-v1-meta">StatusDetails</a></em></td>
<td>Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type.</td>
</tr>
<tr>
<td>kind <br /> <em>string</em></td>
<td>Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: <a href="https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds">https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds</a></td>
</tr>
<tr>
<td>message <br /> <em>string</em></td>
<td>A human-readable description of the status of this operation.</td>
</tr>
<tr>
<td>metadata <br /> <em><a href="#listmeta-v1-meta">ListMeta</a></em></td>
<td>Standard list metadata. More info: <a href="https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds">https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds</a></td>
</tr>
<tr>
<td>reason <br /> <em>string</em></td>
<td>A machine-readable description of why this operation is in the &quot;Failure&quot; status. If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it.</td>
</tr>
<tr>
<td>status <br /> <em>string</em></td>
<td>Status of the operation. One of: &quot;Success&quot; or &quot;Failure&quot;. More info: <a href="https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status">https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status</a></td>
</tr>
</tbody>
</table>
<h2 id="statuscause-v1-meta">StatusCause v1 meta</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>meta</td>
<td>v1</td>
<td>StatusCause</td>
</tr>
</tbody>
</table>
<p>StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#statusdetails-v1-meta">StatusDetails meta/v1</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>field <br /> <em>string</em></td>
<td>The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional. Examples: &quot;name&quot; - the field &quot;name&quot; on the current resource &quot;items[0].name&quot; - the field &quot;name&quot; on the first array entry in &quot;items&quot;</td>
</tr>
<tr>
<td>message <br /> <em>string</em></td>
<td>A human-readable description of the cause of the error. This field may be presented as-is to a reader.</td>
</tr>
<tr>
<td>reason <br /> <em>string</em></td>
<td>A machine-readable description of the cause of the error. If this value is empty there is no information available.</td>
</tr>
</tbody>
</table>
<h2 id="statusdetails-v1-meta">StatusDetails v1 meta</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>meta</td>
<td>v1</td>
<td>StatusDetails</td>
</tr>
</tbody>
</table>
<p>StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response. The Reason field of a Status object defines what attributes will be set. Clients must ignore fields that do not match the defined type of each attribute, and should assume that any attribute may be empty, invalid, or under defined.</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#status-v1-meta">Status meta/v1</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>causes <br /> <em><a href="#statuscause-v1-meta">StatusCause</a> array</em></td>
<td>The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.</td>
</tr>
<tr>
<td>group <br /> <em>string</em></td>
<td>The group attribute of the resource associated with the status StatusReason.</td>
</tr>
<tr>
<td>kind <br /> <em>string</em></td>
<td>The kind attribute of the resource associated with the status StatusReason. On some operations may differ from the requested resource Kind. More info: <a href="https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds">https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds</a></td>
</tr>
<tr>
<td>name <br /> <em>string</em></td>
<td>The name attribute of the resource associated with the status StatusReason (when there is a single name which can be described).</td>
</tr>
<tr>
<td>retryAfterSeconds <br /> <em>integer</em></td>
<td>If specified, the time in seconds before the operation should be retried. Some errors may indicate the client must take an alternate action - for those errors this field may indicate how long to wait before taking the alternate action.</td>
</tr>
<tr>
<td>uid <br /> <em>string</em></td>
<td>UID of the resource. (when there is a single resource which can be described). More info: <a href="http://kubernetes.io/docs/user-guide/identifiers#uids">http://kubernetes.io/docs/user-guide/identifiers#uids</a></td>
</tr>
</tbody>
</table>
<h2 id="targetspec-v1alpha2-kops">TargetSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>TargetSpec</td>
</tr>
</tbody>
</table>
<p>TargetSpec allows for specifying target config in an extensible way</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterspec-v1alpha2-kops">ClusterSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>terraform <br /> <em><a href="#terraformspec-v1alpha2-kops">TerraformSpec</a></em></td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="terraformspec-v1alpha2-kops">TerraformSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>TerraformSpec</td>
</tr>
</tbody>
</table>
<p>TerraformSpec allows us to specify terraform config in an extensible way</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#targetspec-v1alpha2-kops">TargetSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>providerExtraConfig <br /> <em>object</em></td>
<td>ProviderExtraConfig contains key/value pairs to add to the rendered terraform &quot;provider&quot; block</td>
</tr>
</tbody>
</table>
<h2 id="time-v1-meta">Time v1 meta</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>meta</td>
<td>v1</td>
<td>Time</td>
</tr>
</tbody>
</table>
<aside class="notice">
Appears In:
<ul>
<li><a href="#objectmeta-v1-meta">ObjectMeta meta/v1</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
</tr>
</tbody>
</table>
<h2 id="topologyspec-v1alpha2-kops">TopologySpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>TopologySpec</td>
</tr>
</tbody>
</table>
<aside class="notice">
Appears In:
<ul>
<li><a href="#clusterspec-v1alpha2-kops">ClusterSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>bastion <br /> <em><a href="#bastionspec-v1alpha2-kops">BastionSpec</a></em></td>
<td>Bastion provide an external facing point of entry into a network containing private network instances. This host can provide a single point of fortification or audit and can be started and stopped to enable or disable inbound SSH communication from the Internet, some call bastion as the &quot;jump server&quot;.</td>
</tr>
<tr>
<td>dns <br /> <em><a href="#dnsspec-v1alpha2-kops">DNSSpec</a></em></td>
<td>DNS configures options relating to DNS, in particular whether we use a public or a private hosted zone</td>
</tr>
<tr>
<td>masters <br /> <em>string</em></td>
<td>The environment to launch the Kubernetes masters in public</td>
<td>private</td>
</tr>
<tr>
<td>nodes <br /> <em>string</em></td>
<td>The environment to launch the Kubernetes nodes in public</td>
<td>private</td>
</tr>
</tbody>
</table>
<h2 id="userdata-v1alpha2-kops">UserData v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>UserData</td>
</tr>
</tbody>
</table>
<p>UserData defines a user-data section</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#instancegroupspec-v1alpha2-kops">InstanceGroupSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>content <br /> <em>string</em></td>
<td>Content is the user-data content</td>
</tr>
<tr>
<td>name <br /> <em>string</em></td>
<td>Name is the name of the user-data</td>
</tr>
<tr>
<td>type <br /> <em>string</em></td>
<td>Type is the type of user-data</td>
</tr>
</tbody>
</table>
<h2 id="watchevent-v1-meta">WatchEvent v1 meta</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>meta</td>
<td>v1</td>
<td>WatchEvent</td>
</tr>
</tbody>
</table>
<p>Event represents a single event to a watched resource.</p>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>object</td>
<td>Object is: <em> If Type is Added or Modified: the new state of the object. </em> If Type is Deleted: the state of the object immediately before deletion. <em> If Type is Error: </em>Status is recommended; other types may make sense depending on context.</td>
</tr>
<tr>
<td>type <br /> <em>string</em></td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="weavenetworkingspec-v1alpha2-kops">WeaveNetworkingSpec v1alpha2 kops</h2>
<table>
<thead>
<tr>
<th>Group</th>
<th>Version</th>
<th>Kind</th>
</tr>
</thead>
<tbody>
<tr>
<td>kops</td>
<td>v1alpha2</td>
<td>WeaveNetworkingSpec</td>
</tr>
</tbody>
</table>
<p>WeaveNetworkingSpec declares that we want Weave networking</p>
<aside class="notice">
Appears In:
<ul>
<li><a href="#networkingspec-v1alpha2-kops">NetworkingSpec kops/v1alpha2</a></li>
</ul></aside>
<table>
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>connLimit <br /> <em>integer</em></td>
<td></td>
</tr>
<tr>
<td>mtu <br /> <em>integer</em></td>
<td></td>
</tr>
</tbody>
</table>
<h1 id="-strong-old-versions-strong-"><strong>Old Versions</strong></h1>
<hr>
</div>
</div>
<script src="node_modules/jquery/dist/jquery.min.js"></script>
<script src="node_modules/jquery.scrollto/jquery.scrollTo.min.js"></script>
<script src="navData.js"></script>
<script src="scroll.js"></script>
<!--<script src="actions.js"></script>-->
<script src="tabvisibility.js"></script>
</body>
</html>