Merge pull request #22663 from yifan-gu/gce_coreos_manifests

Automatic merge from submit-queue

cluster/gce/coreos: Update addon manifests.

cc @yujuhong @timstclair @ArtfulCoder
This commit is contained in:
k8s-merge-robot 2016-05-20 23:56:01 -07:00
commit de76bfe78c
19 changed files with 492 additions and 146 deletions

View File

@ -79,6 +79,11 @@ function configure-etcd-events() {
evaluate-manifest ${MANIFESTS_DIR}/etcd-events.yaml /etc/kubernetes/manifests/etcd-events.yaml evaluate-manifest ${MANIFESTS_DIR}/etcd-events.yaml /etc/kubernetes/manifests/etcd-events.yaml
} }
function configure-addon-manager() {
echo "Configuring addon-manager"
evaluate-manifest ${MANIFESTS_DIR}/kube-addon-manager.yaml /etc/kubernetes/manifests/kube-addon-manager.yaml
}
function configure-kube-apiserver() { function configure-kube-apiserver() {
echo "Configuring kube-apiserver" echo "Configuring kube-apiserver"
@ -136,6 +141,10 @@ function configure-master-addons() {
evaluate-manifests-dir ${MANIFESTS_DIR}/addons/dashboard ${addon_dir}/dashboard evaluate-manifests-dir ${MANIFESTS_DIR}/addons/dashboard ${addon_dir}/dashboard
fi fi
if [[ "${ENABLE_CLUSTER_LOGGING}" == "true" ]]; then
evaluate-manifests-dir ${MANIFESTS_DIR}/addons/fluentd-elasticsearch ${addon_dir}/fluentd-elasticsearch
fi
if [[ "${ENABLE_CLUSTER_MONITORING}" == "influxdb" ]]; then if [[ "${ENABLE_CLUSTER_MONITORING}" == "influxdb" ]]; then
evaluate-manifests-dir ${MANIFESTS_DIR}/addons/cluster-monitoring/influxdb ${addon_dir}/cluster-monitoring/influxdb evaluate-manifests-dir ${MANIFESTS_DIR}/addons/cluster-monitoring/influxdb ${addon_dir}/cluster-monitoring/influxdb
elif [[ "${ENABLE_CLUSTER_MONITORING}" == "google" ]]; then elif [[ "${ENABLE_CLUSTER_MONITORING}" == "google" ]]; then
@ -160,6 +169,7 @@ function configure-master-components() {
configure-kube-apiserver configure-kube-apiserver
configure-kube-scheduler configure-kube-scheduler
configure-kube-controller-manager configure-kube-controller-manager
configure-addon-manager
configure-master-addons configure-master-addons
} }

View File

@ -1,11 +1,11 @@
apiVersion: v1 apiVersion: v1
kind: ReplicationController kind: ReplicationController
metadata: metadata:
name: l7-lb-controller name: l7-lb-controller-v0.6.0
namespace: kube-system namespace: kube-system
labels: labels:
k8s-app: glbc k8s-app: glbc
version: v0.5.1 version: v0.6.0
kubernetes.io/cluster-service: "true" kubernetes.io/cluster-service: "true"
kubernetes.io/name: "GLBC" kubernetes.io/name: "GLBC"
spec: spec:
@ -13,12 +13,12 @@ spec:
replicas: 1 replicas: 1
selector: selector:
k8s-app: glbc k8s-app: glbc
version: v0.5.1 version: v0.6.0
template: template:
metadata: metadata:
labels: labels:
k8s-app: glbc k8s-app: glbc
version: v0.5.1 version: v0.6.0
name: glbc name: glbc
kubernetes.io/cluster-service: "true" kubernetes.io/cluster-service: "true"
spec: spec:
@ -45,7 +45,7 @@ spec:
requests: requests:
cpu: 10m cpu: 10m
memory: 20Mi memory: 20Mi
- image: gcr.io/google_containers/glbc:0.5.1 - image: gcr.io/google_containers/glbc:0.6.0
livenessProbe: livenessProbe:
httpGet: httpGet:
path: /healthz path: /healthz
@ -63,8 +63,7 @@ spec:
requests: requests:
cpu: 100m cpu: 100m
memory: 50Mi memory: 50Mi
command:
- /glbc
args: args:
- --default-backend-service=kube-system/default-http-backend - --default-backend-service=kube-system/default-http-backend
- --sync-period=300s - --sync-period=60s
- --cluster-uid=${KUBE_UID}

View File

@ -1,39 +1,40 @@
apiVersion: v1 apiVersion: extensions/v1beta1
kind: ReplicationController kind: Deployment
metadata: metadata:
name: heapster-v10 name: heapster-v1.1.0.beta1
namespace: kube-system namespace: kube-system
labels: labels:
k8s-app: heapster k8s-app: heapster
version: v10
kubernetes.io/cluster-service: "true" kubernetes.io/cluster-service: "true"
version: v1.1.0.beta1
spec: spec:
replicas: 1 replicas: 1
selector: selector:
k8s-app: heapster matchLabels:
version: v10 k8s-app: heapster
version: v1.1.0.beta1
template: template:
metadata: metadata:
labels: labels:
k8s-app: heapster k8s-app: heapster
version: v10 version: v1.1.0.beta1
kubernetes.io/cluster-service: "true"
spec: spec:
containers: containers:
- image: gcr.io/google_containers/heapster:v0.18.2 - image: gcr.io/google_containers/heapster:v1.1.0-beta1
name: heapster name: heapster
resources: resources:
# keep request = limit to keep this container in guaranteed class
limits: limits:
cpu: 100m cpu: 100m
memory: 300Mi memory: 300Mi
requests:
cpu: 100m
memory: 300Mi
command: command:
- /heapster - /heapster
- --source=kubernetes.summary_api:'' - --source=kubernetes.summary_api:''
- --sink=gcm - --sink=gcm
- --sink=gcmautoscaling - --metric_resolution=60s
- --sink=gcl
- --stats_resolution=30s
- --sink_frequency=1m
volumeMounts: volumeMounts:
- name: ssl-certs - name: ssl-certs
mountPath: /etc/ssl/certs mountPath: /etc/ssl/certs
@ -41,10 +42,87 @@ spec:
- name: usrsharecacerts - name: usrsharecacerts
mountPath: /usr/share/ca-certificates mountPath: /usr/share/ca-certificates
readOnly: true readOnly: true
- image: gcr.io/google_containers/heapster:v1.1.0-beta1
name: eventer
resources:
# keep request = limit to keep this container in guaranteed class
limits:
cpu: 100m
memory: 300Mi
requests:
cpu: 100m
memory: 300Mi
command:
- /eventer
- --source=kubernetes:''
- --sink=gcl
volumeMounts:
- name: ssl-certs
mountPath: /etc/ssl/certs
readOnly: true
- name: usrsharecacerts
mountPath: /usr/share/ca-certificates
readOnly: true
- image: gcr.io/google_containers/addon-resizer:1.0
name: heapster-nanny
resources:
limits:
cpu: 50m
memory: 100Mi
requests:
cpu: 50m
memory: 100Mi
env:
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
command:
- /pod_nanny
- --cpu=100m
- --extra-cpu=0m
- --memory=300Mi
- --extra-memory=4Mi
- --threshold=5
- --deployment=heapster-v1.1.0.beta1
- --container=heapster
- --poll-period=300000
- image: gcr.io/google_containers/addon-resizer:1.0
name: eventer-nanny
resources:
limits:
cpu: 50m
memory: 100Mi
requests:
cpu: 50m
memory: 100Mi
env:
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
command:
- /pod_nanny
- --cpu=100m
- --extra-cpu=0m
- --memory=300Mi
- --extra-memory=307200Ki
- --threshold=5
- --deployment=heapster-v1.1.0.beta1
- --container=eventer
- --poll-period=300000
volumes: volumes:
- name: ssl-certs - name: ssl-certs
hostPath: hostPath:
path: /etc/ssl/certs path: "/etc/ssl/certs"
- name: usrsharecacerts - name: usrsharecacerts
hostPath: hostPath:
path: /usr/share/ca-certificates path: "/usr/share/ca-certificates"

View File

@ -1,39 +1,41 @@
apiVersion: v1 apiVersion: extensions/v1beta1
kind: ReplicationController kind: Deployment
metadata: metadata:
name: heapster-v10 name: heapster-v1.1.0.beta1
namespace: kube-system namespace: kube-system
labels: labels:
k8s-app: heapster k8s-app: heapster
version: v10
kubernetes.io/cluster-service: "true" kubernetes.io/cluster-service: "true"
version: v1.1.0.beta1
spec: spec:
replicas: 1 replicas: 1
selector: selector:
k8s-app: heapster matchLabels:
version: v10 k8s-app: heapster
version: v1.1.0.beta1
template: template:
metadata: metadata:
labels: labels:
k8s-app: heapster k8s-app: heapster
version: v10 version: v1.1.0.beta1
kubernetes.io/cluster-service: "true"
spec: spec:
containers: containers:
- image: gcr.io/google_containers/heapster:v0.18.2 - image: gcr.io/google_containers/heapster:v1.1.0-beta1
name: heapster name: heapster
resources: resources:
# keep request = limit to keep this container in guaranteed class
limits: limits:
cpu: 100m cpu: 100m
memory: 300Mi memory: 300Mi
requests:
cpu: 100m
memory: 300Mi
command: command:
- /heapster - /heapster
- --source=kubernetes.summary_api:'' - --source=kubernetes.summary_api:''
- --sink=gcl
- --sink=gcmautoscaling
- --sink=influxdb:http://monitoring-influxdb:8086 - --sink=influxdb:http://monitoring-influxdb:8086
- --stats_resolution=30s - --sink=gcm:?metrics=autoscaling
- --sink_frequency=1m - --metric_resolution=60s
volumeMounts: volumeMounts:
- name: ssl-certs - name: ssl-certs
mountPath: /etc/ssl/certs mountPath: /etc/ssl/certs
@ -41,10 +43,87 @@ spec:
- name: usrsharecacerts - name: usrsharecacerts
mountPath: /usr/share/ca-certificates mountPath: /usr/share/ca-certificates
readOnly: true readOnly: true
- image: gcr.io/google_containers/heapster:v1.1.0-beta1
name: eventer
resources:
# keep request = limit to keep this container in guaranteed class
limits:
cpu: 100m
memory: 300Mi
requests:
cpu: 100m
memory: 300Mi
command:
- /eventer
- --source=kubernetes:''
- --sink=gcl
volumeMounts:
- name: ssl-certs
mountPath: /etc/ssl/certs
readOnly: true
- name: usrsharecacerts
mountPath: /usr/share/ca-certificates
readOnly: true
- image: gcr.io/google_containers/addon-resizer:1.0
name: heapster-nanny
resources:
limits:
cpu: 50m
memory: 100Mi
requests:
cpu: 50m
memory: 100Mi
env:
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
command:
- /pod_nanny
- --cpu=100m
- --extra-cpu=0m
- --memory=300Mi
- --extra-memory=4Mi
- --threshold=5
- --deployment=heapster-v1.1.0.beta1
- --container=heapster
- --poll-period=300000
- image: gcr.io/google_containers/addon-resizer:1.0
name: eventer-nanny
resources:
limits:
cpu: 50m
memory: 100Mi
requests:
cpu: 50m
memory: 100Mi
env:
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
command:
- /pod_nanny
- --cpu=100m
- --extra-cpu=0m
- --memory=300Mi
- --extra-memory=307200Ki
- --threshold=5
- --deployment=heapster-v1.1.0.beta1
- --container=eventer
- --poll-period=300000
volumes: volumes:
- name: ssl-certs - name: ssl-certs
hostPath: hostPath:
path: /etc/ssl/certs path: "/etc/ssl/certs"
- name: usrsharecacerts - name: usrsharecacerts
hostPath: hostPath:
path: /usr/share/ca-certificates path: "/usr/share/ca-certificates"

View File

@ -1,34 +1,107 @@
apiVersion: v1 apiVersion: extensions/v1beta1
kind: ReplicationController kind: Deployment
metadata: metadata:
name: heapster-v10 name: heapster-v1.1.0.beta1
namespace: kube-system namespace: kube-system
labels: labels:
k8s-app: heapster k8s-app: heapster
version: v10
kubernetes.io/cluster-service: "true" kubernetes.io/cluster-service: "true"
version: v1.1.0.beta1
spec: spec:
replicas: 1 replicas: 1
selector: selector:
k8s-app: heapster matchLabels:
version: v10 k8s-app: heapster
version: v1.1.0.beta1
template: template:
metadata: metadata:
labels: labels:
k8s-app: heapster k8s-app: heapster
version: v10 version: v1.1.0.beta1
kubernetes.io/cluster-service: "true"
spec: spec:
containers: containers:
- image: gcr.io/google_containers/heapster:v0.18.2 - image: gcr.io/google_containers/heapster:v1.1.0-beta1
name: heapster name: heapster
resources: resources:
# keep request = limit to keep this container in guaranteed class
limits: limits:
cpu: 100m cpu: 100m
memory: 300Mi memory: 300Mi
requests:
cpu: 100m
memory: 300Mi
command: command:
- /heapster - /heapster
- --source=kubernetes.summary_api:'' - --source=kubernetes.summary_api:''
- --sink=influxdb:http://monitoring-influxdb:8086 - --sink=influxdb:http://monitoring-influxdb:8086
- --stats_resolution=30s - --metric_resolution=60s
- --sink_frequency=1m - image: gcr.io/google_containers/heapster:v1.1.0-beta1
name: eventer
resources:
# keep request = limit to keep this container in guaranteed class
limits:
cpu: 100m
memory: 300Mi
requests:
cpu: 100m
memory: 300Mi
command:
- /eventer
- --source=kubernetes:''
- --sink=influxdb:http://monitoring-influxdb:8086
- image: gcr.io/google_containers/addon-resizer:1.0
name: heapster-nanny
resources:
limits:
cpu: 50m
memory: 100Mi
requests:
cpu: 50m
memory: 100Mi
env:
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
command:
- /pod_nanny
- --cpu=100m
- --extra-cpu=0m
- --memory=300Mi
- --extra-memory=4Mi
- --threshold=5
- --deployment=heapster-v1.1.0.beta1
- --container=heapster
- --poll-period=300000
- image: gcr.io/google_containers/addon-resizer:1.0
name: eventer-nanny
resources:
limits:
cpu: 50m
memory: 100Mi
requests:
cpu: 50m
memory: 100Mi
env:
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
command:
- /pod_nanny
- --cpu=100m
- --extra-cpu=0m
- --memory=300Mi
- --extra-memory=307200Ki
- --threshold=5
- --deployment=heapster-v1.1.0.beta1
- --container=eventer
- --poll-period=300000

View File

@ -1,44 +1,52 @@
apiVersion: v1 apiVersion: v1
kind: ReplicationController kind: ReplicationController
metadata: metadata:
name: monitoring-influxdb-grafana-v2 name: monitoring-influxdb-grafana-v3
namespace: kube-system namespace: kube-system
labels: labels:
k8s-app: influxGrafana k8s-app: influxGrafana
version: v2 version: v3
kubernetes.io/cluster-service: "true" kubernetes.io/cluster-service: "true"
spec: spec:
replicas: 1 replicas: 1
selector: selector:
k8s-app: influxGrafana k8s-app: influxGrafana
version: v2 version: v3
template: template:
metadata: metadata:
labels: labels:
k8s-app: influxGrafana k8s-app: influxGrafana
version: v2 version: v3
kubernetes.io/cluster-service: "true" kubernetes.io/cluster-service: "true"
spec: spec:
containers: containers:
- image: gcr.io/google_containers/heapster_influxdb:v0.4 - image: gcr.io/google_containers/heapster_influxdb:v0.5
name: influxdb name: influxdb
resources: resources:
# keep request = limit to keep this container in guaranteed class
limits: limits:
cpu: 100m cpu: 100m
memory: 500Mi memory: 500Mi
requests:
cpu: 100m
memory: 500Mi
ports: ports:
- containerPort: 8083 - containerPort: 8083
- containerPort: 8086 - containerPort: 8086
volumeMounts: volumeMounts:
- name: influxdb-persistent-storage - name: influxdb-persistent-storage
mountPath: /data mountPath: /data
- image: beta.gcr.io/google_containers/heapster_grafana:v2.1.1 - image: gcr.io/google_containers/heapster_grafana:v2.6.0-2
name: grafana name: grafana
env: env:
resources: resources:
# keep request = limit to keep this container in guaranteed class
limits: limits:
cpu: 100m cpu: 100m
memory: 100Mi memory: 100Mi
requests:
cpu: 100m
memory: 100Mi
env: env:
# This variable is required to setup templates in Grafana. # This variable is required to setup templates in Grafana.
- name: INFLUXDB_SERVICE_URL - name: INFLUXDB_SERVICE_URL
@ -58,11 +66,8 @@ spec:
volumeMounts: volumeMounts:
- name: grafana-persistent-storage - name: grafana-persistent-storage
mountPath: /var mountPath: /var
volumes: volumes:
- name: influxdb-persistent-storage - name: influxdb-persistent-storage
emptyDir: {} emptyDir: {}
- name: grafana-persistent-storage - name: grafana-persistent-storage
emptyDir: {} emptyDir: {}

View File

@ -1,31 +1,64 @@
apiVersion: v1 apiVersion: extensions/v1beta1
kind: ReplicationController kind: Deployment
metadata: metadata:
name: heapster-v10 name: heapster-v1.1.0.beta1
namespace: kube-system namespace: kube-system
labels: labels:
k8s-app: heapster k8s-app: heapster
version: v10
kubernetes.io/cluster-service: "true" kubernetes.io/cluster-service: "true"
version: v1.1.0.beta1
spec: spec:
replicas: 1 replicas: 1
selector: selector:
k8s-app: heapster matchLabels:
version: v10 k8s-app: heapster
version: v1.1.0.beta1
template: template:
metadata: metadata:
labels: labels:
k8s-app: heapster k8s-app: heapster
version: v10 version: v1.1.0.beta1
kubernetes.io/cluster-service: "true"
spec: spec:
containers: containers:
- image: gcr.io/google_containers/heapster:v0.18.2 - image: gcr.io/google_containers/heapster:v1.1.0-beta1
name: heapster name: heapster
resources: resources:
# keep request = limit to keep this container in guaranteed class
limits: limits:
cpu: 100m cpu: 100m
memory: 300Mi memory: 300Mi
requests:
cpu: 100m
memory: 300Mi
command: command:
- /heapster - /heapster
- --source=kubernetes.summary_api:'' - --source=kubernetes.summary_api:''
- --metric_resolution=60s
- image: gcr.io/google_containers/addon-resizer:1.0
name: heapster-nanny
resources:
limits:
cpu: 50m
memory: 100Mi
requests:
cpu: 50m
memory: 100Mi
env:
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
command:
- /pod_nanny
- --cpu=100m
- --extra-cpu=0m
- --memory=300Mi
- --extra-memory=4Mi
- --threshold=5
- --deployment=heapster-v1.1.0.beta1
- --container=heapster
- --poll-period=300000

View File

@ -1,7 +1,8 @@
apiVersion: v1 apiVersion: v1
kind: ReplicationController kind: ReplicationController
metadata: metadata:
# Keep this file in sync with addons/dashboard/dashboard-controller.yaml # Keep the name in sync with image version and
# gce/coreos/kube-manifests/addons/dashboard counterparts
name: kubernetes-dashboard-v1.0.1 name: kubernetes-dashboard-v1.0.1
namespace: kube-system namespace: kube-system
labels: labels:
@ -37,4 +38,4 @@ spec:
path: / path: /
port: 9090 port: 9090
initialDelaySeconds: 30 initialDelaySeconds: 30
timeoutSeconds: 30 timeoutSeconds: 30

View File

@ -1,32 +1,35 @@
apiVersion: v1 apiVersion: v1
kind: ReplicationController kind: ReplicationController
metadata: metadata:
name: kube-dns-v10 name: kube-dns-v11
namespace: kube-system namespace: kube-system
labels: labels:
k8s-app: kube-dns k8s-app: kube-dns
version: v10 version: v11
kubernetes.io/cluster-service: "true" kubernetes.io/cluster-service: "true"
spec: spec:
replicas: ${DNS_REPLICAS} replicas: ${DNS_REPLICAS}
selector: selector:
k8s-app: kube-dns k8s-app: kube-dns
version: v10 version: v11
template: template:
metadata: metadata:
labels: labels:
k8s-app: kube-dns k8s-app: kube-dns
version: v10 version: v11
kubernetes.io/cluster-service: "true" kubernetes.io/cluster-service: "true"
spec: spec:
containers: containers:
- name: etcd - name: etcd
image: gcr.io/google_containers/etcd:2.0.9 image: gcr.io/google_containers/etcd-amd64:2.2.1
resources: resources:
# keep request = limit to keep this container in guaranteed class # TODO: Set memory limits when we've profiled the container for large
# clusters, then set request = limit to keep this container in
# guaranteed class. Currently, this container falls into the
# "burstable" category so the kubelet doesn't backoff from restarting it.
limits: limits:
cpu: 100m cpu: 100m
memory: 50Mi memory: 500Mi
requests: requests:
cpu: 100m cpu: 100m
memory: 50Mi memory: 50Mi
@ -44,32 +47,59 @@ spec:
- name: etcd-storage - name: etcd-storage
mountPath: /var/etcd/data mountPath: /var/etcd/data
- name: kube2sky - name: kube2sky
image: gcr.io/google_containers/kube2sky:1.12 image: gcr.io/google_containers/kube2sky:1.15
resources: resources:
# keep request = limit to keep this container in guaranteed class # TODO: Set memory limits when we've profiled the container for large
# clusters, then set request = limit to keep this container in
# guaranteed class. Currently, this container falls into the
# "burstable" category so the kubelet doesn't backoff from restarting it.
limits: limits:
cpu: 100m cpu: 100m
memory: 50Mi # Kube2sky watches all pods.
memory: 200Mi
requests: requests:
cpu: 100m cpu: 100m
memory: 50Mi memory: 50Mi
livenessProbe:
httpGet:
path: /healthz
port: 8080
scheme: HTTP
initialDelaySeconds: 60
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 5
readinessProbe:
httpGet:
path: /readiness
port: 8081
scheme: HTTP
# we poll on pod startup for the Kubernetes master service and
# only setup the /readiness HTTP server once that's available.
initialDelaySeconds: 30
timeoutSeconds: 5
command: command:
- /kube2sky - /kube2sky
args: args:
- -domain=${DNS_DOMAIN} # command = "/kube2sky"
- --domain=${DNS_DOMAIN}
- name: skydns - name: skydns
image: gcr.io/google_containers/skydns:2015-10-13-8c72f8c image: gcr.io/google_containers/skydns:2015-10-13-8c72f8c
resources: resources:
# keep request = limit to keep this container in guaranteed class # TODO: Set memory limits when we've profiled the container for large
# clusters, then set request = limit to keep this container in
# guaranteed class. Currently, this container falls into the
# "burstable" category so the kubelet doesn't backoff from restarting it.
limits: limits:
cpu: 100m cpu: 100m
memory: 50Mi memory: 200Mi
requests: requests:
cpu: 100m cpu: 100m
memory: 50Mi memory: 50Mi
command: command:
- /skydns - /skydns
args: args:
# command = "/skydns"
- -machines=http://127.0.0.1:4001 - -machines=http://127.0.0.1:4001
- -addr=0.0.0.0:53 - -addr=0.0.0.0:53
- -ns-rotate=false - -ns-rotate=false
@ -81,20 +111,6 @@ spec:
- containerPort: 53 - containerPort: 53
name: dns-tcp name: dns-tcp
protocol: TCP protocol: TCP
livenessProbe:
httpGet:
path: /healthz
port: 8080
scheme: HTTP
initialDelaySeconds: 30
timeoutSeconds: 5
readinessProbe:
httpGet:
path: /healthz
port: 8080
scheme: HTTP
initialDelaySeconds: 1
timeoutSeconds: 5
- name: healthz - name: healthz
image: gcr.io/google_containers/exechealthz:1.0 image: gcr.io/google_containers/exechealthz:1.0
resources: resources:

View File

@ -20,11 +20,14 @@ spec:
kubernetes.io/cluster-service: "true" kubernetes.io/cluster-service: "true"
spec: spec:
containers: containers:
- image: gcr.io/google_containers/elasticsearch:1.7 - image: gcr.io/google_containers/elasticsearch:1.8
name: elasticsearch-logging name: elasticsearch-logging
resources: resources:
# keep request = limit to keep this container in guaranteed class
limits: limits:
cpu: 100m cpu: 100m
requests:
cpu: 100m
ports: ports:
- containerPort: 9200 - containerPort: 9200
name: db name: db
@ -37,4 +40,4 @@ spec:
mountPath: /data mountPath: /data
volumes: volumes:
- name: es-persistent-storage - name: es-persistent-storage
emptyDir: {} emptyDir: {}

View File

@ -23,12 +23,15 @@ spec:
- name: kibana-logging - name: kibana-logging
image: gcr.io/google_containers/kibana:1.3 image: gcr.io/google_containers/kibana:1.3
resources: resources:
# keep request = limit to keep this container in guaranteed class
limits: limits:
cpu: 100m cpu: 100m
requests:
cpu: 100m
env: env:
- name: "ELASTICSEARCH_URL" - name: "ELASTICSEARCH_URL"
value: "http://elasticsearch-logging:9200" value: "http://elasticsearch-logging:9200"
ports: ports:
- containerPort: 5601 - containerPort: 5601
name: ui name: ui
protocol: TCP protocol: TCP

View File

@ -1,7 +1,7 @@
apiVersion: v1 apiVersion: v1
kind: Pod kind: Pod
metadata: metadata:
name: etcd-server-events-kubernetes-master name: etcd-server-events
namespace: kube-system namespace: kube-system
spec: spec:
containers: containers:
@ -46,7 +46,7 @@ spec:
name: varlogetcd name: varlogetcd
dnsPolicy: ClusterFirst dnsPolicy: ClusterFirst
hostNetwork: true hostNetwork: true
nodeName: kubernetes-master nodeName: ${INSTANCE_PREFIX}-master
restartPolicy: Always restartPolicy: Always
terminationGracePeriodSeconds: 30 terminationGracePeriodSeconds: 30
volumes: volumes:

View File

@ -1,7 +1,7 @@
apiVersion: v1 apiVersion: v1
kind: Pod kind: Pod
metadata: metadata:
name: etcd-server-kubernetes-master name: etcd-server
namespace: kube-system namespace: kube-system
spec: spec:
containers: containers:
@ -14,7 +14,7 @@ spec:
--bind-addr=127.0.0.1:4001 --bind-addr=127.0.0.1:4001
--data-dir=/var/etcd/data --data-dir=/var/etcd/data
1>>/var/log/etcd.log 2>&1 1>>/var/log/etcd.log 2>&1
image: gcr.io/google_containers/etcd:2.0.12 image: gcr.io/google_containers/etcd:2.2.1
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
livenessProbe: livenessProbe:
httpGet: httpGet:

View File

@ -0,0 +1,23 @@
apiVersion: v1
kind: Pod
metadata:
name: kube-addon-manager
namespace: kube-system
version: v1
spec:
hostNetwork: true
containers:
- name: kube-addon-manager
image: gcr.io/google-containers/kube-addon-manager:v1
resources:
requests:
cpu: 5m
memory: 50Mi
volumeMounts:
- mountPath: /etc/kubernetes/
name: addons
readOnly: true
volumes:
- hostPath:
path: /etc/kubernetes/
name: addons

View File

@ -1,7 +1,7 @@
apiVersion: v1 apiVersion: v1
kind: Pod kind: Pod
metadata: metadata:
name: kube-apiserver-kubernetes-master name: kube-apiserver
namespace: kube-system namespace: kube-system
spec: spec:
containers: containers:

View File

@ -1,7 +1,7 @@
apiVersion: v1 apiVersion: v1
kind: Pod kind: Pod
metadata: metadata:
name: kube-controller-manager-kubernetes-master name: kube-controller-manager
namespace: kube-system namespace: kube-system
spec: spec:
containers: containers:

View File

@ -1,7 +1,7 @@
apiVersion: v1 apiVersion: v1
kind: Pod kind: Pod
metadata: metadata:
name: kube-scheduler-kubernetes-master name: kube-scheduler
namespace: kube-system namespace: kube-system
spec: spec:
containers: containers:
@ -31,7 +31,7 @@ spec:
name: logfile name: logfile
dnsPolicy: ClusterFirst dnsPolicy: ClusterFirst
hostNetwork: true hostNetwork: true
nodeName: kubernetes-master nodeName: ${INSTANCE_PREFIX}-master
restartPolicy: Always restartPolicy: Always
terminationGracePeriodSeconds: 30 terminationGracePeriodSeconds: 30
volumes: volumes:

View File

@ -1,7 +1,11 @@
#cloud-config #cloud-config
coreos: coreos:
update:
reboot-strategy: off
units: units:
- name: locksmithd.service
mask: true
- name: kube-env.service - name: kube-env.service
command: start command: start
content: | content: |
@ -20,6 +24,20 @@ coreos:
ExecStartPre=/usr/bin/mv /etc/kube-env.yaml /etc/kube-env ExecStartPre=/usr/bin/mv /etc/kube-env.yaml /etc/kube-env
ExecStart=/usr/bin/sed -i "s/: '/=/;s/'$//" /etc/kube-env ExecStart=/usr/bin/sed -i "s/: '/=/;s/'$//" /etc/kube-env
- name: kubernetes-install-cni.service
command: start
content: |
[Unit]
Description=Download cni
Requires=network-online.target
After=network-online.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStartPre=/usr/bin/mkdir -p /opt/cni
ExecStartPre=/usr/bin/curl --fail --silent --show-error --location --create-dirs --output /opt/downloads/cni.tar.gz https://storage.googleapis.com/kubernetes-release/network-plugins/cni-42c4cb842dad606a84e93aad5a4484ded48e3046.tar.gz
ExecStart=/usr/bin/tar xf /opt/downloads/cni.tar.gz -C /opt/cni/
- name: kubernetes-install-rkt.service - name: kubernetes-install-rkt.service
command: start command: start
content: | content: |
@ -34,11 +52,9 @@ coreos:
Type=oneshot Type=oneshot
RemainAfterExit=yes RemainAfterExit=yes
EnvironmentFile=/etc/kube-env EnvironmentFile=/etc/kube-env
ExecStartPre=/usr/bin/mkdir -p /etc/rkt ExecStartPre=/usr/bin/mkdir -p /etc/rkt /opt/downloads /opt/rkt/
ExecStartPre=/usr/bin/mkdir -p /opt/downloads ExecStartPre=/usr/bin/curl --fail --silent --location --create-dirs --output /opt/downloads/rkt.tar.gz https://github.com/coreos/rkt/releases/download/v${RKT_VERSION}/rkt-v${RKT_VERSION}.tar.gz
ExecStartPre=/usr/bin/curl --fail --silent --show-error --location --create-dirs --output \ ExecStart=/usr/bin/tar --strip-components=1 -xf /opt/downloads/rkt.tar.gz -C /opt/rkt/ --overwrite
/opt/downloads/rkt.tar.gz https://github.com/coreos/rkt/releases/download/v${RKT_VERSION}/rkt-v${RKT_VERSION}.tar.gz
ExecStart=/usr/bin/tar xf /opt/downloads/rkt.tar.gz -C /opt --overwrite
- name: kubernetes-download-salt.service - name: kubernetes-download-salt.service
command: start command: start
@ -103,12 +119,8 @@ coreos:
content: | content: |
[Unit] [Unit]
Description=Run Kubelet service Description=Run Kubelet service
Requires=network-online.target Requires=network-online.target kube-env.service kubernetes-download-manifests.service kubernetes-install-cni.service
After=network-online.target After=network-online.target kube-env.service kubernetes-download-manifests.service kubernetes-install-cni.service
Requires=kube-env.service
After=kube-env.service
Requires=kubernetes-download-manifests.service
After=kubernetes-download-manifests.service
[Service] [Service]
EnvironmentFile=/etc/kube-env EnvironmentFile=/etc/kube-env
ExecStartPre=/usr/bin/curl --fail --silent --show-error \ ExecStartPre=/usr/bin/curl --fail --silent --show-error \
@ -128,7 +140,8 @@ coreos:
--cluster-domain=${DNS_DOMAIN} \ --cluster-domain=${DNS_DOMAIN} \
--logtostderr=true \ --logtostderr=true \
--container-runtime=${KUBERNETES_CONTAINER_RUNTIME} \ --container-runtime=${KUBERNETES_CONTAINER_RUNTIME} \
--rkt-path=/opt/rkt-v${RKT_VERSON}/rkt \ --rkt-path=/opt/rkt/rkt \
--rkt-stage1-image=/opt/rkt/stage1-coreos.aci \
--configure-cbr0=${KUBERNETES_CONFIGURE_CBR0} \ --configure-cbr0=${KUBERNETES_CONFIGURE_CBR0} \
--pod-cidr=${MASTER_IP_RANGE} \ --pod-cidr=${MASTER_IP_RANGE} \
--register-schedulable=false \ --register-schedulable=false \
@ -177,18 +190,3 @@ coreos:
http://metadata.google.internal/computeMetadata/v1/instance/attributes/configure-node http://metadata.google.internal/computeMetadata/v1/instance/attributes/configure-node
ExecStartPre=/usr/bin/chmod 0755 /run/configure-node.sh ExecStartPre=/usr/bin/chmod 0755 /run/configure-node.sh
ExecStart=/run/configure-node.sh ExecStart=/run/configure-node.sh
- name: kubernetes-addons.service
command: start
content: |
[Unit]
Description=Start Kubernetes addons and watch for updates.
Requires=kubernetes-configure-node.service
After=kubernetes-configure-node.service
[Service]
Environment=KUBECTL_BIN=/opt/kubernetes/server/bin/kubectl
Environment=kubelet_kubeconfig_file=/var/lib/kubelet/kubeconfig
ExecStartPre=/usr/bin/chmod 0755 /opt/kubernetes/saltbase/salt/kube-addons/kube-addons.sh
ExecStart=/opt/kubernetes/saltbase/salt/kube-addons/kube-addons.sh
Restart=always
RestartSec=10

View File

@ -1,7 +1,11 @@
#cloud-config #cloud-config
coreos: coreos:
update:
reboot-strategy: off
units: units:
- name: locksmithd.service
mask: true
- name: kube-env.service - name: kube-env.service
command: start command: start
content: | content: |
@ -20,6 +24,20 @@ coreos:
ExecStartPre=/usr/bin/mv /etc/kube-env.yaml /etc/kube-env ExecStartPre=/usr/bin/mv /etc/kube-env.yaml /etc/kube-env
ExecStart=/usr/bin/sed -i "s/: '/=/;s/'$//" /etc/kube-env ExecStart=/usr/bin/sed -i "s/: '/=/;s/'$//" /etc/kube-env
- name: kubernetes-install-cni.service
command: start
content: |
[Unit]
Description=Download cni
Requires=network-online.target
After=network-online.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStartPre=/usr/bin/mkdir -p /opt/cni
ExecStartPre=/usr/bin/curl --fail --silent --show-error --location --create-dirs --output /opt/downloads/cni.tar.gz https://storage.googleapis.com/kubernetes-release/network-plugins/cni-42c4cb842dad606a84e93aad5a4484ded48e3046.tar.gz
ExecStart=/usr/bin/tar xf /opt/downloads/cni.tar.gz -C /opt/cni/
- name: kubernetes-install-rkt.service - name: kubernetes-install-rkt.service
command: start command: start
content: | content: |
@ -34,11 +52,9 @@ coreos:
Type=oneshot Type=oneshot
RemainAfterExit=yes RemainAfterExit=yes
EnvironmentFile=/etc/kube-env EnvironmentFile=/etc/kube-env
ExecStartPre=/usr/bin/mkdir -p /etc/rkt ExecStartPre=/usr/bin/mkdir -p /etc/rkt /opt/downloads /opt/rkt/
ExecStartPre=/usr/bin/mkdir -p /opt/downloads ExecStartPre=/usr/bin/curl --fail --silent --location --create-dirs --output /opt/downloads/rkt.tar.gz https://github.com/coreos/rkt/releases/download/v${RKT_VERSION}/rkt-v${RKT_VERSION}.tar.gz
ExecStartPre=/usr/bin/curl --fail --silent --show-error --location --create-dirs --output \ ExecStart=/usr/bin/tar --strip-components=1 -xf /opt/downloads/rkt.tar.gz -C /opt/rkt/ --overwrite
/opt/downloads/rkt.tar.gz https://github.com/coreos/rkt/releases/download/v${RKT_VERSION}/rkt-v${RKT_VERSION}.tar.gz
ExecStart=/usr/bin/tar xf /opt/downloads/rkt.tar.gz -C /opt --overwrite
- name: kubernetes-download-manifests.service - name: kubernetes-download-manifests.service
command: start command: start
@ -78,17 +94,25 @@ coreos:
/opt/kubernetes/pkg/kubernetes-server-linux-amd64.tar.gz ${SERVER_BINARY_TAR_URL} /opt/kubernetes/pkg/kubernetes-server-linux-amd64.tar.gz ${SERVER_BINARY_TAR_URL}
ExecStart=/usr/bin/tar xf /opt/kubernetes/pkg/kubernetes-server-linux-amd64.tar.gz -C /opt --overwrite ExecStart=/usr/bin/tar xf /opt/kubernetes/pkg/kubernetes-server-linux-amd64.tar.gz -C /opt --overwrite
- name: rkt-api-service.service
command: start
content: |
[Unit]
Description=Start rkt API service as Daemon
Requires=kubernetes-install-rkt.service
After=kubernetes-install-rkt.service
[Service]
ExecStart=/opt/rkt/rkt api-service
Restart=always
RestartSec=10
- name: kubelet.service - name: kubelet.service
command: start command: start
content: | content: |
[Unit] [Unit]
Description=Run Kubelet service Description=Run Kubelet service
Requires=network-online.target Requires=network-online.target kube-env.service kubernetes-download-manifests.service kubernetes-install-cni.service
After=network-online.target After=network-online.target kube-env.service kubernetes-download-manifests.service kubernetes-install-cni.service
Requires=kube-env.service
After=kube-env.service
Requires=kubernetes-download-manifests.service
After=kubernetes-download-manifests.service
[Service] [Service]
EnvironmentFile=/etc/kube-env EnvironmentFile=/etc/kube-env
ExecStartPre=/usr/bin/curl --fail --silent --show-error \ ExecStartPre=/usr/bin/curl --fail --silent --show-error \
@ -108,7 +132,8 @@ coreos:
--cluster-domain=${DNS_DOMAIN} \ --cluster-domain=${DNS_DOMAIN} \
--logtostderr=true \ --logtostderr=true \
--container-runtime=${KUBERNETES_CONTAINER_RUNTIME} \ --container-runtime=${KUBERNETES_CONTAINER_RUNTIME} \
--rkt-path=/opt/rkt-v${RKT_VERSON}/rkt \ --rkt-path=/opt/rkt/rkt \
--rkt-stage1-image=/opt/rkt/stage1-coreos.aci \
--configure-cbr0=${KUBERNETES_CONFIGURE_CBR0} --configure-cbr0=${KUBERNETES_CONFIGURE_CBR0}
Restart=always Restart=always
RestartSec=10 RestartSec=10