Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dev to alpha #2264

Merged
merged 27 commits into from
Jun 27, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
baf2f95
feat: run etcd-proxy as apiserver sidecar
linki Jun 4, 2019
46ca3c7
fix: add missing args yaml key
linki Jun 4, 2019
0719841
chore: drop resource limits on master pods
linki Jun 4, 2019
9050699
chore: update etcd-proxy to the latest version
linki Jun 4, 2019
c53652e
feat: make etcd-proxy sidecar feature configurable
linki Jun 7, 2019
0263a50
Merge remote-tracking branch 'origin/dev' into etcd-proxy
linki Jun 14, 2019
788425e
roll out restrictive TLS policy to only support >= TLS1.2 to test clu…
szuecs Jun 24, 2019
63fe8e3
Updated the Ubuntu images
arjunrn Jun 26, 2019
2f2b8ca
make external service account token usage configurable
linki Jun 26, 2019
d8a4acd
via ingress overwritable ssl policy, set defaults to test (target pol…
szuecs Jun 26, 2019
bbb0303
Merge pull request #2262 from zalando-incubator/service-account-check
mikkeloscar Jun 26, 2019
1d3b163
Give CDP controller access to CRDs that it needs to manage
mikkeloscar Jun 25, 2019
248502c
Merge dev to dev-to-alpha
zalando-teapot-robot Jun 27, 2019
ffee8ed
Merge pull request #2255 from zalando-incubator/update/alb-ssl-policy
mikkeloscar Jun 27, 2019
98fd0c7
Merge dev to dev-to-alpha
zalando-teapot-robot Jun 27, 2019
e353f99
Merge pull request #2260 from zalando-incubator/update-ubuntu-image
arjunrn Jun 27, 2019
74034ce
Merge dev to dev-to-alpha
zalando-teapot-robot Jun 27, 2019
70674b0
external-dns: reduce route53 batch size to 100
linki Jun 27, 2019
8e6e191
Merge remote-tracking branch 'origin/dev' into etcd-proxy
linki Jun 27, 2019
97adece
feat: enable etcd-proxy sidecar for ubuntu-based node pools
linki Jun 27, 2019
e0b24af
Merge pull request #2266 from zalando-incubator/batch-size
linki Jun 27, 2019
ec96689
Merge dev to dev-to-alpha
zalando-teapot-robot Jun 27, 2019
6bdd538
chore: enable etcd-proxy sidecar by default
linki Jun 27, 2019
a6e0a23
Merge pull request #2193 from zalando-incubator/etcd-proxy
szuecs Jun 27, 2019
0d80e6b
Merge dev to dev-to-alpha
zalando-teapot-robot Jun 27, 2019
74109bc
Merge pull request #2258 from zalando-incubator/cdp-controller-permis…
linki Jun 27, 2019
5558e8e
Merge dev to dev-to-alpha
zalando-teapot-robot Jun 27, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 15 additions & 1 deletion cluster/config-defaults.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@ autoscaling_buffer_pods: "1"
autoscaling_buffer_pods: "0"
{{end}}

# ALB config created by kube-aws-ingress-controller
{{if eq .Environment "test"}}
kube_aws_ingress_controller_ssl_policy: "ELBSecurityPolicy-TLS-1-2-2017-01"
{{else}}
kube_aws_ingress_controller_ssl_policy: "ELBSecurityPolicy-2016-08"
{{end}}

# skipper resource settings
skipper_limits_mem: "250Mi"
skipper_requests_cpu: "150m"
Expand Down Expand Up @@ -201,13 +208,16 @@ teapot_admission_controller_ignore_namespaces: "^kube-system$"
etcd_instance_count: "3"
{{end}}

# toggle host vs. sidecar etcd-proxy
etcd_proxy_as_sidecar: "true"

dynamodb_service_link_enabled: "false"

cluster_dns: "coredns"
coredns_log_svc_names: "true"

coreos_image: "ami-0d1579b60bb706fb7" # Container Linux 2079.6.0 (HVM, eu-central-1)
kuberuntu_image: "ami-0d856c4c2daf9b569" # Kuberuntu (dev) (HVM, eu-central-1)
kuberuntu_image: "ami-0d0d49d08e198103c" # Kuberuntu (dev) (HVM, eu-central-1)

# Feature toggle to allow gradual decommissioning of ingress-template-controller
enable_ingress_template_controller: "false"
Expand Down Expand Up @@ -242,5 +252,9 @@ node_cidr_mask_size: "24" # Default: 24

# when set to true, routes external traffic to the apiserver through a skipper sidecar
apiserver_proxy: "true"
# when set to true, service account tokens can be used from outside the cluster
# requires apiserver_proxy to be set to "true"
allow_external_service_accounts: "true"

# use kube-aws-iam-controller for kube-system components
kube_aws_iam_controller_kube_system_enable: "false"
2 changes: 1 addition & 1 deletion cluster/manifests/external-dns/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ spec:
- --provider=aws
- --registry=txt
- --txt-owner-id={{ .Region }}:{{ .LocalID }}
- --aws-batch-change-size=350
- --aws-batch-change-size=100
resources:
limits:
cpu: 50m
Expand Down
7 changes: 4 additions & 3 deletions cluster/manifests/ingress-controller/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ metadata:
namespace: kube-system
labels:
application: kube-ingress-aws-controller
version: v0.8.6
version: v0.8.8
spec:
replicas: 1
selector:
Expand All @@ -15,7 +15,7 @@ spec:
metadata:
labels:
application: kube-ingress-aws-controller
version: v0.8.6
version: v0.8.8
{{ if eq .ConfigItems.kube_aws_iam_controller_kube_system_enable "false"}}
annotations:
iam.amazonaws.com/role: "{{ .LocalID }}-app-ingr-ctrl"
Expand All @@ -29,9 +29,10 @@ spec:
serviceAccountName: kube-ingress-aws-controller
containers:
- name: controller
image: registry.opensource.zalan.do/teapot/kube-ingress-aws-controller:v0.8.6
image: registry.opensource.zalan.do/teapot/kube-ingress-aws-controller:v0.8.8
args:
- -stack-termination-protection
- -ssl-policy={{ .ConfigItems.kube_aws_ingress_controller_ssl_policy }}
env:
- name: AWS_REGION
value: {{ .Region }}
Expand Down
21 changes: 21 additions & 0 deletions cluster/manifests/roles/cdp-controller-rbac.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,27 @@ rules:
- list
- watch
- patch
- apiGroups:
- "zalando.org"
resources:
- awsiamroles
verbs:
- get
- list
- watch
- create
- apiGroups:
- "zalando.org"
resources:
- gradualdeployments
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
Expand Down
18 changes: 16 additions & 2 deletions cluster/node-pools/master-default/userdata.clc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ systemd:
[Install]
WantedBy=multi-user.target

{{ if ne .Cluster.ConfigItems.etcd_proxy_as_sidecar "true" }}
- name: etcd-member.service
enable: true
contents: |
Expand All @@ -77,6 +78,7 @@ systemd:

[Install]
WantedBy=multi-user.target
{{ end }}

- name: docker.service
dropins:
Expand Down Expand Up @@ -221,7 +223,7 @@ systemd:
contents: |
[Unit]
Description=drain this k8s node to make running pods time to gracefully shut down before stopping kubelet
After=docker.service kubelet.service etcd-member.service
After=docker.service kubelet.service

[Service]
Type=oneshot
Expand Down Expand Up @@ -575,7 +577,7 @@ storage:
- -enable-prometheus-metrics
- -write-timeout-server=60m
- -inline-routes
- 'z: JWTPayloadAnyKV("iss", "kubernetes/serviceaccount") -> enableAccessLog() -> "https://127.0.0.1:443"; h: Path("/kube-system/healthz") -> setPath("/healthz") -> disableAccessLog() -> "http://127.0.0.1:8080"; all: * -> disableAccessLog() -> "https://127.0.0.1:443";'
- 's: JWTPayloadAllKV("iss", "kubernetes/serviceaccount") -> enableAccessLog() -> {{ if eq .ConfigItems.allow_external_service_accounts "true" }}"https://127.0.0.1:443"{{ else }}status(401) -> <shunt>{{ end }}; h: Path("/kube-system/healthz") -> setPath("/healthz") -> disableAccessLog() -> "http://127.0.0.1:8080"; all: * -> disableAccessLog() -> "https://127.0.0.1:443";'
ports:
- containerPort: 8443
readinessProbe:
Expand All @@ -596,6 +598,18 @@ storage:
- mountPath: /etc/kubernetes/ssl
name: ssl-certs-kubernetes
readOnly: true
{{ if eq .Cluster.ConfigItems.etcd_proxy_as_sidecar "true"}}
- name: etcd-proxy
image: registry.opensource.zalan.do/teapot/etcd-proxy:master-3
args:
- {{ .Cluster.ConfigItems.etcd_endpoints }}
ports:
- containerPort: 2379
resources:
requests:
cpu: 25m
memory: 25Mi
{{ end }}
volumes:
- hostPath:
path: /etc/kubernetes/ssl
Expand Down
18 changes: 17 additions & 1 deletion cluster/node-pools/master-ubuntu-default/userdata.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
#cloud-config
runcmd:
- [ systemctl, start, gen-controller-manager-config.service ]
{{ if ne .Cluster.ConfigItems.etcd_proxy_as_sidecar "true"}}
- [ systemctl, start, etcd-member.service ]
{{ end }}

write_files:
{{ if ne .Cluster.ConfigItems.etcd_proxy_as_sidecar "true"}}
- owner: root:root
path: /etc/etcd-member/environment
content: |
ETCD_ENDPOINT={{ .Cluster.ConfigItems.etcd_endpoints }}
{{ end }}

- owner: root:root
path: /etc/kubernetes/secrets.env
Expand Down Expand Up @@ -311,7 +315,7 @@ write_files:
- -enable-prometheus-metrics
- -write-timeout-server=60m
- -inline-routes
- 'z: JWTPayloadAnyKV("iss", "kubernetes/serviceaccount") -> enableAccessLog() -> "https://127.0.0.1:443"; h: Path("/kube-system/healthz") -> setPath("/healthz") -> disableAccessLog() -> "http://127.0.0.1:8080"; all: * -> disableAccessLog() -> "https://127.0.0.1:443";'
- 's: JWTPayloadAllKV("iss", "kubernetes/serviceaccount") -> enableAccessLog() -> {{ if eq .ConfigItems.allow_external_service_accounts "true" }}"https://127.0.0.1:443"{{ else }}status(401) -> <shunt>{{ end }}; h: Path("/kube-system/healthz") -> setPath("/healthz") -> disableAccessLog() -> "http://127.0.0.1:8080"; all: * -> disableAccessLog() -> "https://127.0.0.1:443";'
ports:
- containerPort: 8443
readinessProbe:
Expand All @@ -332,6 +336,18 @@ write_files:
- mountPath: /etc/kubernetes/ssl
name: ssl-certs-kubernetes
readOnly: true
{{ if eq .Cluster.ConfigItems.etcd_proxy_as_sidecar "true"}}
- name: etcd-proxy
image: registry.opensource.zalan.do/teapot/etcd-proxy:master-3
args:
- {{ .Cluster.ConfigItems.etcd_endpoints }}
ports:
- containerPort: 2379
resources:
requests:
cpu: 25m
memory: 25Mi
{{ end }}
volumes:
- hostPath:
path: /etc/kubernetes/ssl
Expand Down