From b3a0ff3479e83409269a69718accac48fd96b266 Mon Sep 17 00:00:00 2001 From: Rui Chen Date: Mon, 3 Dec 2018 09:13:06 -0500 Subject: [PATCH] zh-trans: add examples/{controllers,debug,federation}/ yaml files --- .../zh/examples/controllers/daemonset.yaml | 42 ++ content/zh/examples/controllers/frontend.yaml | 38 ++ content/zh/examples/controllers/hpa-rs.yaml | 11 + content/zh/examples/controllers/job.yaml | 14 + .../controllers/nginx-deployment.yaml | 21 + .../zh/examples/controllers/replicaset.yaml | 17 + .../zh/examples/controllers/replication.yaml | 19 + content/zh/examples/debug/counter-pod.yaml | 10 + content/zh/examples/debug/event-exporter.yaml | 47 +++ .../examples/debug/fluentd-gcp-configmap.yaml | 379 ++++++++++++++++++ content/zh/examples/debug/fluentd-gcp-ds.yaml | 113 ++++++ .../node-problem-detector-configmap.yaml | 49 +++ .../examples/debug/node-problem-detector.yaml | 43 ++ content/zh/examples/debug/termination.yaml | 10 + .../federation/policy-engine-deployment.yaml | 37 ++ .../federation/policy-engine-service.yaml | 13 + .../federation/replicaset-example-policy.yaml | 21 + .../scheduling-policy-admission.yaml | 29 ++ 18 files changed, 913 insertions(+) create mode 100644 content/zh/examples/controllers/daemonset.yaml create mode 100644 content/zh/examples/controllers/frontend.yaml create mode 100644 content/zh/examples/controllers/hpa-rs.yaml create mode 100644 content/zh/examples/controllers/job.yaml create mode 100644 content/zh/examples/controllers/nginx-deployment.yaml create mode 100644 content/zh/examples/controllers/replicaset.yaml create mode 100644 content/zh/examples/controllers/replication.yaml create mode 100644 content/zh/examples/debug/counter-pod.yaml create mode 100644 content/zh/examples/debug/event-exporter.yaml create mode 100644 content/zh/examples/debug/fluentd-gcp-configmap.yaml create mode 100644 content/zh/examples/debug/fluentd-gcp-ds.yaml create mode 100644 content/zh/examples/debug/node-problem-detector-configmap.yaml create mode 100644 content/zh/examples/debug/node-problem-detector.yaml create mode 100644 content/zh/examples/debug/termination.yaml create mode 100644 content/zh/examples/federation/policy-engine-deployment.yaml create mode 100644 content/zh/examples/federation/policy-engine-service.yaml create mode 100644 content/zh/examples/federation/replicaset-example-policy.yaml create mode 100644 content/zh/examples/federation/scheduling-policy-admission.yaml diff --git a/content/zh/examples/controllers/daemonset.yaml b/content/zh/examples/controllers/daemonset.yaml new file mode 100644 index 0000000000..c576ede377 --- /dev/null +++ b/content/zh/examples/controllers/daemonset.yaml @@ -0,0 +1,42 @@ +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: fluentd-elasticsearch + namespace: kube-system + labels: + k8s-app: fluentd-logging +spec: + selector: + matchLabels: + name: fluentd-elasticsearch + template: + metadata: + labels: + name: fluentd-elasticsearch + spec: + tolerations: + - key: node-role.kubernetes.io/master + effect: NoSchedule + containers: + - name: fluentd-elasticsearch + image: k8s.gcr.io/fluentd-elasticsearch:1.20 + resources: + limits: + memory: 200Mi + requests: + cpu: 100m + memory: 200Mi + volumeMounts: + - name: varlog + mountPath: /var/log + - name: varlibdockercontainers + mountPath: /var/lib/docker/containers + readOnly: true + terminationGracePeriodSeconds: 30 + volumes: + - name: varlog + hostPath: + path: /var/log + - name: varlibdockercontainers + hostPath: + path: /var/lib/docker/containers diff --git a/content/zh/examples/controllers/frontend.yaml b/content/zh/examples/controllers/frontend.yaml new file mode 100644 index 0000000000..f9dba82b7e --- /dev/null +++ b/content/zh/examples/controllers/frontend.yaml @@ -0,0 +1,38 @@ +apiVersion: apps/v1 +kind: ReplicaSet +metadata: + name: frontend + labels: + app: guestbook + tier: frontend +spec: + # modify replicas according to your case + replicas: 3 + selector: + matchLabels: + tier: frontend + matchExpressions: + - {key: tier, operator: In, values: [frontend]} + template: + metadata: + labels: + app: guestbook + tier: frontend + spec: + containers: + - name: php-redis + image: gcr.io/google_samples/gb-frontend:v3 + resources: + requests: + cpu: 100m + memory: 100Mi + env: + - name: GET_HOSTS_FROM + value: dns + # If your cluster config does not include a dns service, then to + # instead access environment variables to find service host + # info, comment out the 'value: dns' line above, and uncomment the + # line below. + # value: env + ports: + - containerPort: 80 diff --git a/content/zh/examples/controllers/hpa-rs.yaml b/content/zh/examples/controllers/hpa-rs.yaml new file mode 100644 index 0000000000..a8388530dc --- /dev/null +++ b/content/zh/examples/controllers/hpa-rs.yaml @@ -0,0 +1,11 @@ +apiVersion: autoscaling/v1 +kind: HorizontalPodAutoscaler +metadata: + name: frontend-scaler +spec: + scaleTargetRef: + kind: ReplicaSet + name: frontend + minReplicas: 3 + maxReplicas: 10 + targetCPUUtilizationPercentage: 50 diff --git a/content/zh/examples/controllers/job.yaml b/content/zh/examples/controllers/job.yaml new file mode 100644 index 0000000000..b448f2eb81 --- /dev/null +++ b/content/zh/examples/controllers/job.yaml @@ -0,0 +1,14 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: pi +spec: + template: + spec: + containers: + - name: pi + image: perl + command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"] + restartPolicy: Never + backoffLimit: 4 + diff --git a/content/zh/examples/controllers/nginx-deployment.yaml b/content/zh/examples/controllers/nginx-deployment.yaml new file mode 100644 index 0000000000..5dd80da371 --- /dev/null +++ b/content/zh/examples/controllers/nginx-deployment.yaml @@ -0,0 +1,21 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nginx-deployment + labels: + app: nginx +spec: + replicas: 3 + selector: + matchLabels: + app: nginx + template: + metadata: + labels: + app: nginx + spec: + containers: + - name: nginx + image: nginx:1.15.4 + ports: + - containerPort: 80 diff --git a/content/zh/examples/controllers/replicaset.yaml b/content/zh/examples/controllers/replicaset.yaml new file mode 100644 index 0000000000..e5dfdf6c43 --- /dev/null +++ b/content/zh/examples/controllers/replicaset.yaml @@ -0,0 +1,17 @@ +apiVersion: apps/v1 +kind: ReplicaSet +metadata: + name: my-repset +spec: + replicas: 3 + selector: + matchLabels: + pod-is-for: garbage-collection-example + template: + metadata: + labels: + pod-is-for: garbage-collection-example + spec: + containers: + - name: nginx + image: nginx diff --git a/content/zh/examples/controllers/replication.yaml b/content/zh/examples/controllers/replication.yaml new file mode 100644 index 0000000000..6eff0b9b57 --- /dev/null +++ b/content/zh/examples/controllers/replication.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: ReplicationController +metadata: + name: nginx +spec: + replicas: 3 + selector: + app: nginx + template: + metadata: + name: nginx + labels: + app: nginx + spec: + containers: + - name: nginx + image: nginx + ports: + - containerPort: 80 diff --git a/content/zh/examples/debug/counter-pod.yaml b/content/zh/examples/debug/counter-pod.yaml new file mode 100644 index 0000000000..f997886386 --- /dev/null +++ b/content/zh/examples/debug/counter-pod.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Pod +metadata: + name: counter +spec: + containers: + - name: count + image: busybox + args: [/bin/sh, -c, + 'i=0; while true; do echo "$i: $(date)"; i=$((i+1)); sleep 1; done'] diff --git a/content/zh/examples/debug/event-exporter.yaml b/content/zh/examples/debug/event-exporter.yaml new file mode 100644 index 0000000000..64a585b9a5 --- /dev/null +++ b/content/zh/examples/debug/event-exporter.yaml @@ -0,0 +1,47 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: event-exporter-sa + namespace: default + labels: + app: event-exporter +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: event-exporter-rb + labels: + app: event-exporter +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: view +subjects: +- kind: ServiceAccount + name: event-exporter-sa + namespace: default +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: event-exporter-v0.2.3 + namespace: default + labels: + app: event-exporter +spec: + selector: + matchLabels: + app: event-exporter + replicas: 1 + template: + metadata: + labels: + app: event-exporter + spec: + serviceAccountName: event-exporter-sa + containers: + - name: event-exporter + image: k8s.gcr.io/event-exporter:v0.2.3 + command: + - '/event-exporter' + terminationGracePeriodSeconds: 30 diff --git a/content/zh/examples/debug/fluentd-gcp-configmap.yaml b/content/zh/examples/debug/fluentd-gcp-configmap.yaml new file mode 100644 index 0000000000..71e0ac5d82 --- /dev/null +++ b/content/zh/examples/debug/fluentd-gcp-configmap.yaml @@ -0,0 +1,379 @@ +kind: ConfigMap +apiVersion: v1 +data: + containers.input.conf: |- + # This configuration file for Fluentd is used + # to watch changes to Docker log files that live in the + # directory /var/lib/docker/containers/ and are symbolically + # linked to from the /var/log/containers directory using names that capture the + # pod name and container name. These logs are then submitted to + # Google Cloud Logging which assumes the installation of the cloud-logging plug-in. + # + # Example + # ======= + # A line in the Docker log file might look like this JSON: + # + # {"log":"2014/09/25 21:15:03 Got request with path wombat\\n", + # "stream":"stderr", + # "time":"2014-09-25T21:15:03.499185026Z"} + # + # The record reformer is used to write the tag to focus on the pod name + # and the Kubernetes container name. For example a Docker container's logs + # might be in the directory: + # /var/lib/docker/containers/997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b + # and in the file: + # 997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b-json.log + # where 997599971ee6... is the Docker ID of the running container. + # The Kubernetes kubelet makes a symbolic link to this file on the host machine + # in the /var/log/containers directory which includes the pod name and the Kubernetes + # container name: + # synthetic-logger-0.25lps-pod_default-synth-lgr-997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b.log + # -> + # /var/lib/docker/containers/997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b/997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b-json.log + # The /var/log directory on the host is mapped to the /var/log directory in the container + # running this instance of Fluentd and we end up collecting the file: + # /var/log/containers/synthetic-logger-0.25lps-pod_default-synth-lgr-997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b.log + # This results in the tag: + # var.log.containers.synthetic-logger-0.25lps-pod_default-synth-lgr-997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b.log + # The record reformer is used is discard the var.log.containers prefix and + # the Docker container ID suffix and "kubernetes." is pre-pended giving the tag: + # kubernetes.synthetic-logger-0.25lps-pod_default-synth-lgr + # Tag is then parsed by google_cloud plugin and translated to the metadata, + # visible in the log viewer + + # Example: + # {"log":"[info:2016-02-16T16:04:05.930-08:00] Some log text here\n","stream":"stdout","time":"2016-02-17T00:04:05.931087621Z"} + + type tail + format json + time_key time + path /var/log/containers/*.log + pos_file /var/log/gcp-containers.log.pos + time_format %Y-%m-%dT%H:%M:%S.%N%Z + tag reform.* + read_from_head true + + + + type parser + format /^(?\w)(? + + + type record_reformer + enable_ruby true + tag raw.kubernetes.${tag_suffix[4].split('-')[0..-2].join('-')} + + + # Detect exceptions in the log output and forward them as one log entry. + + @type copy + + + @type prometheus + + + type counter + name logging_line_count + desc Total number of lines generated by application containers + + tag ${tag} + + + + + @type detect_exceptions + + remove_tag_prefix raw + message log + stream stream + multiline_flush_interval 5 + max_bytes 500000 + max_lines 1000 + + + system.input.conf: |- + # Example: + # Dec 21 23:17:22 gke-foo-1-1-4b5cbd14-node-4eoj startupscript: Finished running startup script /var/run/google.startup.script + + type tail + format syslog + path /var/log/startupscript.log + pos_file /var/log/gcp-startupscript.log.pos + tag startupscript + + + # Examples: + # time="2016-02-04T06:51:03.053580605Z" level=info msg="GET /containers/json" + # time="2016-02-04T07:53:57.505612354Z" level=error msg="HTTP Error" err="No such image: -f" statusCode=404 + + type tail + format /^time="(?