Commit Graph

239 Commits

Author SHA1 Message Date
Kubernetes Submit Queue 307df97408 Merge pull request #3198 from blakebarnett/bdb/add_user_to_kubelet_systemd_unit
Automatic merge from submit-queue

Fixes reading /root/.docker/config.json on debian

Debian and probably others apparently don't automatically default to using the root account if it's not specified.

ref: https://github.com/kubernetes/kubernetes/issues/45487#issuecomment-312042754
2017-08-28 05:06:58 -07:00
Rohith 9b9e4bb123 Docker Default Ulimits
The current implementation does not permit us to set the default ulimit on docker daemon (currently a requirement for our logstash). This PR add the DefaultUlimit option to the DockerConfig
2017-08-24 21:24:41 +01:00
Kubernetes Submit Queue 4edc267fb8 Merge pull request #3090 from gambol99/file_assets
Automatic merge from submit-queue

Cluster / InstanceGroup File Assets

@chrislovecnm @justinsb ... 

The current implementation does not make it ease to fully customize nodes before kube install. This PR adds the ability to include file assets in the cluster and instaneGroup spec which can be consumed by nodeup. Allowing those whom need (i.e. me :-)) greater flexibilty around their nodes. @Note, nothing is enforced, so unless you've specified anything everything is as the same

- updated the cluster_spec.md to reflect the changes
- permit users to place inline files into the cluster and instance group specs
- added the ability to template the files, the Cluster and InstanceGroup specs are passed into context
- cleaned up and missed comment, unordered imports etc along the journey

notes: In addition to this; need to look at the detecting the changes in the cluster and instance group spec. Think out loud perhaps using a last_known_configuration annotation, similar to kubernetes
2017-08-22 19:49:48 -07:00
Torin Sandall 7cf6e1036c Add support for proxy client certs
This enables external admission controller webhooks, api aggregation,
and anything else that relies on the
--proxy-client-cert-file/--proxy-client-key-file apiserver args.
2017-08-22 08:03:36 -07:00
Kubernetes Submit Queue df4aa41322 Merge pull request #3092 from justinsb/xenial_packages
Automatic merge from submit-queue

Add iptables to docker-xenial dependencies
2017-08-18 15:24:10 -07:00
Rohith 494671eaaf Request Changes - File Assets
- removed the Mode field from the FileAsset spec
- removed the ability to template the content
- removed the need to specify the Path and instead default to /srv/kubernetes/assets/<name>
- change the FileAssets from []*FileAssets to []FileAssets
2017-08-18 18:06:45 +01:00
Rohith c15221c872 - adding a Roles filter to the file assets to choose who gets the asset 2017-08-18 18:06:44 +01:00
Rohith 2c9b27370e - using the nodetask rather than the direct MkdirAll 2017-08-18 18:06:44 +01:00
Rohith aa1a92c60e Cluster / InstanceGroup File Assets
The current implementation does not make it ease to fully customize nodes before kube install. This PR adds the ability to include file assets in the cluster and instaneGroup spec which can be consumed by nodeup. Allowing those whom need (i.e. me :-)) greater flexibilty around their nodes. @Note, nothing is enforced, so unless you've specified anything everything is as the same

- updated the cluster_spec.md to reflect the changes
- permit users to place inline files into the cluster and instance group specs
- added the ability to template the files, the Cluster and InstanceGroup specs are passed into context
- cleaned up and missed comment, unordered imports etc along the journey
2017-08-18 18:06:44 +01:00
chrislovecnm e1aec62ccc adding socat with rhel family 2017-08-17 16:04:21 -06:00
Blake e845e240ef Fixes reading /root/.docker/config.json on debian
Debian and probably others apparently don't automatically default to using the root account if it's not specified.
2017-08-14 13:08:30 -07:00
Kubernetes Submit Queue 0620cce89e Merge pull request #3063 from gambol99/hook_order
Automatic merge from submit-queue

Cluster Hooks Enhancement

Cluster Hook Enhancement

The current implementation is presently limited to docker exec, without ordering or any bells and whistles. This PR extends the functionality of the hook spec by;

- adds ordering to the hooks, with users able to set the requires and before of the unit
- cleaned up the manifest code, added tests and permit setting a section raw
- added the ability to filter hooks via master and node roles
- updated the documentation to reflect the changes
- extending the hooks to permit adding hooks per instancegroup as well cluster
- @note, instanceGroup are permitted to override the cluster wide one for ease of testing
- on the journey tried to fix an go idioms such as import ordering, comments for global export etc
- @question: v1alpha1 doesn't appear to have Subnet fields, are these different version being used anywhere?
2017-08-14 04:24:46 -07:00
Rohith 7cd214266a Requested Changes - Etvd v3
- removing the StorageType on the etcd cluster spec (sticking with the Version field only)
- changed the protokube flag back to -etcd-image
- users have to explicitly set the etcd version now; the latest version in gcr.io is 3.0.17
- reverted the ordering on the populate spec
2017-08-11 21:08:09 +01:00
Rohith f3e98af217 Etcd V3 Support
The current implementation is running v2.2.1 which is two year old and end of life. This PR add the ability to use etcd and set the versions if required. Note at the moment the image is still using the gcr.io registry image. As note, much like TLS their presently is not 'automated' migration path from v2 to v3.

- the feature is gated behine the storageType of the etcd cluster, bot clusters events and main must use the same storage type
- the version for v2 is unchanged and pinned at v2.2.1 with v2 using v3.0.17
- @question: we shoudl consider allowing the use to override the images though I think this should be addresses more generically, than one offs here and then. I know chris is working on a asset registry??
2017-08-11 21:04:31 +01:00
Rohith 7f5c83e417 Requests Changes - Hooks Enhancement
- switched to using an array of roles rather than boolean flags for node selection
- fixed up the README to reflect the changes
- added the docker.service as a Requires to all docker exec hooks
2017-08-11 12:41:08 +01:00
Rohith 0bfc2f1b24 Hooks in InstanceGroups
- extending the hooks to permit adding hooks per instancegroup as well
- @note, instanceGroup are permitted to override the cluster wide one for ease of testing
- updated the documentation to reflect the changes
- on the journey tried to fix an go idioms such as import ordering, comments for global export etc
- @question: v1alpha1 doesn't appear to have Subnet fields, are these different version being used anywhere?
2017-08-11 12:40:10 +01:00
Rohith 153db84df1 Custom Manifests via Hooks
The present implementation of hooks only perform for docker exec, which isn't that flexible. This PR permits the user to greater customize systemd units on the instances

- cleaned up the manifest code, added tests and permit setting a section raw
- added the ability to filter hooks via master and node roles
- updated the documentation to reflect the changes
- cleaned up some of the vetting issues
2017-08-11 12:40:10 +01:00
Rohith fe3dd9815c Cluster Hook Ordering
The current implementation does not permit the user to order the hooks. This PR adds optional Requires, Before and Documentation to the HookSpec which is added the systemd unit if specified.
2017-08-11 12:40:10 +01:00
Kubernetes Submit Queue b418c3036d Merge pull request #3125 from gambol99/kubelet_api
Automatic merge from submit-queue

Kubelet API Certificate

A while back options to permit secure kube-apiserver to kubelet api was [PR2381](https://github.com/kubernetes/kops/pull/2831) using the server.cert and server.key as testing grounds. This PR formalizes the options and generates a client certificate on their behalf (note, the server{.cert,key} can no longer be used post 1.7 as the certificate usage is checked i.e. it's not using a client cert). The users now only need to add anonymousAuth: false to enable secure api to kubelet. I'd like to make this default to all new builds i'm not sure where to place it.

- updated the security.md to reflect the changes
- issue a new client kubelet-api certificate used to secure authorize comms between api and kubelet
- fixed any formatting issues i came across on the journey
2017-08-11 02:41:14 -07:00
Rohith 9873fc1be5 Requested Changes
- fixed the various issues highlighted in https://github.com/kubernetes/kops/pull/3125
- changed the docuementation to make more sense
- changed the logic of the UseSecureKubelet to return early
2017-08-08 13:47:08 +01:00
asifdxtreme 18f6edd850 Fix Typo to improve GoReportCard 2017-08-08 10:48:14 +08:00
Rohith 2fb60b9b3d Kubelet API Certificate
A while back options to permit secure kube-apiserver to kubelet api was https://github.com/kubernetes/kops/pull/2831 using the server.cert and server.key as testing grouns. This PR formalizes the options and generates a client certificate on their behalf (note, the server{.cert,key} can no longer be used post 1.7 as the certificate usage is checked i.e. it's not using a client cert). The users now only need to add anonymousAuth: false to enable secure api to kubelet. I'd like to make this default to all new builds i'm not sure where to place it.

- updated the security.md to reflect the changes
- issue a new client kubelet-api certificate used to secure authorize comms between api and kubelet
- fixed any formatting issues i came across on the journey
2017-08-08 01:11:09 +01:00
Derek VerLee ffa95b8112 Add support for cluster using http forward proxy 2017-08-07 14:30:42 -04:00
Kubernetes Submit Queue 5d5945cb00 Merge pull request #3114 from gambol99/etcd_tls
Automatic merge from submit-queue

Etcd TLS Options

The current implementation does not put any transport security on the etcd cluster. The PR provides and optional flag to enable TLS the etcd cluster

- cleaned up and fixed any formatting issues on the journey
- added two new certificates (server/client) for etcd peers and a client certificate for kubeapi and others perhaps (perhaps calico?)
- disabled the protokube service for nodes completely is not required; note this was first raised in https://github.com/kubernetes/kops/pull/3091, but figured it would be easier to place in here given the relation
- updated protokube codebase to reflect the changes, removing the master option as its no longer required
- added additional integretion tests for the protokube manifests;
- note, still need to add documentation, but opening the PR to get feedback
- one outstanding issue is the migration from http -> https for preexisting clusters, i'm gonna hit the coreos board to ask for the best options
2017-08-06 14:02:06 -07:00
Rohith f61e1ebe08 Etcd TLS Options
- changed the location of this variable to be in the etcd cluster spec rather the kops cluster spec
- reflected the changes against the models
2017-08-06 20:50:05 +01:00
Rohith 74f59612c7 Fixes
- added the master option back the protokube, updating the nodeup model and protokube code
- removed any comments no related to the PR as suggested
- reverted the ordering of the mutex in the AWSVolumes in protokube
2017-08-06 18:52:38 +01:00
Rohith a73d255b03 Etcd TLS Options
The current implementation does not put any transport security on the etcd cluster. The PR provides and optional flag to enable TLS the etcd cluster

- cleaned up and fixed any formatting issues on the journey
- added two new certificates (server/client) for etcd peers and a client certificate for kubeapi and others perhaps (perhaps calico?)
- disabled the protokube service for nodes completely is not required; note this was first raised in https://github.com/kubernetes/kops/pull/3091, but figured it would be easier to place in here given the relation
- updated protokube codebase to reflect the changes, removing the master option as its no longer required
- added additional integretion tests for the protokube manifests;
- note, still need to add documentation, but opening the PR to get feedback
- one outstanding issue is the migration from http -> https for preexisting clusters, i'm gonna hit the coreos board to ask for the best options
2017-08-06 17:06:46 +01:00
Johannes Würbach 47256fed82
CoreOS: Ensure docker configuration is loaded
Previously the configuration has been written after docker has been started and
was actually only applied after a reboot.

Manually reload system and restart docker to ensure the configuration has been
applied.
2017-08-04 11:44:12 +02:00
Kubernetes Submit Queue b040c11281 Merge pull request #3098 from johanneswuerbach/configure-docker-on-coreos
Automatic merge from submit-queue

Configure docker on CoreOS/ContainerOS

While the installation of docker should be skipped, docker should still be
configured to allow overriding the docker config using kops.

Fixes https://github.com/kubernetes/kops/issues/3057

//cc @aledbf
2017-08-03 22:10:40 -07:00
Kubernetes Submit Queue 5577fab602 Merge pull request #3087 from blakebarnett/bdb/add_node_docker_config_secret
Automatic merge from submit-queue

Add `kops create secret dockerconfig` feature

This adds a well-known secret name `dockerconfig` which will automatically
be used if present to create `/root/.docker/config.json` on all nodes. This will
allow private registries to be used for kops hooks as well as any k8s images
without the need to define `imagePullSecrets` in every namespace.

closes https://github.com/kubernetes/kops/issues/2505
2017-08-03 19:33:42 -07:00
Johannes Würbach 798d87da32
Configure docker on CoreOS/ContainerOS
While the installation of docker should be skipped, docker should still be
configured to allow overriding the docker config using kops.

Fixes https://github.com/kubernetes/kops/issues/3057
2017-08-02 13:32:33 +02:00
Blake e093702fc3 Don't error if the dockerconfig isn't present 2017-08-01 16:51:20 -07:00
Blake 4f95fe473f Incorporate review feedback
- Rename to just DockerConfig / dockerconfig everywhere for consistency
- Check if the config is valid JSON
- Update docs
2017-08-01 13:15:19 -07:00
Justin Santa Barbara 532585dbf4 Add iptables to docker-xenial dependencies
It isn't always installed, apparently!
2017-07-30 21:44:16 -04:00
Blake 4d9c69c167 Add documentation and update text fixture 2017-07-29 13:29:28 -07:00
Blake bd779e7570 Move task up so so it applies to all nodes
Add HOME=/root to kubelet sysconfig
2017-07-29 13:04:49 -07:00
Blake 7946f08a08 symlink to /root/.docker/config.json for hooks
move the tasks up so they apply to all nodes
2017-07-29 00:27:50 -07:00
Blake 760311f09b Kubelet $HOME is /var/lib/kubelet
Also don't include the nodedockercfg in all_tokens.csv
2017-07-28 22:03:12 -07:00
Blake 60dc81fe49 Add `kops create secret nodedockercfg` feature
This adds a well-known secret name `nodedockercfg` which will automatically
be used if present to create /root/.docker/config.json on all nodes. This will
allow private registries to be used for kops hooks as well as any k8s images
without the need to define `imagePullSecrets` in every namespace.

closes https://github.com/kubernetes/kops/issues/2505
2017-07-28 17:38:50 -07:00
Rohith b5066c967b Vetting / Formating / Cleanup
- fixed any of the vettting / formatting issues that i'm came across on the update
- removed the commented out lines from the componentconfig as it make its increasingly difficult to find what is supported, what is not and the difference between them.
- added SerializeImagePulls, RegisterSchedulable to kubelet (by default they are ignored)
- added FeatureGates to the kube-proxy

Out of interest can someone point me to where these multi-versioned componentconfig are being used?
2017-07-28 17:16:11 +01:00
Rohith a3ff7dd122 Node Secrets
As present a number of secrets are downloaded to the /src/kubernetes directory regardless of role (master, node). This limits the
the node role to only donwload the ca.crt. The rest are for master nodes only

- removes basic_auth.csv, ca.key, known_tokens.csv, server.cert and server.key leaving only the ca.crt
2017-07-27 17:25:44 +01:00
Hanfei Shen fc50984f09 support china region 2017-07-16 00:57:38 +08:00
Steele Clifton-Berry eb387ac4c6 Also increase fs.inotify.max_user_watches from default. 2017-07-13 15:50:53 +10:00
Steele Clifton-Berry 67e4e0f111 Increase fs.inotify.max_user_instances limit. Fixes #2912 2017-07-12 16:35:19 +10:00
Chris Love f1f6507fa8 Merge pull request #2808 from alexandrst88/aws-sg-fix
Add SG parameter into AWS cloud-config
2017-07-06 14:20:14 -06:00
Chris Love 20535248b4 Merge pull request #2773 from justinsb/authn_integration
Initial support for authentication (kopeio)
2017-07-06 14:11:22 -06:00
alexandrst88 6b81385584 Add SG parameter into AWS cloud-config 2017-07-04 15:44:21 +03:00
Jasmine Hegman 61f72a63c5 Change logrotate compress to delaycompress
As per https://github.com/fluent/fluentd/issues/780#issuecomment-178065328
2017-06-29 17:25:46 -07:00
Alex Simenduev 5644854b4b Change to EtcdBuilder in ETCD model 2017-06-25 02:30:44 +03:00
Justin Santa Barbara 752150ef22 Initial support for authentication (kopeio)
Still experimental, so not doing a flag yet.
2017-06-20 00:15:39 -04:00
Justin Santa Barbara d2df318ecc Move CloudProvider to kops API
This avoids a circular reference when breaking up the fi package
2017-06-17 16:27:07 -04:00
Murali Reddy e872dbcb86 add support for kube-router as CNI networking provider
fixes #2606

Most part of the changes are similar to current supported CNI networking
provider. Kube-router also support IPVS bassed service proxy which can
be used as replacement for kube-proxy. So the manifest for kube-router
included with this patch enables kube-router to provide pod-to-pod
networking, IPVS based service proxy and ingress pod firewall.
2017-06-09 17:01:31 +05:30
Otto Yiu c22b3cc035 Fix log rotation of apiserver audit logs
Fixed an oops I created in #2494 where log rotation does not function
as expected.

The kube-apiserver first has to rename the existing audit log prior to a new one
being created. Renaming is not possible when the audit file is mounted
directly as the host path. kube-apiserver will return a 'Device or
resource busy' error when it tries to do so. So instead, we mount the
directory of the path instead of the file itself. Also remove the
creation of an empty audit log file as that is no longer necessary for
Docker to mount a directory.

"If an audit log file already exists, Kubernetes appends new audit logs
to that file. Otherwise, Kubernetes creates an audit log file at the
location you specified in audit-log-path. If the audit log file exceeds
the size you specify in audit-log-maxsize, Kubernetes will rename the
current log file by appending the current timestamp on the file name
(before the file extension) and create a new audit log file. Kubernetes
may delete old log files when creating a new log file; you can configure
how many files are retained and how old they can be by specifying the
audit-log-maxbackup and audit-log-maxage options."

Source: https://kubernetes.io/docs/tasks/debug-application-cluster/audit/

Tested this on Kubernetes 1.6 and with an audit log path specified to
be:
/var/log/kube-apiserver-audit.log

The kube-apiserver container has this mounted:
/dev/xvda1 on /var/log type ext4 (rw,relatime,data=ordered)
2017-06-01 13:43:06 -07:00
chrislovecnm 56e11e0750 fixing directory perms 2017-05-17 19:36:08 -06:00
Chris Love f15b317b47 Merge pull request #2523 from dolftax/fix-kube-dir-permission
[Fixes #2466] Creates .kube dir at /home/admin with group/owner as admin
2017-05-11 13:37:20 -06:00
Jaipradeesh Janarthanan 16c7a36b20 [Fixes #2466] Creates .kube dir at /home/admin with group/owner as admin
Signed-off-by: Jaipradeesh Janarthanan <jaipradeesh@gmail.com>
2017-05-08 12:30:54 +05:30
Otto Yiu 71d7be772a Expose kube-apiserver audit log to host volume
This commit exposes kube-apiserver's audit log to the host as a host
mapping.

PR #1872 gave the ability to users to define a custom log path for the
apiserver to write its audit logs to. Prior to this commit, the log file
would stay within the container's filesystem, and getting access to it from
outside the container was a nuisance.

This change allows a logging aggregator, like fluentd, to be able
to read and tail this log from outside the kube-apiserver container.
2017-05-04 15:20:29 -07:00
Justin Santa Barbara eddd73549c Use LB IP address for private dns 2017-04-25 01:32:27 -04:00
Justin Santa Barbara c8b18be9dd Gossip backed DNS 2017-04-25 01:32:21 -04:00
Abrar Shivani 3707436f2f Change vm_uuid location 2017-04-20 23:38:32 -07:00
Abrar Shivani e191f7dd96 Add vm-uuid in cloud-config file required by Kubernetes vSphere CloudProvider 2017-04-20 23:37:40 -07:00
Miao Luo 67771470cc Minor fix for gofmt ci test. 2017-04-20 23:37:40 -07:00
Abrar Shivani 2da57ef142 Support for vSphere Cloud Provider < v1.5.3 2017-04-20 23:37:40 -07:00
Abrar Shivani 5889814c90 Support for vSphere Cloud Provider 2017-04-20 23:33:21 -07:00
Miao Luo 6b010c4c5e Enable CoreDNS in nodeup/protokube (#6)
* Enable CoreDNS in nodeup/protokube.

* Address comments.
2017-04-20 23:33:21 -07:00
prashima e51e841d0c Added vSphere volumes to protokube, updated vSphere testing doc and makefile. (#1)
* Add vSphere volumes to protokube. Update vSphere testing doc and makefile.

* Updated vsphere_volume to get correct IP. Addressed comments.
2017-04-20 23:33:20 -07:00
SandeepPissay 82f9f0668d vsphere initial support. 2017-04-20 23:31:21 -07:00
Justin Santa Barbara 4dcc6ad067 Merge pull request #2370 from luomiao/userdefined-s3endpoint
Support user-defined s3 endpoint
2017-04-20 01:17:08 -04:00
Chris Love 6e81a8c1b5 Merge pull request #2260 from justinsb/hooks_poc
PoC of hooks
2017-04-19 16:00:24 -06:00
Justin Santa Barbara 57deb17562 Enable CertificateSigner API on k8s 1.6 2017-04-19 16:10:03 -04:00
Miao Luo 76437a77d4 Support user-defined s3 endpoint. 2017-04-18 11:27:07 -07:00
Justin Santa Barbara 1909b88097 Pass --network-plugin-dir for kubenet
kubenet continues to look there rather than --cni-bin-dir
2017-04-10 10:01:45 -04:00
Eric Hole 76e98087ac Merge pull request #2330 from justinsb/remove_cni_tag
Replaces UsesCNI with logic
2017-04-10 08:34:09 -04:00
Justin Santa Barbara 391a9b1897 Replaces UsesCNI with logic 2017-04-10 00:07:40 -04:00
Eric Hole c3b794edcd Merge pull request #2166 from justinsb/touch_kubeapiserver_log_to_code
Move touching kubeapiserver log file to code
2017-04-09 09:51:29 -04:00
Justin Santa Barbara 76f7665ed1 Apply gofmt 2017-04-08 01:53:09 -04:00
Justin Santa Barbara 7ba283f5e3 Merge pull request #2172 from waldman/feature/issue-2171
Add AWS CloudConfig DisableSecurityGroupIngress Configuration Parameter
2017-04-08 01:52:38 -04:00
Justin Santa Barbara 8287a75fec Move touching kubeapiserver log file to code 2017-04-07 22:43:59 -04:00
Chris Love c5daf400ba Merge pull request #2283 from justinsb/docker_1_12_6
Update to docker 1.12.6 for k8s 1.6
2017-04-06 13:34:28 -06:00
Justin Santa Barbara a5e2d7f79e Fix CNI bin & conf paths
Stop using the networking-plugin-dir flag, and replace with the
cni-bin-dir and cni-conf-dir flags, set appropriately.

Thanks for spotting @prachetasp

Issue #2267
2017-04-06 01:21:35 -04:00
Justin Santa Barbara 26b8421dda Merge pull request #2285 from justinsb/fix_tests
Tidy up kubelet nodeup tests
2017-04-06 01:16:58 -04:00
Justin Santa Barbara ba1af6950e Tidy up kubelet nodeup tests 2017-04-06 00:18:43 -04:00
Justin Santa Barbara a935a81b51 Merge pull request #2223 from andrewsykim/set-nf-conntrack-max-in-kubeproxy
Set nf_conntrack_max in kubeproxy
2017-04-06 00:13:14 -04:00
Justin Santa Barbara bc0063e1cb Update to docker 1.12.6 for k8s 1.6 2017-04-04 01:24:49 -04:00
chrislovecnm 131bc77abb Adding feature gates flag for kubelet, and unit tests 2017-04-03 11:13:21 -06:00
Justin Santa Barbara e04fdbd95d PoC of hooks 2017-03-31 22:33:25 -04:00
Chris Love f63c52c425 Merge pull request #2225 from justinsb/use_kcm_serviceaccounts
Set --use-service-account-credentials for 1.6
2017-03-29 10:50:42 -06:00
Justin Santa Barbara 2678f7e4be Merge pull request #2221 from justinsb/use_tee
Use tee for kube-proxy, so kubectl logs works
2017-03-29 11:44:07 -04:00
Justin Santa Barbara e5ec85fb7c Merge pull request #2220 from justinsb/disable_insecure_port
Be able to disable insecure port for apiserver
2017-03-29 11:43:40 -04:00
Justin Santa Barbara 19db8b37a0 Set --use-service-account-credentials for 1.6 2017-03-29 11:42:24 -04:00
Justin Santa Barbara 4179074590 Add RBAC roles to basic auth 2017-03-29 00:42:03 -04:00
andrewsykim c2e3717df2 remove setting nf_conntrack_max in nodeup 2017-03-28 21:40:19 -04:00
andrewsykim 8ee736a485 kube-proxy overwrites nf_conntrack_max so we should set it there 2017-03-28 21:38:09 -04:00
Justin Santa Barbara 8b965a0ad9 Disable insecure port for apiserver
All components need a kubeconfig
2017-03-28 21:26:17 -04:00
Justin Santa Barbara fe3b1f3abe Use tee for kube-proxy, so kubectl logs works 2017-03-28 20:48:48 -04:00
Justin Santa Barbara c6b4288e61 Pull fixes from the integration branch 2017-03-28 20:42:15 -04:00
Justin Santa Barbara 4c28bd30e4 Enable RBAC on 1.6 2017-03-28 20:14:13 -04:00
Justin Santa Barbara eecf22d593 Merge pull request #2206 from justinsb/kubeproxy_to_code
Move kubeproxy configuration to code
2017-03-28 19:51:02 -04:00
Justin Santa Barbara 04b4659923 Log kube-proxy command after we build it 2017-03-28 19:37:03 -04:00
Justin Santa Barbara c4e05ca1b1 Fix taint format 2017-03-28 12:26:10 -04:00
Justin Santa Barbara e2a06a389a Move kubeproxy configuration to code
Also map kube-proxy ClusterCIDR arg.
2017-03-28 10:03:17 -04:00
Justin Santa Barbara fea4df5868 Merge pull request #2202 from justinsb/post_2095
More log options for k8s 1.6
2017-03-28 01:25:20 -04:00
Justin Santa Barbara cb8ea7e043 Use repeated flags for log-opt to docker
Also add tests for the expected format
2017-03-28 00:53:31 -04:00
Justin Santa Barbara 3bf0dcd086 Move logrotate configuration to code 2017-03-28 00:44:22 -04:00
Justin Santa Barbara e6fb0a3d67 Move kube-scheduler to code & RBAC 2017-03-28 00:26:59 -04:00
Justin Santa Barbara 4006741a5d Update for new taints / labels names 2017-03-27 23:13:39 -04:00
Justin Santa Barbara 86d544c2f3 Update protokube to make tainting optional
As of 1.6, kubelet can apply the taints, so we don't need to do it in
protokube.
2017-03-27 23:08:15 -04:00
Justin Santa Barbara ae52277272 Update error message for golang style 2017-03-27 10:23:32 -04:00
Leon Waldman 133153b9a2 Add AWS CloudConfig DisableSecurityGroupIngress Configuration Parameter 2017-03-22 21:49:38 -03:00
Justin Santa Barbara b9204e9911 Initial Container-Optimized OS support
Add initial support for google's container-optimized OS (available on
GCE).
2017-03-20 23:47:37 -04:00
Justin Santa Barbara cb4641fea3 Code updates 2017-03-16 02:40:50 -04:00
Justin Santa Barbara 3d14d07616 Support cloud-config on GCE 2017-02-28 20:08:03 -05:00
Justin Santa Barbara 645f330dad Re-enable GCE support
We move everything to the models.  We feature-flag it, because we
probably want to change the names etc, and we aren't going to be able to
offer smooth upgrades until that is done.
2017-02-28 20:08:03 -05:00
Michael Taufen c24a017ed5 use --kubeconfig on kubelet instead of --api-servers in post 1.6 clusters 2017-02-27 15:49:11 -08:00
Justin Santa Barbara 4557ee7b9e Add socat to CoreOS
We build a statically linked version and distribute it with kops.

Note that our version of socat does not include libssl, but kubernetes
does not use it anyway.
2017-02-24 01:24:25 -05:00
Justin Santa Barbara 1c7818833a Merge pull request #1813 from aledbf/coreos
Initial (experimental) CoreOS support
2017-02-14 11:08:40 -05:00
Justin Santa Barbara 75447f8b44 Install ethtool in nodeup
Issue #1830
2017-02-11 16:16:09 -05:00
Manuel de Brito Fontes 6715bd53db Address comments 2017-02-11 13:57:30 -03:00
Manuel de Brito Fontes da2630638b Fix build 2017-02-11 13:57:30 -03:00
Justin Santa Barbara 1bacf8271e Initial (experimental) CoreOS support
* Detect CoreOS
* Move key manifests to code, to tolerate read-only mounts
* Misc refactorings so more code can be shared
* Change lots of ints to int32s in the models
* Run nodeup as a oneshot systemd service, rather than relying on
cloud-init behaviour which varies across distros
2017-02-11 13:57:30 -03:00
Manuel de Brito Fontes 572e2ab53e Increase conntrack table size using sysctl 2017-02-08 12:14:41 -03:00
Justin Santa Barbara a909f38b9c Merge pull request #1790 from justinsb/k8s_version_per_kops_version
Recommend a k8s version based on each kops version
2017-02-06 20:13:57 -05:00
Justin Santa Barbara 2d37ab1ca5 Recommend a k8s version based on each kops version
So the flow is that we recommend (or strongly recommend) a new kops
version when one is required for a new version, and then the new kops
version will recommend (or strongly recommend) a new k8s version.

We don't have a notion of multiple recommended k8s versions per kops
version - that is what channels are for.

Users are always free to disregard updates, even "required" ones by
setting a flag.
2017-02-06 01:06:03 -05:00
Justin Santa Barbara 46a770bf43 Don't set docker.socket on RHEL
For Docker >= 1.12

Fix #1781
2017-02-05 23:50:56 -05:00
Justin Santa Barbara fc66ac19a3 Install ebtables in nodeup
Partially addresses #1711.  We want to preinstall ebtables to fully fix.
2017-02-01 02:18:28 -05:00
Justin Santa Barbara 93d0a79833 Fix path to docker service manifest
Fix #1542
2017-01-30 01:50:20 -05:00
Justin Santa Barbara 5ace7ef11b protokube: build etcd manifest in code 2017-01-24 12:14:25 -05:00
Chris Love 645bf798b6 Merge pull request #1523 from justinsb/remove_kubelet
Refactor kubelet to code
2017-01-19 08:10:23 -08:00
Justin Santa Barbara d561d33e60 Refactor kubelet to code
More splitting up the CoreOS PR
2017-01-18 21:53:52 -05:00
Justin Santa Barbara 670b3712ef Remove systemd manifest (for real)
I forgot to actually remove the old copy we were moving last time!
2017-01-18 01:09:35 -05:00
Kris Nova 5c7174da00 Merge pull request #1487 from justinsb/split_out_systemd
Split out systemd package
2017-01-16 21:19:57 -07:00
Justin Santa Barbara 515d4ddb21 Split out distros into its own package
Part of splitting up the coreos PR
2017-01-15 18:18:34 -05:00
Justin Santa Barbara b3fd80ac11 Split out systemd package
Part of splitting up the CoreOS PR
2017-01-15 17:52:56 -05:00
Justin Santa Barbara 6d6f8cb932 Fixes per code review 2017-01-11 00:12:59 -05:00
Justin Santa Barbara 8342208cc5 Build docker service in code, to cope with variations
The docker systemd manifest changes a lot between versions - build it in
code for sanity.
2017-01-10 15:22:09 -05:00
Justin Santa Barbara 17f54fefb7 Clean up sysctls
Remove duplicate key; add missing blank line
2017-01-09 00:30:47 -05:00
Justin Santa Barbara 5b3524cb80 Set default sysctls 2017-01-04 00:08:56 -05:00
Justin Santa Barbara 2f256b9d39 Add tests for docker nodeup side 2016-12-20 13:10:39 -05:00
Justin Santa Barbara 846b7601db Configure DockerVersion in Docker Spec
And automatically choose 1.12.3 for k8s >= 1.5, 1.11.2 for < 1.5

Fix #849
2016-12-20 00:34:40 -05:00