Compare commits

...

641 Commits

Author SHA1 Message Date
aimeeu f8162b0ef6 Modify apparmor.md based on PR - Fix site build (#16531) (#16650)
Modify apparmor.md and delete .profile to enable the site to
build with Hugo 0.57.2. Could not cherry pick PR 16531 because
the Korean translation was added in 1.14.
See also PRs #16104 and #16151.

zh/docs/reference/setup-tools/kubeadm/generated/README.md updated to fix
'invalid YAML delimiter' compile error caused by HTML comment.

Signed-off-by: Aimee Ukasick <aimeeu.opensource@gmail.com>
2019-10-02 10:08:08 -07:00
simplytunde 1a02f19649 updated 1.12 config.toml (#16437) 2019-09-18 17:40:59 -07:00
Wojciech Tyczynski 028b4ea01e Update secrets documentation in 1.12 (#15531) 2019-07-25 20:07:59 -07:00
Ismail Alidzhikov 0b2a0988b4 Update CCM vendor implementations links (#15206)
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2019-07-01 03:15:22 -07:00
Barnabas Makonda 827f7a6d41 updated config.toml for 1.15 (#14988) 2019-06-19 20:48:48 -07:00
杨晴 b3c0239447 zh-trans:fix trans (#14932)
* zh-trans: add /content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

* fix some trans

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* accept suggestions from reviewer `tengqm`. thx

* fix some trans

* fix trans
2019-06-16 22:08:06 -07:00
杨晴 0739e805a1 zh-trans: add /content/zh/docs/tasks/administer-cluster/namespaces.md (#13965)
* zh-trans: add content/zh/docs/tasks/administer-cluster/namespaces.md

* fix some trans

* accept suggestions from reviewer `tengqm`. thx

* fix
2019-06-16 06:20:08 -07:00
LiuDui a49af9f466 ZH-trans: add test.md (#13297)
* Create test.md

* Update test.md

* Update test.md

* Update test.md

* Update test.md

* Update test.md

* Update test.md
2019-06-16 06:18:08 -07:00
杨晴 e8d6eb2847 zh-trans: add /content/zh/docs/tasks/administer-cluster/access-cluster-api.md (#14925) 2019-06-16 05:56:08 -07:00
Wang Bing 366604e4cf zh-trans: content/zh/docs/setup/minikube.md (#13798)
* zh-trans: content/zh/docs/setup/minikube.md

* update trans
2019-06-09 07:07:05 -07:00
Wang Bing 23ed3420e5 zh-trans: content/zh/docs/reference/kubectl/cheatsheet.md (#13878) 2019-06-09 07:01:05 -07:00
Wang Bing 5d8e1dd23a zh-trans: content/zh/docs/concepts/overview/working-with-objects/comm… (#13918)
* zh-trans: content/zh/docs/concepts/overview/working-with-objects/common-labels.md

* update trans
2019-06-09 06:59:06 -07:00
LiuDui 77168085f2 ZH-trans: add overview.md (#13234)
* ZH-trabs

* Update overview.md

* Update overview.md

* Update overview.md

* Update overview.md

* Update overview.md

* Update overview.md

* Update overview.md
2019-06-09 06:15:05 -07:00
杨晴 eebc0abd4f zh-trans: add /content/zh/docs/tasks/administer-cluster/namespaces-wa… (#13967)
* zh-trans: add /content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

* fix some trans

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* Update content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* accept suggestions from reviewer `tengqm`. thx

* fix some trans
2019-06-05 23:22:11 -07:00
zhangqx2010 2d6044e1f8 zh-trans: blog-non-code-contributors-guide (#14732)
* zh-trans: blog-non-code-contributors-guide

* Update 2018-10-04-non-code-contributors-guide.md
2019-06-05 18:30:11 -07:00
杨晴 8cb62864d9 zh-trans: add /content/zh/docs/tasks/administer-cluster/kms-provider.md (#14049)
* zh-trans: add /content/zh/docs/tasks/administer-cluster/kms-provider.md

* Update content/zh/docs/tasks/administer-cluster/kms-provider.md

Co-Authored-By: yyqqing <y_yqing@163.com>

* accept suggestions from reviewer `tengqm`. thx
2019-05-21 01:30:42 -07:00
SataQiu 6e760f2078 zh-trans: update docs/concepts/cluster-administration (#13825) 2019-04-23 19:34:01 -07:00
lIuDuI b46ef1fc42 ZH-trans: add cluster.md (#13500)
* ZH-trans: add cluster.md

* Update cluster.md

* Update cluster.md

* Update cluster.md
2019-04-14 22:28:01 -07:00
SataQiu 4c76780a26 zh-trans: update content/zh/docs/concepts/architecture (#13797) 2019-04-14 17:58:00 -07:00
SataQiu e5bcd6f052 zh-trans: update content/zh/docs/admin/service-accounts-admin.md (#13778)
* zh-trans: update content/zh/docs/admin/service-accounts-admin.md

* Update content/zh/docs/admin/service-accounts-admin.md

Co-Authored-By: SataQiu <1527062125@qq.com>
2019-04-11 08:04:17 -07:00
SataQiu 1a5c01ede7 zh-trans: update content/zh/docs/admin/authorization/abac.md (#13777)
* zh-trans: update content/zh/docs/admin/authorization/abac.md

* Update content/zh/docs/admin/authorization/abac.md

Co-Authored-By: SataQiu <1527062125@qq.com>

* Update abac.md
2019-04-11 07:56:16 -07:00
SataQiu e27bce7427 zh-trans: update content/zh/docs/admin/authorization/_index.md (#13779)
* zh-trans: update content/zh/docs/admin/authorization/_index.md

* Update _index.md

* Update content/zh/docs/admin/authorization/_index.md

Co-Authored-By: SataQiu <1527062125@qq.com>

* Update content/zh/docs/admin/authorization/_index.md

Co-Authored-By: SataQiu <1527062125@qq.com>

* Update content/zh/docs/admin/authorization/_index.md

Co-Authored-By: SataQiu <1527062125@qq.com>
2019-04-11 07:52:16 -07:00
SataQiu 486fd6e720 zh-trans: update high-availability/_index.md and authorization/webhook.md (#13780) 2019-04-11 07:42:13 -07:00
SataQiu bb27c3bf65 zh-trans: update node-conformance.md and ovs-networking.md (#13776) 2019-04-11 07:36:15 -07:00
SataQiu d813887267 zh-trans: update content/zh/docs/admin/multiple-zones.md (#13775)
* zh-trans: update content/zh/docs/admin/multiple-zones.md

* Update multiple-zones.md
2019-04-11 07:26:18 -07:00
SataQiu 90fc889f9f zh-trans: update content/zh/docs/admin/kube-apiserver.md (#13774)
* zh-trans: update content/zh/docs/admin/kube-apiserver.md

* Update kube-apiserver.md

* Update content/zh/docs/admin/kube-apiserver.md

Co-Authored-By: SataQiu <1527062125@qq.com>
2019-04-11 07:18:17 -07:00
SataQiu f7f6d4125e zh-trans: update content/zh/docs/admin/cluster-large.md (#13771) 2019-04-11 07:06:14 -07:00
SataQiu 58f99cb2ef zh-trans: update docs/admin/bootstrap-tokens.md (#13770) 2019-04-11 06:54:12 -07:00
lIuDuI ae8f17fd53 ZH-trans: add 2016-07-00-Citrix-Netscaler-And-Kubernetes.md (#13242)
* ZH-trans: add  2016-07-00-Citrix-Netscaler-And-Kubernetes.md

* Update 2016-07-00-Citrix-Netscaler-And-Kubernetes.md

* Update 2016-07-00-Citrix-Netscaler-And-Kubernetes.md
2019-04-11 03:12:09 -07:00
lIuDuI bdcc6aa454 ZH-trans: add 2016-02-00-Kubecon-Eu-2016-Kubernetes-Community-In.md (#13241)
* ZH-trans: add 2016-02-00-Kubecon-Eu-2016-Kubernetes-Community-In.md

* Update 2016-02-00-Kubecon-Eu-2016-Kubernetes-Community-In.md

* Update 2016-02-00-Kubecon-Eu-2016-Kubernetes-Community-In.md
2019-04-11 03:10:13 -07:00
SataQiu cccc55be40 zh-trans: add content/zh/blog/_posts/2018-10-11-topology-aware-volume-provisioning.md (#13303) 2019-04-11 01:46:11 -07:00
SataQiu 1e64a6c7f2 zh-trans: update docs/admin/accessing-the-api.md (#13744) 2019-04-11 01:40:13 -07:00
SataQiu 33de7c41bc zh-trans: add docs/tasks/configure-pod-container/share-process-namespace.md (#13551)
* zh-trans: add docs/tasks/configure-pod-container/share-process-namespace.md

* Update share-process-namespace.md
2019-04-10 09:44:14 -07:00
SataQiu d85b104451 zh-trans: add configure-multiple-schedulers.md (#13492)
* zh-trans: add configure-multiple-schedulers.md

* Update content/zh/docs/tasks/administer-cluster/configure-multiple-schedulers.md

Co-Authored-By: SataQiu <1527062125@qq.com>

* Update content/zh/docs/tasks/administer-cluster/configure-multiple-schedulers.md

Co-Authored-By: SataQiu <1527062125@qq.com>

* Update configure-multiple-schedulers.md

* Update configure-multiple-schedulers.md

* Update content/zh/docs/tasks/administer-cluster/configure-multiple-schedulers.md

Co-Authored-By: SataQiu <1527062125@qq.com>

* Update content/zh/docs/tasks/administer-cluster/configure-multiple-schedulers.md

Co-Authored-By: SataQiu <1527062125@qq.com>

* Update content/zh/docs/tasks/administer-cluster/configure-multiple-schedulers.md

Co-Authored-By: SataQiu <1527062125@qq.com>

* Update configure-multiple-schedulers.md
2019-04-10 09:42:14 -07:00
lIuDuI 1397fe08db Update 2017-10-00-Five-Days-Of-Kubernetes-18.md (#13472) 2019-04-09 22:12:12 -07:00
SataQiu 49b590b020 zh-trans: update docs/reference/setup-tools/kubefed (#13729) 2019-04-09 18:14:14 -07:00
zhangqx2010 114b94a51e zh: docs/contribute/start.md trans (#13632)
* zh:docs/contribute/start.md trans

* Update start.md

* Update start.md

* Update start.md

* Update start.md

* Update content/zh/docs/contribute/start.md

Co-Authored-By: zhangqx2010 <zhangqx2010@users.noreply.github.com>

* Update content/zh/docs/contribute/start.md

Co-Authored-By: zhangqx2010 <zhangqx2010@users.noreply.github.com>

* Update content/zh/docs/contribute/start.md

Co-Authored-By: zhangqx2010 <zhangqx2010@users.noreply.github.com>
2019-04-09 18:12:12 -07:00
Wang Bing 10ded6a2eb zh-trans: content/zh/docs/concepts/overview/working-with-objects/labe… (#12277)
* zh-trans: content/zh/docs/concepts/overview/working-with-objects/labels.md

* update trans

* update trans
2019-04-07 19:58:24 -07:00
lIuDuI e97ba9e6b2 ZH-trans: add fedora_manual_config.md (#13439)
* ZH-trans: add fedora_manual_config.md

* Update fedora_manual_config.md
2019-04-03 11:44:50 -07:00
lIuDuI 0b09426200 ZH-trans: add 2017-11-00-Autoscaling-In-Kubernetes.md (#13424)
* ZH-trans: add 2017-11-00-Autoscaling-In-Kubernetes.md

* Update 2017-11-00-Autoscaling-In-Kubernetes.md
2019-04-03 11:42:50 -07:00
SataQiu a7db023e77 zh-trans: update advanced.md (#13592) 2019-04-03 11:08:14 -07:00
SataQiu b0498cdec6 zh-trans: update docker-cli-to-kubectl.md (#13591)
* Update docker-cli-to-kubectl.md

* Update docker-cli-to-kubectl.md
2019-04-03 03:05:46 -07:00
zhangqx2010 213c572265 zh: docs/cocepts/cluster-administration/logging.md (#13541)
* zh: docs/cocepts/cluster-administration/logging.md

* Update logging.md
2019-04-03 01:31:42 -07:00
lIuDuI 6612da6148 ZH-trans: add README.md (#13235)
* ZH-trans: add vendoring

* Update README.md
2019-03-30 08:15:10 -07:00
lIuDuI 1a8a176914 ZH-trans: add update-intro.html (#13480)
* Create update-intro.html

* Update update-intro.html

* Update update-intro.html

* Update update-intro.html

* Update update-intro.html

* Update update-intro.html
2019-03-27 20:38:45 -07:00
lIuDuI 301e5619fa ZH-trans: add cluster-interactive.html (#13479)
* ZH-trans: add cluster-interactive.html

* Update cluster-interactive.html
2019-03-27 20:34:44 -07:00
lIuDuI 31ab86148a ZH-trans: add aws.md (#13276)
* ZH-trans: add aws.md

* Update aws.md

* Update aws.md
2019-03-27 20:30:43 -07:00
Xiaolong He 88efaac10e remove data.json 2019-03-28 10:51:34 +08:00
Xiaolong He 4610d3f13b more message 2019-03-28 10:49:43 +08:00
Xiaolong He 8e975c9f52 message 2019-03-28 10:39:01 +08:00
SataQiu cd9b645feb zh-trans: add content/zh/docs/tasks/administer-federation/daemonset.md (#13239) 2019-03-27 07:16:49 -07:00
lIuDuI 89cc5539d5 ZH-trans: add 2017-10-00-Five-Days-Of-Kubernetes-18.md (#13427)
* ZH-trans: add 2017-10-00-Five-Days-Of-Kubernetes-18.md

* Update 2017-10-00-Five-Days-Of-Kubernetes-18.md
2019-03-27 06:40:50 -07:00
SataQiu 3d9c25b5b9 zh-trans: add content/zh/docs/tasks/service-catalog/install-service-catalog-using-helm.md (#13268)
* zh-trans: add content/zh/docs/tasks/service-catalog/install-service-catalog-using-helm.md

* Update content/zh/docs/tasks/service-catalog/install-service-catalog-using-helm.md

Co-Authored-By: SataQiu <1527062125@qq.com>

* Update content/zh/docs/tasks/service-catalog/install-service-catalog-using-helm.md

Co-Authored-By: SataQiu <1527062125@qq.com>

* Update content/zh/docs/tasks/service-catalog/install-service-catalog-using-helm.md

Co-Authored-By: SataQiu <1527062125@qq.com>

* zh-trans: update content/zh/docs/tasks/service-catalog/install-service-catalog-using-helm.md
2019-03-27 03:22:48 -07:00
SataQiu 90f8cdd2b9 zh-trans: add content/zh/blog/_posts/2018-10-16-kubernetes-2018-north-american-contributor-summit.md (#13274) 2019-03-26 19:22:47 -07:00
SataQiu f941923fb7 zh-trans: add content/zh/docs/reference/kubernetes-api/labels-annotations-taints.md (#13236) 2019-03-26 19:20:47 -07:00
SataQiu 777af87920 zh-trans: add content/zh/blog/_posts/2018-11-08-kubernetes-docs-update-i18n.md (#13221) 2019-03-26 19:18:47 -07:00
Jim Angel 78deb13b1e Update config.toml (#13408) 2019-03-25 18:15:21 -07:00
lIuDuI 00b18013d5 ZH-trans: add kubeadm-upgrade-ha-1-12.md (#13306)
* ZH-trans: add kubeadm-upgrade-ha-1-12.md

* Update kubeadm-upgrade-ha-1-12.md

* Update kubeadm-upgrade-ha-1-12.md

* Update kubeadm-upgrade-ha-1-12.md

* Update kubeadm-upgrade-ha-1-12.md

* Update kubeadm-upgrade-ha-1-12.md

* Update kubeadm-upgrade-ha-1-12.md
2019-03-21 03:51:36 -07:00
SataQiu 4d0be0f61b zh-trans: add docs/reference/setup-tools/kubeadm/kubeadm-upgrade.md (#13194)
* zh-trans: add docs/reference/setup-tools/kubeadm/kubeadm-upgrade.md

* Update content/zh/docs/reference/setup-tools/kubeadm/kubeadm-upgrade.md

Co-Authored-By: SataQiu <1527062125@qq.com>

* Update kubeadm-upgrade.md
2019-03-20 22:03:37 -07:00
chenrui 61ee18e87b Fix relative links issue in zh content (#13312)
* `http://kubernetes.io/docs/` -> `/docs/`

* `https://kubernetes.io/docs/` -> `/docs/`
2019-03-20 17:55:36 -07:00
SataQiu 868899b059 add SataQiu as a sig-docs-zh-owner (#13271) 2019-03-20 16:03:07 -07:00
lIuDuI 6279839a7e ZH-trans: add coreos.md (#13193)
* ZH-trans: coreos.md

* Update coreos.md

* Update coreos.md

* Update coreos.md

* Update coreos.md

* Update coreos.md

* Update coreos.md
2019-03-19 22:10:23 -07:00
lIuDuI 3da4af5175 Add @xichengliudui to sig-docs-zh-owners (release-1.12) (#13167)
* Add @xichengliudui to sig-docs-zh-owners

* Update OWNERS_ALIASES
2019-03-19 11:22:21 -07:00
SataQiu f87cdb02b0 zh-trans: add content/zh/blog/_posts/2018-10-15-steering-election-results.md (#13227)
* zh-trans: add content/zh/blog/_posts/2018-10-15-steering-election-results.md

* Update content/zh/blog/_posts/2018-10-15-steering-election-results.md

Co-Authored-By: SataQiu <1527062125@qq.com>
2019-03-18 18:54:20 -07:00
SataQiu 9b41a523ae zh-trans: update docs/setup/node-conformance.md (#13201)
* zh-trans: update docs/setup/node-conformance.md

* zh-trans: update docs/setup/on-premises-vm/dcos.md
2019-03-17 18:53:10 -07:00
MJ-CJM 9fa8431ce5 zh-trans: /docs/tasks/administer-cluster/out-of-resource.md (#12879)
* configure-aggregation-layer.md

* configure-aggregation-layer.md

* configure-aggregation-layer.md

* configure-aggregation-layer.md

* Update configure-aggregation-layer.md

* .

* .

* .

* .

* .

* .

* .

* .

* configure-aggregation-layer.md

* .

* .

* Update configure-aggregation-layer.md

* .

* .

* .

* .

* .

* .
2019-03-17 15:59:11 -07:00
SataQiu 9d37155a4b zh-trans: add docs/reference/command-line-tools-reference/kubelet-authentication-authorization.md (#13200)
* zh-trans: add docs/reference/command-line-tools-reference/kubelet-authentication-authorization.md

* Update kubelet-authentication-authorization.md
2019-03-15 08:36:59 -07:00
lIuDuI fe8f31af91 ZH-trans: add flannel_multi_node_cluster.md (#13195)
* ZH-trans: add flannel_multi_node_cluster.md

* Update flannel_multi_node_cluster.md

* Update flannel_multi_node_cluster.md
2019-03-15 08:34:59 -07:00
lIuDuI 3d086ad092 ZH-trans: add 2015-05-00-Weekly-Kubernetes-Community-Hangout.md (#13148) 2019-03-15 08:33:05 -07:00
lIuDuI 32a140ef7a ZH-trans: add 2015-04-00-Weekly-Kubernetes-Community-Hangout_29.md (#13147) 2019-03-15 08:31:01 -07:00
lIuDuI 5fa0e120d1 ZH-trans: add 2015-04-00-Weekly-Kubernetes-Community-Hangout_17.md (#13132)
* ZH-trans: add 2015-04-00-Weekly-Kubernetes-Community-Hangout_17.md

* Update 2015-04-00-Weekly-Kubernetes-Community-Hangout_17.md

* Update 2015-04-00-Weekly-Kubernetes-Community-Hangout_17.md

* Update 2015-04-00-Weekly-Kubernetes-Community-Hangout_17.md
2019-03-15 08:28:58 -07:00
lIuDuI c5504a9283 ZH-trans: add 2015-04-00-Kubernetes-Release-0150.md (#13130)
* ZH-trans: add 2015-04-00-Kubernetes-Release-0150.md

* Update 2015-04-00-Kubernetes-Release-0150.md
2019-03-15 08:27:00 -07:00
lIuDuI 780ecbbbde ZH-trans: add 2015-03-00-Weekly-Kubernetes-Community-Hangout.md (#13129)
* ZH-trans: add 2015-03-00-Weekly-Kubernetes-Community-Hangout.md

* Update 2015-03-00-Weekly-Kubernetes-Community-Hangout.md
2019-03-15 08:25:00 -07:00
lIuDuI aa857c68c5 Create 2015-03-00-Kubernetes-Gathering-Videos.md (#13124) 2019-03-15 08:22:59 -07:00
lIuDuI b6a09f9167 ZH-trans: add 2015-06-00-Slides-Cluster-Management-With.md (#13123)
* ZH-trans: add 2015-06-00-Slides-Cluster-Management-With.md

* Update 2015-06-00-Slides-Cluster-Management-With.md
2019-03-15 08:21:00 -07:00
lIuDuI b058767a10 ZH-trans: add 2015-03-00-Welcome-To-Kubernetes-Blog.md (#13131)
* ZH-trans: add 2015-03-00-Welcome-To-Kubernetes-Blog.md

* Update 2015-03-00-Welcome-To-Kubernetes-Blog.md
2019-03-15 08:18:59 -07:00
lIuDuI cfb3da9773 ZH-trans: add 2015-05-00-Kubernetes-On-Openstack.md (#13149)
* ZH-trans: add Kubernetes开源项目产品经理

* Update 2015-05-00-Kubernetes-On-Openstack.md
2019-03-15 08:16:59 -07:00
SataQiu 85c570cb2a zh-trans: add docs/concepts/storage/dynamic-provisioning.md (#13171) 2019-03-15 08:14:59 -07:00
SataQiu e7e337d337 zh-trans: update docs/reference/setup-tools/kubeadm/kubeadm-config.md (#13179) 2019-03-15 08:12:58 -07:00
SataQiu 1d8ca9fcd0 zh-trans: update docs/reference/access-authn-authz/authorization.md (#13180) 2019-03-15 08:11:00 -07:00
lIuDuI 7ec7d7b628 ZH-trans: add kubeadm_upgrade_diff.md (#13170)
* ZH-trans: add kubeadm_upgrade_diff.md

* Update kubeadm_upgrade_diff.md

* Update kubeadm_upgrade_diff.md
2019-03-15 08:08:57 -07:00
SataQiu b131443854 zh-trans: add docs/reference/setup-tools/kubeadm/generated/kubeadm_token.md (#13198) 2019-03-15 08:07:00 -07:00
SataQiu e26297d7a2 zh-trans: update content/zh/docs/setup/salt.md (#13202) 2019-03-15 08:05:00 -07:00
Li Yuan accf990bdd zh-trans: /docs/contribute/style/write-new-topic.md (#12572)
Signed-off-by: liyuan198251 <li.yuan4@zte.com.cn>

zh-trans: /docs/contribute/style/write-new-topic.md; update

Signed-off-by: liyuan198251 <li.yuan4@zte.com.cn>
2019-03-15 07:52:57 -07:00
jiaoht 3860980d3a zh-trans: add 2018-12-05-new-contributor-shanghai.md (#12778)
* add zh 2017-03-00-Five-Days-Of-Kubernetes-1-6.md

add zh 2018-12-05-new-contributor-shanghai.md

* Delete 2017-03-00-Five-Days-Of-Kubernetes-1-6.md
2019-03-15 07:50:59 -07:00
lIuDuI dad8c5b5c6 ZH-trans: add parallel-processing-expansion.md (#12944)
* ZH-trans: add parallel-processing-expansion.md

* Update parallel-processing-expansion.md

* Update parallel-processing-expansion.md
2019-03-15 07:48:58 -07:00
lIuDuI b942445bf0 ZH-trans: add update-api-object-kubectl-patch.md (#12943)
* ZH-trans: add update-api-object-kubectl-patch.md

* Update update-api-object-kubectl-patch.md

* Update update-api-object-kubectl-patch.md

* Update update-api-object-kubectl-patch.md

* Update update-api-object-kubectl-patch.md
2019-03-15 07:47:01 -07:00
lIuDuI 31fd1b6f9a ZH-trans: add service-accounts-admin.md (#13047)
* ZH-trans: add service-accounts-admin.md

* Update service-accounts-admin.md

* Update service-accounts-admin.md
2019-03-15 07:44:59 -07:00
lIuDuI e40897804b ZH-trans: add set-up-placement-policies-federation.md (#12947)
* ZH-trans: add set-up-placement-policies-federation.md

* update pull request

* Update set-up-placement-policies-federation.md

* Update set-up-placement-policies-federation.md

* Update set-up-placement-policies-federation.md

* Update set-up-placement-policies-federation.md
2019-03-15 07:42:59 -07:00
lIuDuI 098da94054 ZH-trans: add guestbook.md (#12953)
* ZH-trans: add guestbook.md

* Update guestbook.md

* Update guestbook.md

* Update guestbook.md

* Update guestbook.md
2019-03-15 07:41:00 -07:00
lIuDuI 77cbab1ec9 ZH-trans: add 2018-10-03-kubedirector.md (#13048)
* ZH-trans: add 2018-10-03-kubedirector.md

* Update 2018-10-03-kubedirector.md

* Update 2018-10-03-kubedirector.md
2019-03-15 07:38:57 -07:00
lIuDuI cc48719493 Update dns-horizontal-autoscaling.md (#13119)
* Update dns-horizontal-autoscaling.md

* Update dns-horizontal-autoscaling.md

* Update dns-horizontal-autoscaling.md
2019-03-15 07:36:57 -07:00
SataQiu 2ba6267ba4 zh-trans: update content/zh/docs/reference/access-authn-authz/node.md (#13181) 2019-03-14 06:50:39 -07:00
SataQiu fa4a119869 zh-trans: update content/zh/docs/concepts/_index.md (#13182) 2019-03-14 06:48:34 -07:00
lIuDuI 5d1a4a83ec ZH-trans: add dns-horizontal-autoscaling.md (#12948)
* ZH-trans: add dns-horizontal-autoscaling.md

* Update dns-horizontal-autoscaling.md

* Update dns-horizontal-autoscaling.md
2019-03-11 20:04:37 -07:00
lIuDuI 8cc207566d ZH-trans: add expose-external-ip-address.md (#12955)
* ZH-trans: add expose-external-ip-address.md

* Update expose-external-ip-address.md

* Update expose-external-ip-address.md

* Update expose-external-ip-address.md

* Update expose-external-ip-address.md

* Update expose-external-ip-address.md
2019-03-09 20:53:27 -08:00
NickSu86 409dc444da translate content/zh/docs/tasks/administer-cluster/dns-debugging-resolution.md to chinese (#12904) 2019-03-09 20:51:26 -08:00
lIuDuI b7a5d96470 ZH-trans: add container-lifecycle-hooks.md (#12941)
* ZH-trans: add container-lifecycle-hooks.md

* Update container-lifecycle-hooks.md
2019-03-09 10:31:27 -08:00
lIuDuI b15729acb9 ZH-trans: add cloudstack.md (#12967)
* Create cloudstack.md

* Update cloudstack.md

* Update cloudstack.md

* Update cloudstack.md
2019-03-09 09:35:28 -08:00
lIuDuI 0a90f388a7 ZH-trans: add expose-interactive.html (#12965)
* ZH-trans: add expose-interactive.html

* Update content/zh/docs/tutorials/kubernetes-basics/expose/expose-interactive.html

Co-Authored-By: xichengliudui <1693291525@qq.com>
2019-03-07 19:03:30 -08:00
noctarius aka Christoph Engelbert 9407305657 Added Instana to tools (#12978)
Instana is already available in the english version of the text, therefore I added it here too. Hope my skills were enough to make the text still correct :-)
2019-03-05 06:46:48 -08:00
lIuDuI 237da7916b ZH-trans: add example-task-template.md (#12940)
* ZH-trans: add example-task-template.md

* Update example-task-template.md
2019-03-03 06:26:56 -08:00
lIuDuI 69a237011f ZH-trans: update encrypt-data.md (#12939)
* ZH-trans: update encrypt-data.md

* Update encrypt-data.md
2019-03-03 06:25:17 -08:00
lIuDuI 78e42d5e9a ZH-trans: add 2018-05-01-developing-on-kubernetes.md (#12814) 2019-02-28 05:34:24 -08:00
Alan 282573aa18 zh-trans: developing-cloud-controller-manager.md (#12413)
* zh-trans: /docs/tasks/administer-cluster/developing-cloud-controller-manager.md

zh-trans: /docs/tasks/administer-cluster/developing-cloud-controller-manager.md

* Update developing-cloud-controller-manager.md

* fix typo: delete useless "**"

* Update developing-cloud-controller-manager.md
2019-02-18 00:13:27 -08:00
PingWang 171fc4e170 Add arm64, ppc64le and s390x platforms for calico (#12666)
Signed-off-by: PingWang <wang.ping5@zte.com.cn>

add only

Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2019-02-17 17:32:35 -08:00
MJ-CJM aee361495b zh-trans:/docs/tasks/administer-federation/hpa.md & /docs/tasks/administer-cluster/extended-resource-node.md (#12432)
* configure-aggregation-layer.md

* configure-aggregation-layer.md

* configure-aggregation-layer.md

* configure-aggregation-layer.md

* Update configure-aggregation-layer.md

* .

* .

* .

* .

* .

* .

* .

* .

* configure-aggregation-layer.md

* .

* .

* Update configure-aggregation-layer.md

* .

* .

* .

* .

* .
2019-02-16 23:43:32 -08:00
Alan 6ed905830f zh-trans: /docs/setup/turnkey/azure.md (#12412)
zh-trans: /docs/setup/turnkey/azure.md
2019-02-16 20:59:53 -08:00
Alan 87d25e933e zh-trans: /docs/tasks/administer-federation/events.md (#12411)
* zh-trans: /docs/tasks/administer-federation/events.md

zh-trans: /docs/tasks/administer-federation/events.md

* Update events.md

* Update events.md
2019-02-16 20:55:23 -08:00
Alan c027cd6e3f zh-trans: krib.md (#12363)
* zh-trans: krib.md

zh-trans: krib.md

* Update krib.md

* Update krib.md

* Update krib.md

* Update krib.md
2019-02-16 20:44:30 -08:00
chenrui 3f72aeb363 zh-trans: translate docs/getting-started-guides/ubuntu/operational-co… (#12353)
* zh-trans: translate docs/getting-started-guides/ubuntu/operational-considerations.md

* Adopt PR suggestions

* add period sign
2019-02-16 20:42:06 -08:00
Alan dbe9a17f88 zh-trans: node-conformance.md (#12356)
* zh-trans: node-conformance.md

zh-trans: node-conformance.md

* better translation

better translation
2019-02-16 20:39:51 -08:00
lIuDuI 9c868c3647 ZH-trans: add kubeadm_alpha_phase_certs_apiserver-kubelet-client.md (#12619)
* ZH-trans: add kubeadm_alpha_phase_certs_apiserver-kubelet-client.md

* Update kubeadm_alpha_phase_certs_apiserver-kubelet-client.md
2019-02-14 21:37:05 -08:00
SataQiu 885e5d7f38 zh-trans: update content/zh/docs/setup/certificates.md (#12620) 2019-02-14 21:34:41 -08:00
PingWang 6dd507e6db update link to SSH tunneling (#12615)
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2019-02-12 23:44:08 -08:00
Alan bcaadd3314 zh-trans: /docs/tasks/administer-cluster/limit-storage-consumption.md (#12415)
* zh-trans: /docs/tasks/administer-cluster/limit-storage-consumption.md

zh-trans: /docs/tasks/administer-cluster/limit-storage-consumption.md

* Update limit-storage-consumption.md

* Update limit-storage-consumption.md
2019-01-29 17:36:45 -08:00
Qiming 78ed3ff8f6 Translate some remnant partials for localization (#12240) 2019-01-28 23:16:21 -08:00
MJ-CJM 269050b6b6 ZH-trans:/docs/tasks/debug-application-cluster/debug-service.md (#12275)
* configure-aggregation-layer.md

* configure-aggregation-layer.md

* configure-aggregation-layer.md

* configure-aggregation-layer.md

* Update configure-aggregation-layer.md

* .

* .

* .

* .

* .

* .

* .

* .

* configure-aggregation-layer.md

* .

* .

* Update configure-aggregation-layer.md

* .

* .

* .

* .

* .

* .

* .

* .
2019-01-28 17:37:07 -08:00
ethan 05e17d3f4c correct "availability” trans for chinese (#12394) 2019-01-27 17:53:10 -08:00
Alan 8121f9800b ZH-trans: fix "kubead -config" -> "kubeadm-config" (#12319)
* ZH-trans: update kubeadm_config.md

* fix style error
2019-01-24 05:20:40 -08:00
Alan 601ce36129 ZH-trans: update tools.md (#12320)
ZH-trans: update tools.md
2019-01-24 05:19:01 -08:00
Li Yuan fa8521e6c5 zh-trans: /docs/contribute/localization.md (#12295)
Signed-off-by: liyuan198251 <li.yuan4@zte.com.cn>

zh-trans: /docs/contribute/localization.md; update

Signed-off-by: liyuan198251 <li.yuan4@zte.com.cn>

zh-trans: /docs/contribute/localization.md; update2

Signed-off-by: liyuan198251 <li.yuan4@zte.com.cn>
2019-01-23 01:08:02 -08:00
lIuDuI 2897bf84be ZH-trans: add kube-controller-manager.md (#12260)
* ZH-trans: add kube-controller-manager.md

* Update kube-controller-manager.md

* Update kube-controller-manager.md

* Update kube-controller-manager.md
2019-01-22 23:17:07 -08:00
Alan 175c5c2745 fix docs style error (#12314)
fix docs style error
2019-01-22 01:18:28 -08:00
lIuDuI 5577a9169a Create explore-interactive.html (#12311) 2019-01-21 22:04:39 -08:00
Alan 08726b2b20 fix docs style error (#12307)
fix docs style error
2019-01-21 19:30:05 -08:00
Alan a5c291e1d9 fix typo "_必须_" -> "必须" (#12300)
fix typo "_必须_" -> "必须"
2019-01-21 17:38:29 -08:00
lIuDuI afe1e2eee4 ZH-trans: add security-context.md (#12262)
* ZH-trans: add security-context.md

* Update security-context.md

* Update security-context.md

* Update security-context.md
2019-01-20 22:27:37 -08:00
lIuDuI f3d457dd74 ZH-trans: add service-account.md (#12261)
* ZH-trans: add service-account.md

* Update service-account.md
2019-01-20 22:26:07 -08:00
lIuDuI 57e7602990 ZH-trans: add kubeadm_alpha_phase_kubeconfig_kubelet.md (#12284)
* ZH-trans: add kubeadm_alpha_phase_kubeconfig_kubelet.md

* Update kubeadm_alpha_phase_kubeconfig_kubelet.md
2019-01-20 19:37:53 -08:00
lIuDuI 8937fd7a65 ZH-trans: add kubeadm_alpha_phase_certs_etcd-healthcheck-client.md (#12286)
* ZH-trans: add kubeadm_alpha_phase_certs_etcd-healthcheck-client.md

* Update kubeadm_alpha_phase_certs_etcd-healthcheck-client.md
2019-01-20 19:14:52 -08:00
lIuDuI e1b2731579 ZH-trans: add coredns.md (#12282)
* ZH-trans: add coredns.md

* Update coredns.md
2019-01-20 19:11:29 -08:00
lIuDuI 0641d6c025 ZH-trans: add kubeadm_alpha_phase_selfhosting_convert-from-staticpods.md (#12285)
* ZH-trans: add kubeadm_alpha_phase_selfhosting_convert-from-staticpods.md

* Update kubeadm_alpha_phase_selfhosting_convert-from-staticpods.md
2019-01-20 19:08:34 -08:00
lIuDuI 1612f95d1d Update docker-cli-to-kubectl.md (#12288) 2019-01-20 19:04:08 -08:00
lIuDuI 10588e474b ZH-trans: add persistent-volume-claim.md (#12264)
* ZH-trans: add persistent-volume-claim.md

* Update persistent-volume-claim.md

* Update persistent-volume-claim.md
2019-01-18 00:07:16 -08:00
lIuDuI 2bb187892a ZH-trans: add rbac.md (#12263)
* ZH-trans: add rbac.md

* Update rbac.md
2019-01-17 19:43:21 -08:00
Alan 89a4390fa2 fix docs style (#12225)
* fix docs style

fix docs style

* fix docs style

fix docs style
2019-01-15 22:04:27 -08:00
lIuDuI 10fc0a9ecd ZH-trans: add kubeadm_alpha_phase_certs_front-proxy-client.md (#12212) 2019-01-15 17:37:31 -08:00
lIuDuI bf189d1be9 ZH-trans: add kubeadm_alpha_phase_certs_renew_apiserver.md (#12210)
* ZH-trans: add kubeadm_alpha_phase_certs_renew_apiserver.md

* Update kubeadm_alpha_phase_certs_renew_apiserver.md

* Update kubeadm_alpha_phase_certs_renew_apiserver.md
2019-01-15 17:35:48 -08:00
lIuDuI e0d97c3c08 ZH-trans: add kubeadm_alpha_phase_kubelet_config_enable-dynamic.md (#12209)
* ZH-trans: add kubeadm_alpha_phase_kubelet_config_enable-dynamic.md

* Update kubeadm_alpha_phase_kubelet_config_enable-dynamic.md
2019-01-15 17:34:09 -08:00
kangxie-colorado 0ed27e19f6 ZH-trans: added a blog post Chinese translation: 2018-05-01-developing-on-kubernetes.md (#12009)
* added a blog post chinese translation

* Update 2018-05-01-developing-on-kubernetes.md

apply some suggested changes per review comments

* Update 2018-05-01-developing-on-kubernetes.md

cont to review and improve the wording, up to squash

* more update and rewording
2019-01-13 01:47:49 -08:00
AdamDang 3f8bb31bd8 zh-trans:/docs/concepts/overview/object-management-kubectl/imperative… (#12151)
* zh-trans:/docs/concepts/overview/object-management-kubectl/imperative-config.md

zh-trans:/docs/concepts/overview/object-management-kubectl/imperative-config.md

* Update imperative-config.md
2019-01-13 01:44:49 -08:00
Li Yuan 7dbe51be07 zh-trans: /docs/contribute/generate-ref-docs/kubernetes-api.md (#12141)
Signed-off-by: liyuan198251 <li.yuan4@zte.com.cn>
2019-01-13 01:43:14 -08:00
AdamDang dc3acf2186 zh-trans: kubeadm/generated/kubeadm_alpha_phase_kubeconfig_admin.md (#12131)
zh-trans: kubeadm/generated/kubeadm_alpha_phase_kubeconfig_admin.md
2019-01-13 01:41:40 -08:00
AdamDang 3fc0ad4977 zh-trans: kubeadm/generated/kubeadm_alpha_phase_kubelet_config_upload.md (#12130)
zh-trans: kubeadm/generated/kubeadm_alpha_phase_kubelet_config_upload.md
2019-01-13 01:40:05 -08:00
AdamDang 059002b700 zh-trans:/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_… (#12184)
* zh-trans:/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_etcd_local.md

zh-trans:/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_etcd_local.md

* Update kubeadm_alpha_phase_etcd_local.md
2019-01-13 01:38:31 -08:00
AdamDang 3445bf5a39 zh-trans:/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_all.md (#12185)
zh-trans:/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_all.md
2019-01-13 00:51:16 -08:00
wangyamei bb6006fce2 update Set Kubelet parameters via a config file (#12150) 2019-01-09 11:36:05 -08:00
chenrui 4868339f36 zh-trans: Fix some blog links issue (#12115)
* zh-trans: Fix some blog links issue

* Revert the space change
2019-01-08 06:46:33 -08:00
AdamDang 1c30466d7d zh-trans:/docs/reference/setup-tools/kubefed/kubefed_options.md (#12087)
* zh-trans:/docs/reference/setup-tools/kubefed/kubefed_options.md

zh-trans:/docs/reference/setup-tools/kubefed/kubefed_options.md

* Update kubefed_options.md

* Update kubefed_options.md
2019-01-08 00:38:32 -08:00
SataQiu ae7d0caada zh-trans: add docs/tasks/service-catalog/install-service-catalog-using-sc.md (#12045)
* zh-trans: add docs/tasks/service-catalog/install-service-catalog-using-sc.md

* update docs/tasks/service-catalog/install-service-catalog-using-sc.md
2019-01-07 20:22:33 -08:00
zhangqx2010 b67701f9b3 zh-trans: add /docs/concepts/cluster-administration/manage-deployment.md (#11899)
* add /docs/concepts/cluster-administration/manage-deployment.md

* 更新部分翻译,去除多余的反引号

* 更新部分翻译
2019-01-07 20:20:45 -08:00
MJ-CJM a8b83a8391 zh-trans:/docs/tasks/tools/install-kubectl.md (#11992)
* configure-aggregation-layer.md

* configure-aggregation-layer.md

* configure-aggregation-layer.md

* configure-aggregation-layer.md

* Update configure-aggregation-layer.md

* .

* .

* .

* .

* .

* .

* .

* .

* configure-aggregation-layer.md

* .

* .

* Update configure-aggregation-layer.md

* .

* .

* .

* .
2019-01-07 20:19:02 -08:00
SataQiu ffd49e7346 zh-trans: add docs/setup/independent/control-plane-flags.md (#12043)
* zh-trans: add docs/setup/independent/control-plane-flags.md

* update content/zh/docs/setup/independent/control-plane-flags.md
2019-01-07 20:17:18 -08:00
AdamDang bc7dd5f422 zh-trans: /docs/reference/setup-tools/kubefed/kubefed_init.md (#12020)
* zh-trans: /docs/reference/setup-tools/kubefed/kubefed_init.md

zh-trans: /docs/reference/setup-tools/kubefed/kubefed_init.md

* Update kubefed_init.md

* Update kubefed_init.md

* Update kubefed_init.md
2019-01-07 20:15:30 -08:00
AdamDang 796bf3c0eb zh-trans:/docs/reference/setup-tools/kubefed/kubefed_join.md (#12029)
* zh-trans:/docs/reference/setup-tools/kubefed/kubefed_join.md

zh-trans:/docs/reference/setup-tools/kubefed/kubefed_join.md

* Update kubefed_join.md

* Update kubefed_join.md
2019-01-07 20:13:42 -08:00
AdamDang 317aa7cf32 zh-trans:/docs/reference/setup-tools/kubefed/kubefed.md (#12086)
* zh-trans:/docs/reference/setup-tools/kubefed/kubefed.md

zh-trans:/docs/reference/setup-tools/kubefed/kubefed.md

* Update kubefed.md
2019-01-07 20:11:54 -08:00
wangyamei 1964e97c60 zh-trans organize-cluster-access-kubeconfig.md (#12094) 2019-01-07 20:10:11 -08:00
AdamDang a0f63b2ce6 zh-trans: /docs/reference/kubectl/conventions.md (#12089)
* zh-trans: /docs/reference/kubectl/conventions.md

zh-trans: /docs/reference/kubectl/conventions.md

* Update conventions.md
2019-01-07 20:08:27 -08:00
AdamDang 073bc1454d zh-trans:/docs/reference/kubectl/docker-cli-to-kubectl.md (#12088)
* zh-trans:/docs/reference/kubectl/docker-cli-to-kubectl.md

zh-trans:/docs/reference/kubectl/docker-cli-to-kubectl.md

* Update docker-cli-to-kubectl.md
2019-01-07 20:06:44 -08:00
AdamDang e8ae437057 zh-trans:/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_… (#12114)
* zh-trans:/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_apiserver.md

zh-trans:/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_apiserver.md

* Update kubeadm_alpha_phase_certs_apiserver.md

* Update kubeadm_alpha_phase_certs_apiserver.md
2019-01-07 20:03:21 -08:00
AdamDang c607c97431 zh-tran: /docs/reference/setup-tools/kubefed/kubefed_unjoin.md (#12022)
* zh-tran: /docs/reference/setup-tools/kubefed/kubefed_unjoin.md

zh-tran: /docs/reference/setup-tools/kubefed/kubefed_unjoin.md

* Update kubefed_unjoin.md

* Update kubefed_unjoin.md

* Update kubefed_unjoin.md
2019-01-07 06:03:14 -08:00
lIuDuI a87b030eb5 ZH-trans: update kubeadm_alpha_phase_upload-config.md (#12110) 2019-01-07 05:56:56 -08:00
SataQiu 0f4e48304d zh-trans: update cpu-constraint-namespace.md and cpu-default-namespace.md (#12106) 2019-01-07 02:08:24 -08:00
SataQiu e71d863b16 zh-trans: add docs/tasks/access-application-cluster/_index.md (#12048) 2019-01-07 01:48:32 -08:00
lIuDuI c81127b2a0 ZH-trans: add kubeadm_alpha_phase_kubelet_config_download.md (#12033)
* Create kubeadm_alpha_phase_kubelet_config_download.md

* Update kubeadm_alpha_phase_kubelet_config_download.md
2019-01-07 00:50:56 -08:00
lIuDuI e25bc18f25 ZH-trans: add kubeadm_alpha_phase_certs_etcd-peer.md (#12037)
* Create kubeadm_alpha_phase_certs_etcd-peer.md

* Update kubeadm_alpha_phase_certs_etcd-peer.md

* Update kubeadm_alpha_phase_certs_etcd-peer.md
2019-01-07 00:49:17 -08:00
AdamDang a054891d93 zh-trans:/docs/reference/setup-tools/kubefed/kubefed_version.md (#12085)
zh-trans:/docs/reference/setup-tools/kubefed/kubefed_version.md
2019-01-07 00:31:12 -08:00
lIuDuI f04609c529 Update _index.md (#12063) 2019-01-07 00:21:05 -08:00
lIuDuI f5269d0b71 Update kubeadm_version.md (#12046) 2019-01-07 00:19:30 -08:00
lIuDuI b7ae823604 ZH-trans: add kubeadm_alpha_phase_certs_renew_etcd-healthcheck-client.md (#12042)
* Create kubeadm_alpha_phase_certs_renew_etcd-healthcheck-client.md

* Update kubeadm_alpha_phase_certs_renew_etcd-healthcheck-client.md

* Update kubeadm_alpha_phase_certs_renew_etcd-healthcheck-client.md
2019-01-07 00:17:56 -08:00
lIuDuI 5be21ca82d Update advanced.md (#12044) 2019-01-07 00:16:21 -08:00
lIuDuI 15f5417ab4 ZH-trans: add kubeadm_alpha_phase_certs_renew_etcd-server.md (#12041)
* Create kubeadm_alpha_phase_certs_renew_etcd-server.md

* Update kubeadm_alpha_phase_certs_renew_etcd-server.md
2019-01-07 00:14:47 -08:00
lIuDuI 8015c19fee Create kubeadm_alpha_phase_etcd.md (#12040) 2019-01-07 00:10:12 -08:00
lIuDuI ade374db96 Create kubeadm_alpha_phase_bootstrap-token_node_allow-auto-approve.md (#12038) 2019-01-07 00:08:38 -08:00
lIuDuI c9e4fe6d4a ZH-trans: add kubeadm_upgrade_node_experimental-control-plane.md (#12036)
* Create kubeadm_upgrade_node_experimental-control-plane.md

* Update kubeadm_upgrade_node_experimental-control-plane.md
2019-01-07 00:05:38 -08:00
lIuDuI edc769aab8 ZH-trans: add kubeadm_alpha_phase_kubelet_write-env-file.md (#12034)
* Create kubeadm_alpha_phase_kubelet_write-env-file.md

* Update kubeadm_alpha_phase_kubelet_write-env-file.md
2019-01-07 00:04:03 -08:00
lIuDuI 73a942406d ZH-trans: add kubeadm_alpha_phase_bootstrap-token_node_allow-post-csrs.md (#12039)
* Create kubeadm_alpha_phase_bootstrap-token_node_allow-post-csrs.md

* Update kubeadm_alpha_phase_bootstrap-token_node_allow-post-csrs.md
2019-01-06 23:52:12 -08:00
lIuDuI 6cec0c18d4 ZH-trans: add kubeadm_alpha_phase_controlplane_scheduler.md (#12031)
* Create kubeadm_alpha_phase_controlplane_scheduler.md

* Update kubeadm_alpha_phase_controlplane_scheduler.md
2019-01-06 23:50:38 -08:00
lIuDuI 003f6955cc ZH-trans: add kubeadm_alpha_phase_preflight_node.md (#12035)
* Create kubeadm_alpha_phase_preflight_node.md

* Update kubeadm_alpha_phase_preflight_node.md

* Update kubeadm_alpha_phase_preflight_node.md
2019-01-06 23:49:03 -08:00
lIuDuI 8ef656e7df ZH-trasn: add kubeadm_alpha_phase_kubeconfig_controller-manager.md (#12032)
* Create kubeadm_alpha_phase_kubeconfig_controller-manager.md

* Update kubeadm_alpha_phase_kubeconfig_controller-manager.md
2019-01-06 23:37:12 -08:00
lIuDuI 8e22157bf5 Update kubeadm_reset.md (#12047) 2019-01-06 23:35:38 -08:00
lIuDuI 62de5ae62b Update _index.md (#12061) 2019-01-06 23:15:32 -08:00
chenrui 7e295149b2 Remove old-generated kubefed docs (generated on 25-march-2018) (#12093) 2019-01-06 17:36:59 -08:00
lIuDuI b87a92d3c8 ZH-trans: ad kubeadm_alpha_phase_kubelet_config_write-to-disk.md (#12004)
* Create kubeadm_alpha_phase_kubelet_config_write-to-disk.md

* Update kubeadm_alpha_phase_kubelet_config_write-to-disk.md
2019-01-04 21:10:48 -08:00
AdamDang 2f1b680524 zh-trans:/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana.md (#12001)
zh-trans:/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana.md
2019-01-04 21:05:56 -08:00
AdamDang beff1b1adb zh-trans:/docs/tasks/debug-application-cluster/get-shell-running-cont… (#11998)
* zh-trans:/docs/tasks/debug-application-cluster/get-shell-running-container.md

zh-trans:/docs/tasks/debug-application-cluster/get-shell-running-container.md

* Update get-shell-running-container.md
2019-01-04 21:04:12 -08:00
AdamDang 404b218418 zh-trans:/docs/tasks/debug-application-cluster/events-stackdriver.md (#11996)
zh-trans:/docs/tasks/debug-application-cluster/events-stackdriver.md
2019-01-04 20:51:27 -08:00
AdamDang 7f041fc323 zh-trans: /docs/tasks/debug-application-cluster/local-debugging.md (#11988)
* zh-trans: /docs/tasks/debug-application-cluster/local-debugging.md

zh-trans: /docs/tasks/debug-application-cluster/local-debugging.md

* Update local-debugging.md
2019-01-04 20:49:44 -08:00
AdamDang 63668a4098 zh-trans: /docs/tasks/debug-application-cluster/determine-reason-pod-… (#11977)
* zh-trans: /docs/tasks/debug-application-cluster/determine-reason-pod-failure.md

zh-trans: /docs/tasks/debug-application-cluster/determine-reason-pod-failure.md

* Update determine-reason-pod-failure.md
2019-01-02 01:25:35 -08:00
lIuDuI ba4c96363a ZH-trans: Fixed some incorrect translations (#11973) 2019-01-02 01:24:00 -08:00
lIuDuI 5c6f031e6f ZH-trans: add kubeadm_alpha_phase_upload-config.md (#11971)
* Create kubeadm_alpha_phase_upload-config.md

* Update kubeadm_alpha_phase_upload-config.md

* Update kubeadm_alpha_phase_upload-config.md
2019-01-02 01:22:30 -08:00
lIuDuI fac84ef1af ZH-trans: add kubeadm_alpha_phase_controlplane_all.md (#11970)
* Create kubeadm_alpha_phase_controlplane_all.md

* Update kubeadm_alpha_phase_controlplane_all.md

* Update kubeadm_alpha_phase_controlplane_all.md

* Update kubeadm_alpha_phase_controlplane_all.md
2019-01-02 01:21:01 -08:00
lIuDuI e4cd7949c8 ZH-trans: add kubeadm_alpha_phase_certs_front-proxy-ca.md (#11968) 2019-01-02 01:19:30 -08:00
AdamDang 8626e0fc18 zh-trans: add /zh/ docs/tasks/debug-application-cluster/crictl.md (#11961)
* zh-trans: add /zh/ docs/tasks/debug-application-cluster/crictl.md

zh-trans: add /zh/ docs/tasks/debug-application-cluster/crictl.md

* Update crictl.md
2019-01-02 01:18:00 -08:00
Alan 1dec969d39 zh_trans: kubeadm_completion.md (#11895)
* zh_trans: kubeadm_completion.md

zh_trans: /docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_node.md

* Better translation  

Better translation

* Update kubeadm_completion.md

* better translation

better translation
2019-01-02 01:16:31 -08:00
SataQiu 5cb2e5f0ff zh-trans:add docs/setup/turnkey/alibaba-cloud.md (#11959) 2019-01-02 01:15:00 -08:00
Alan fc1543d01a zh_trans: kubeadm_alpha_phase_bootstrap-token_create.md (#11947)
* zh_trans: kubeadm_alpha_phase_bootstrap-token_create.md

zh_trans: /docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_create.md

* better translation  

better translation
2019-01-02 01:13:26 -08:00
AdamDang 8e26ab0c44 zh-trans: zh/docs/reference/glossary/flexvolume.md (#11925)
* zh-trans: zh/docs/reference/glossary/flexvolume.md

zh-trans: zh/docs/reference/glossary/flexvolume.md

* Update flexvolume.md
2019-01-02 01:11:47 -08:00
AdamDang 8d71555508 zh-trans: add translate-compose-kubernetes.md (#11910)
* zh-trans: add translate-compose-kubernetes.md

zh-trans: add translate-compose-kubernetes.md

* Update translate-compose-kubernetes.md

* Update translate-compose-kubernetes.md

* Update translate-compose-kubernetes.md

* Update translate-compose-kubernetes.md

* Update translate-compose-kubernetes.md

* Update translate-compose-kubernetes.md
2019-01-02 01:10:17 -08:00
AdamDang e167b73812 zh-trans: /docs/tasks/configure-pod-container/extended-resource.md (#11918)
* zh-trans: /docs/tasks/configure-pod-container/extended-resource.md

zh-trans: /docs/tasks/configure-pod-container/extended-resource.md

* Update extended-resource.md

* Update extended-resource.md
2019-01-02 01:08:47 -08:00
AdamDang 966a4a6fc4 zh-trans: add /docs/tasks/configure-pod-container/configure-projected… (#11911)
* zh-trans: add /docs/tasks/configure-pod-container/configure-projected-volume-storage.md

zh-trans: add /docs/tasks/configure-pod-container/configure-projected-volume-storage.md

* Update configure-projected-volume-storage.md

* Update configure-projected-volume-storage.md
2019-01-02 01:07:17 -08:00
AdamDang 906cde039f zh-trans: docs/reference/glossary/horizontal-pod-autoscaler.md (#11930)
* zh-trans: docs/reference/glossary/horizontal-pod-autoscaler.md

zh-trans: docs/reference/glossary/horizontal-pod-autoscaler.md

* Update horizontal-pod-autoscaler.md
2019-01-02 01:05:47 -08:00
AdamDang 510f3497c0 zh-trans: /docs/tasks/debug-application-cluster/debug-init-containers.md (#11962)
* zh-trans: /docs/tasks/debug-application-cluster/debug-init-containers.md

zh-trans: /docs/tasks/debug-application-cluster/debug-init-containers.md

* Update debug-init-containers.md
2019-01-02 01:04:17 -08:00
lIuDuI 9b838bfaf4 Create kubeadm_alpha_phase_certs_renew_apiserver-kubelet-client.md (#11969)
* Create kubeadm_alpha_phase_certs_renew_apiserver-kubelet-client.md

* Update kubeadm_alpha_phase_certs_renew_apiserver-kubelet-client.md
2019-01-02 01:02:47 -08:00
AdamDang a4a44c221c zh-trans:/docs/tasks/debug-application-cluster/troubleshooting.md (#11989)
zh-trans:/docs/tasks/debug-application-cluster/troubleshooting.md
2019-01-02 00:59:56 -08:00
AdamDang a5f9477fb7 zh-trans:/docs/tasks/debug-application-cluster/core-metrics-pipeline.md (#11990)
zh-trans:/docs/tasks/debug-application-cluster/core-metrics-pipeline.md
2019-01-02 00:32:38 -08:00
AdamDang d77a74621c zh-trans:/docs/tasks/debug-application-cluster/resource-usage-monitor… (#11995)
* zh-trans:/docs/tasks/debug-application-cluster/resource-usage-monitoring.md

zh-trans:/docs/tasks/debug-application-cluster/resource-usage-monitoring.md

* Update resource-usage-monitoring.md

* Update resource-usage-monitoring.md
2019-01-02 00:18:50 -08:00
lIuDuI a00f23af84 Create kubeadm_alpha_phase_controlplane_apiserver.md (#12005) 2019-01-02 00:08:29 -08:00
lIuDuI dca2181e18 Create kubeadm_alpha_phase_selfhosting.md (#12006) 2019-01-02 00:07:03 -08:00
Alan 614bf3c4fc fix web style error (#12010)
fix web style error
2019-01-01 23:06:54 -08:00
Alan a1bfbe8b21 fix Typo "##" -> "## " (#12011)
* fix Typo "##" -> "## "

fix Typo "##" -> "## "

* update basic-stateful-set.md
2019-01-01 23:04:12 -08:00
lIuDuI 8511590979 ZH-trans: add kubeadm_alpha_phase_kubelet_config.md (#11974)
* Create kubeadm_alpha_phase_kubelet_config.md

* Update kubeadm_alpha_phase_kubelet_config.md
2018-12-29 13:44:11 -08:00
lIuDuI 858b661d6a ZH-trans: add kubeadm_alpha_phase_kubelet_config_annotate-cri.md (#11972)
* Create kubeadm_alpha_phase_kubelet_config_annotate-cri.md

* Update kubeadm_alpha_phase_kubelet_config_annotate-cri.md
2018-12-29 13:42:41 -08:00
AdamDang 3ed97562e2 zh-trans: add pull-image-private-registry.md (#11912)
* zh-trans: add pull-image-private-registry.md

zh-trans: add pull-image-private-registry.md

* Update pull-image-private-registry.md

* Update pull-image-private-registry.md
2018-12-29 12:51:00 -08:00
SataQiu 38cdfc9a4b zh-trans:add docs/reference/using-api/client-libraries.md (#11958)
* zh-trans:add docs/reference/using-api/client-libraries.md

* Update content/zh/docs/reference/using-api/client-libraries.md

Co-Authored-By: SataQiu <1527062125@qq.com>
2018-12-29 12:49:30 -08:00
Alan e012092612 zh_trans: kubeadm_alpha_phase_kubeconfig_user.md (#11901)
* zh_trans: kubeadm_alpha_phase_kubeconfig_user.md

zh_trans: /docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_user.md

* Better translation
2018-12-29 12:02:02 -08:00
SataQiu 44d598b1f4 zh-trans: update docs/concepts/cluster-administration/kubelet-garbage-collection.md (#11875)
* zh-trans: update docs/concepts/cluster-administration/kubelet-garbage-collection.md

* zh-trans: update docs/concepts/cluster-administration/kubelet-garbage-collection.md

* zh-trans:update kubelet-garbage-collection.md
2018-12-29 12:00:32 -08:00
AdamDang aaab2b1946 zh-trans: add zh/ docs/tasks/configure-pod-container/configure-servic… (#11889)
* zh-trans: add zh/ docs/tasks/configure-pod-container/configure-service-account.md

zh-trans: add zh/ docs/tasks/configure-pod-container/configure-service-account.md

* Update configure-service-account.md

* Update configure-service-account.md
2018-12-29 11:59:02 -08:00
lIuDuI d8e1b81c4b ZH-trans: add generated/... (#11879)
* Update pull request

* Resolving file conflicts
2018-12-28 23:28:08 -08:00
lIuDuI e951d615f8 Update pull request (#11881) 2018-12-28 23:15:45 -08:00
lIuDuI 401426cc30 ZH-trans: add generated/... (#11880)
* Update pull request

* Update kubeadm_alpha_phase_certs_renew.md
2018-12-28 23:14:15 -08:00
lIuDuI ce5ca1249d ZH-trans: add kubefed-options.md (#11956)
* Update ZH-trans: add kubefed-options.md

* Update kubefed-options.md
2018-12-28 23:12:41 -08:00
lIuDuI 1a231cc0fc Update pull request (#11960) 2018-12-28 23:11:11 -08:00
lIuDuI 4e8fb3664f Update pull request (#11921) 2018-12-28 22:11:24 -08:00
Alan 0a13bdabb8 fix docs format error (#11936)
fix docs format error of https://v1-12.docs.kubernetes.io/zh/docs/reference/setup-tools/kubeadm/kubeadm-config/
2018-12-28 20:16:26 -08:00
Li Yuan f1fa835a7f zh-trans: /docs/contribute/generate-ref-docs/kubectl.md (#11941)
Signed-off-by: liyuan198251 <li.yuan4@zte.com.cn>
2018-12-28 20:12:14 -08:00
AdamDang baf0cb5201 zh-trans:kubeadm/generated/kubeadm_alpha_phase_certs_renew_etcd-peer.md (#11953)
* zh-trans:/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_renew_etcd-peer.md

/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_renew_etcd-peer.md

* Update kubeadm_alpha_phase_certs_renew_etcd-peer.md
2018-12-28 20:06:41 -08:00
AdamDang 62f9ae63d2 zh-trans: add kubeadm/generated/kubeadm_alpha_phase_certs_renew_all.md (#11952)
* zh-trans: add /docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_renew_all.md

zh-trans: add /docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_renew_all.md

* Update kubeadm_alpha_phase_certs_renew_all.md

* renew 的翻译更新为续期
2018-12-28 20:05:11 -08:00
Alan 0cf8861a49 ZH-trans: Update install-kubeadm.md (#11955)
* fix typo of install-kubeadm.md

fix typo of install-kubeadm.md

* Update install-kubeadm.md
2018-12-28 19:20:15 -08:00
AdamDang 91508218cd zh-trans: /docs/reference/glossary/downstream.md (#11931)
* zh-trans: /docs/reference/glossary/downstream.md

zh-trans: /docs/reference/glossary/downstream.md

* Update downstream.md

* Update downstream.md
2018-12-28 18:44:51 -08:00
Alan 040699a989 zh_trans: kubeadm_alpha.md (#11902)
* zh_trans: kubeadm_alpha.md

zh_trans: /docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha.md

* Better translation

Better translation
2018-12-28 18:36:36 -08:00
AdamDang 28e626ac1d zh-trans: /docs/tasks/configure-pod-container/configure-persistent-vo… (#11915)
* zh-trans: /docs/tasks/configure-pod-container/configure-persistent-volume-storage.md

zh-trans: /docs/tasks/configure-pod-container/configure-persistent-volume-storage.md

* Update configure-persistent-volume-storage.md
2018-12-28 18:35:06 -08:00
SataQiu 8d67c86b20 zh-trans: add docs/setup/on-premises-vm/dcos.md (#11891)
* zh-trans: add docs/setup/on-premises-vm/dcos.md

* Update content/zh/docs/setup/on-premises-vm/dcos.md

Co-Authored-By: SataQiu <1527062125@qq.com>
2018-12-28 18:26:51 -08:00
AdamDang a37edeb69e zh-trans: /docs/reference/glossary/approver.md (#11924)
zh-trans: /docs/reference/glossary/approver.md
2018-12-28 18:21:18 -08:00
lIuDuI 25a41b6b78 Update cloud-controller.md (#11922) 2018-12-28 18:14:24 -08:00
Alan 7d0cbec18f fix docs format error (#11934)
fix docs format error of https://v1-12.docs.kubernetes.io/zh/docs/reference/setup-tools/kubeadm/kubeadm-join/
2018-12-28 05:30:32 -08:00
AdamDang 308bbebb83 zh-trans: add /docs/concepts/storage/volumes.md (#11767)
* zh-trans: add /docs/concepts/storage/volumes.md

zh-trans: add /docs/concepts/storage/volumes.md

* Update volumes.md

* Update volumes.md

* self-review

* Update volumes.md
2018-12-27 18:51:59 -08:00
Alan 7935bb1aa2 zh_trans: kubeadm_alpha_phase_bootstrap-token_node.md (#11897)
zh_trans: Path:/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_node.md
2018-12-26 23:22:21 -08:00
AdamDang b1c02ca65a zh-trans: add /docs/tasks/configure-pod-container/quality-service-pod.md (#11900)
* zh-trans: add /docs/tasks/configure-pod-container/quality-service-pod.md

zh-trans: add /docs/tasks/configure-pod-container/quality-service-pod.md

* Update quality-service-pod.md
2018-12-26 23:16:53 -08:00
Xiaolong He 76ae52edd0 Merge pull request #11801 from zhangqx2010/1.12-web-ui-dashboard
zh-trans: add /docs/tasks/access-application-cluster/web-ui-dashboard.md
2018-12-27 11:51:23 +08:00
Alan 4b0a1e0447 zh_trans: kubeadm-token.md (#11898)
zh_trans: /docs/reference/setup-tools/kubeadm/kubeadm-token.md
2018-12-26 17:19:12 -08:00
zhangqx2010 26383bd58b zh-trans: add docs⁩/concept⁨s/storage/storage-classes.md (#11788)
* ZH-trans: fixing formatting errors (#11661)

* ZH-trans: fixing formatting errors

* Update ZH-trans: fixing formatting errors

storage-classes zh part 1

* storage-classes zh trans

* fix typo

update trans for provisioner & fix typo

* fix typo

* 根据校对更新翻译
2018-12-26 06:22:48 -08:00
Alan d668db841a zh_trans: independent/create-cluster-kubeadm.md (#11882)
* zh_trans: independent/create-cluster-kubeadm.md

zh_trans: docs/setup/independent/create-cluster-kubeadm.md

* fix word style error

* fix type error

* better zhtran

better zhtran

* fix "Create" -> "create"

fix "Create" -> "create"
2018-12-26 06:18:50 -08:00
Alan 801249f86d zh_trans: kubeadm_token_delete.md (#11883)
* zh_trans: kubeadm_token_delete.md

zh_trans: /docs/reference/setup-tools/kubeadm/generated/kubeadm_token_create.md

* fix tpye error

fix tpye error

*  Better translation  

Better translation
2018-12-26 06:16:44 -08:00
SataQiu 4f93edabe4 zh-trans: add content/zh/docs/tutorials/online-training/overview.md (#11892) 2018-12-26 05:47:20 -08:00
SataQiu d07cf9ec9b zh-trans:add content/zh/docs/reference/issues-security (#11890) 2018-12-26 05:45:09 -08:00
AdamDang 9ea3da3bc5 zh-trans: add /docs/tasks/configure-pod-container/configure-pod-initialization.md (#11886)
zh-trans: add /docs/tasks/configure-pod-container/configure-pod-initialization.md
2018-12-26 05:09:59 -08:00
Alan 0dbec63d17 zh_trans: kubeadm_token_generate.md (#11884)
* zh_trans: kubeadm_token_generate.md

zh_trans: /docs/reference/setup-tools/kubeadm/generated/kubeadm_token_generate.md

* Better translation  

Better translation
2018-12-25 21:42:59 -08:00
zhangqx2010 77f7bf22df 更新第 115 行翻译 2018-12-25 22:16:06 +08:00
lIuDuI 8e2ac5932d Update kubeadm_alpha_phase_controlplane.md (#11878) 2018-12-25 04:29:24 -08:00
SataQiu 1947dbdf62 zh-trans: update docs/concepts/containers/images.md (#11877)
* zh-trans: update docs/concepts/containers/images.md

* zh-trans: update docs/concepts/containers/images.md
2018-12-25 02:38:29 -08:00
AdamDang b2c87f77c1 zh-trans: add / docs/reference/setup-tools/kubeadm/kubeadm-join.md (#11798)
* zh-trans: add / docs/reference/setup-tools/kubeadm/kubeadm-join.md

zh-trans: add / docs/reference/setup-tools/kubeadm/kubeadm-join.md

* Update kubeadm-join.md

* Create kubeadm_join.md
2018-12-25 02:34:30 -08:00
lIuDuI 6d7877fd05 Update setup-extension-api-server.md (#11864) 2018-12-25 01:32:24 -08:00
lIuDuI e49b653e53 Update fine-parallel-processing-work-queue.md (#11863)
* Update fine-parallel-processing-work-queue.md

* Update fine-parallel-processing-work-queue.md
2018-12-25 01:30:14 -08:00
lIuDuI 3e901a186d ZH-trans: add Update define-environment-variable-container.md (#11859)
* Update define-environment-variable-container.md

* Update define-environment-variable-container.md

* Update define-environment-variable-container.md

* Update define-environment-variable-container.md

* Update define-environment-variable-container.md
2018-12-25 01:28:17 -08:00
lIuDuI 552251b260 Update weave-network-policy.md (#11858) 2018-12-24 05:17:51 -08:00
Li Yuan acbb74139f zh-trans: /docs/contribute/style/kubernetes-components.md (#11838)
Signed-off-by: liyuan198251 <li.yuan4@zte.com.cn>

zh-trans: /docs/contribute/generate-ref-docs/kubernetes-components.md; update

Signed-off-by: liyuan198251 <li.yuan4@zte.com.cn>
2018-12-24 05:15:50 -08:00
Xiaolong He 4aa63c8e57 zh-trans: add /docs/concepts/architecture/cloud-controller.md (#11799)
* docs/concepts/architecture/cloud-controller.md

* docs/concepts/architecture/cloud-controller.md

* docs/concepts/architecture/cloud-controller.md

* fix

* fix

* fix
2018-12-24 05:13:48 -08:00
lIuDuI 1c08814d1b ZH-trans: Update coarse-parallel-processing-work-queue.md (#11862)
* ZH-trans: Update coarse-parallel-processing-work-queue.md

* Update coarse-parallel-processing-work-queue.md
2018-12-24 05:09:54 -08:00
lIuDuI 53b2d031a4 ZH-trans: Update http-proxy-access-api.md (#11865)
* ZH-trans: Update http-proxy-access-api.md

* Update http-proxy-access-api.md
2018-12-24 05:07:48 -08:00
lIuDuI 34929ffcf2 Update quota-pod-namespace.md (#11856) 2018-12-23 16:01:17 -08:00
lIuDuI 682ce2e292 Update calico-network-policy.md (#11857) 2018-12-23 15:59:20 -08:00
AdamDang fb5b1b3a28 zh-trans: add setup-tools/kubeadm/kubeadm-reset.md&kubeadm-version.md (#11780)
* zh-trans: add /zh/docs/reference/setup-tools/kubeadm/kubeadm-reset.md

zh-trans: add /zh/docs/reference/setup-tools/kubeadm/kubeadm-reset.md

* zh-trans: add zh/docs/reference/setup-tools/kubeadm/kubeadm-version.md

zh-trans: add zh/docs/reference/setup-tools/kubeadm/kubeadm-version.md

* Update kubeadm-reset.md

* Create kubeadm_reset.md

* Create kubeadm_version.md

* Delete kubeadm_version.md

* Create kubeadm_version.md

* Update kubeadm_reset.md

* Update kubeadm_reset.md
2018-12-21 17:38:51 -08:00
SataQiu b697d945ef Update docs/reference/setup-tools/kubeadm/kubeadm.md (#11829)
* zh-trans:update docs/setup/independent/setup-ha-etcd-with-kubeadm.md

* zh-trans:update docs/setup/independent/setup-ha-etcd-with-kubeadm.md
2018-12-21 06:37:21 -08:00
lIuDuI 361283e20d ZH-trans: add generated/kubeadm_alpha_phase_mark-master.md (#11810)
* ZH-trans: add generated/kubeadm_alpha_phase_mark-master.md

* Update kubeadm_alpha_phase_mark-master.md

* Update kubeadm_alpha_phase_mark-master.md
2018-12-21 06:35:24 -08:00
SataQiu a5ceee0679 zh-trans: update docs/tasks/configure-pod-container/configure-volume-storage.md (#11841) 2018-12-21 06:33:23 -08:00
chenrui 0df8f0f127 zh-trans: add docs/getting-started-guides/ubuntu/monitoring.md (#11634)
* zh-trans: add docs/getting-started-guides/ubuntu/monitoring.md

* Updates per PR comments
2018-12-20 17:32:24 -08:00
zhangqx2010 58c0fe0560 zh-trans: add /docs/tasks/access-kubernetes-api/http-proxy-access-api.md (#11816)
* add http-proxy-access-api.md

* 根据review更新部分翻译
2018-12-20 17:01:26 -08:00
lIuDuI 5313355d8a ZH-trans: add generated/... (#11809)
* ZH-trans: add generated/...

* Update kubeadm_alpha_phase_certs_etcd-ca.md
2018-12-19 17:54:43 -08:00
lIuDuI 3a5aa16f37 ZH-trans:fix hyperlinks (#11738)
* ZH-trans:fix hyperlinks

* Update cloud-controller.md
2018-12-19 07:25:14 -08:00
lIuDuI 0868791c6d Update install-minikube.md (#11813)
* Update install-minikube.md

* Update install-minikube.md
2018-12-19 07:06:56 -08:00
zhangqx2010 e6083086da 更新部分翻译 #2 2018-12-19 20:24:47 +08:00
lIuDuI ec65ba61d4 Update website show (#11812) 2018-12-19 02:00:38 -08:00
zhangqx2010 06fea07711 根据review更新部分翻译
更新了图片链接的翻译
2018-12-19 14:30:53 +08:00
zhangqx2010 4df33c7201 web-ui-dashboard.md zh trans 2018-12-18 23:40:15 +08:00
Linus Lee 0eefc4f441 zh_trans: add comment & kubernetes feature:Automatic binpacking of home page. (#11790)
* Update manage-compute-resources-container.md

* Update manage-compute-resources-container.md
2018-12-18 05:45:03 -08:00
chenrui 19ea283f74 fix PR #11649 comments (#11792)
* fix PR #11649 comments

* add link ref and comment out original line

* updates PR per comments
2018-12-17 16:59:50 -08:00
wangcong b039796c58 Create kubeadm-config.md (#11787) 2018-12-16 18:38:46 -08:00
Linus Lee 43694f3c3a zh_trans: Fix homepage kubernetes feature display invalidation problem (#11755)
* Update service.md

* Update service.md

* Update service.md

* Update service.md
2018-12-16 18:27:36 -08:00
lIuDuI 2fc7e6e2d9 ZH-trans: fixing formatting errors (#11661)
* ZH-trans: fixing formatting errors

* Update ZH-trans: fixing formatting errors
2018-12-16 17:46:30 -08:00
SataQiu 13c89553f6 zh-trans: add some template files (#11717) 2018-12-16 17:44:37 -08:00
Xiaolong He 7c8f4f36c8 Merge pull request #11710 from congfairy/zh_trans/blog/_posts/2018-07-09-IPVS-In-Cluster-Load-Balancing.md
Zh trans/blog/ posts/2018 07 09 ipvs in cluster load balancing.md
2018-12-16 23:22:53 +08:00
AdamDang 44d127e189 zh-trans: add zh/docs/tasks/administer-federation/secret.md (#11668)
* zh-trans: add zh/docs/tasks/administer-federation/secret.md

zh-trans: add zh/docs/tasks/administer-federation/secret.md

* Update secret.md

* Update secret.md
2018-12-16 06:25:34 -08:00
FlyingOnion 59be6af72d zh-trans: add kube-apiserver.md (#11519)
* zh-trans: add content/zh/docs/reference/command-line-tools-reference/kube-apiserver.md

* edit-1

* edit 2
2018-12-16 06:23:46 -08:00
AdamDang 4bcceed652 zh-trans: add /docs/tasks/administer-cluster/quota-api-object.md (#11666)
* zh-trans: add /docs/tasks/administer-cluster/quota-api-object.md

zh-trans: add /docs/tasks/administer-cluster/quota-api-object.md

* Update quota-api-object.md

* Update quota-api-object.md
2018-12-16 06:21:58 -08:00
lIuDuI 14cd53697d ZH-trans: add kubeadm_alpha_phase_controlplane_controller-manager.md (#11663)
* ZH-trans: add kubeadm_alpha_phase_controlplane_controller-manager.md

* Update ZH-trans: add kubeadm_alpha_phase_controlplane_controller-manager.md

Update ZH-trans: add kubeadm_alpha_phase_controlplane_controller-manager.md

Update ZH-trans: add kubeadm_alpha_phase_controlplane_controller-manager.md

Update ZH-trans: add kubeadm_alpha_phase_controlplane_controller-manager.md

* Update kubeadm_alpha_phase_controlplane_controller-manager.md
2018-12-16 06:20:06 -08:00
lIuDuI 92781d8b39 ZH-trans: add _index.md (#11718)
* ZH-trans: add _index.HTML

Update ZH-trans: add _index.html

* Update ZH-trans: add _index.html

Update ZH-trans: add _index.html

Update ZH-trans: add _index.html

Update ZH-trans: add _index.md

Update ZH-trans: add _index.md

Update ZH-trans: add _index.md
2018-12-16 06:14:55 -08:00
lIuDuI 9f19594584 ZH-trans: add kubeadm.md (#11722)
* ZH-trans: add kubeadm.md

* ZH-trans: add kubeadm.md

Update ZH-trans: add kubeadm.md

Update ZH-trans: add kubeadm.md
2018-12-16 06:13:07 -08:00
Qiming c6e7b33548 Revert "zh-trans: example-task-template.md" (#11785)
* Revert "Zh trans2018 05 30 say hello to discuss kubernetes.md (#11708)"

This reverts commit 59054092cd.

* Revert "Revert "Zh trans2018 06 26 kubernetes 1.11 release announcement.md" (#11784)"

This reverts commit 0d714f6937.

* Revert "zh-trans website/content/zh/docs/concepts/containers/runtime-class.md (#11744)"

This reverts commit 6369aa44fb.

* Revert "zh-trans website/content/zh/docs/tasks/administer-cluster/guaranteed-… (#11750)"

This reverts commit 9ff8744d57.

* Revert "zh-trans: configmap.md (#11783)"

This reverts commit 19bf37c613.

* Revert "zh-trans: /docs/contribute/style/page-templates.md (#11672)"

This reverts commit 603ce4c421.

* Revert "zh-trans: add /docs/concepts/workloads/pods/pod-overview.md (#11638)"

This reverts commit 50ef724d31.

* Revert "zh-trans content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm.md (#11766)"

This reverts commit 04d1d9d945.

* Revert "Zh trans2018 06 26 kubernetes 1.11 release announcement.md (#11709)"

This reverts commit ab96f2aa77.

* Revert "zh-trans: example-task-template.md (#11768)"

This reverts commit efbc7c685c.
2018-12-16 21:11:14 +08:00
wangcong 59054092cd Zh trans2018 05 30 say hello to discuss kubernetes.md (#11708)
* zh_trans:/blog/_posts/2018-05-30-say-hello-to-discuss-kubernetes.md

* Update 2018-05-30-say-hello-to-discuss-kubernetes.md

* Update 2018-05-30-say-hello-to-discuss-kubernetes.md

* zh_trans:2018-05-30-say-hello-to-discuss-kubernetes.md

* Update and rename   2018-05-30-say-hello-to-discuss-kubernetes.md to 2018-05-30-say-hello-to-discuss-kubernetes.md

* Update 2018-05-30-say-hello-to-discuss-kubernetes.md

* Update 2018-05-30-say-hello-to-discuss-kubernetes.md

* Update 2018-05-30-say-hello-to-discuss-kubernetes.md
2018-12-16 21:09:27 +08:00
Qiming 0d714f6937 Revert "Zh trans2018 06 26 kubernetes 1.11 release announcement.md" (#11784)
* Revert "zh-trans website/content/zh/docs/concepts/containers/runtime-class.md (#11744)"

This reverts commit 6369aa44fb.

* Revert "zh-trans website/content/zh/docs/tasks/administer-cluster/guaranteed-… (#11750)"

This reverts commit 9ff8744d57.

* Revert "zh-trans: configmap.md (#11783)"

This reverts commit 19bf37c613.

* Revert "zh-trans: /docs/contribute/style/page-templates.md (#11672)"

This reverts commit 603ce4c421.

* Revert "zh-trans: add /docs/concepts/workloads/pods/pod-overview.md (#11638)"

This reverts commit 50ef724d31.

* Revert "zh-trans content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm.md (#11766)"

This reverts commit 04d1d9d945.

* Revert "Zh trans2018 06 26 kubernetes 1.11 release announcement.md (#11709)"

This reverts commit ab96f2aa77.
2018-12-16 21:05:47 +08:00
zhangx501 6369aa44fb zh-trans website/content/zh/docs/concepts/containers/runtime-class.md (#11744)
* zh-trans website/content/zh/docs/concepts/containers/runtime-class.md

根据更新后的英文重新进行了翻译,同时修改了部分译文让阅读更流畅

* zh-trans website/content/zh/docs/concepts/containers/runtime-class.md

重新修改了部分格式,并根据英文补充的原文进行翻译,让中文阅读更为流畅

* Update runtime-class.md
2018-12-16 20:40:35 +08:00
zhangx501 9ff8744d57 zh-trans website/content/zh/docs/tasks/administer-cluster/guaranteed-… (#11750)
* zh-trans website/content/zh/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods.md

根据英文版本删减,重新更新了中文译文,同时更改了部分译文,让阅读更流畅

* zh-trans website/content/zh/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods.md

在上次的基础上修改了格式,等待重新编译,让阅读更流畅

* Update guaranteed-scheduling-critical-addon-pods.md
2018-12-16 20:38:52 +08:00
Shuo Li 19bf37c613 zh-trans: configmap.md (#11783)
* zh-trans: configmap.md

* fix trans of word federation
2018-12-16 04:20:24 -08:00
Li Yuan 603ce4c421 zh-trans: /docs/contribute/style/page-templates.md (#11672)
Signed-off-by: 李元10098251 <li.yuan4@zte.com.cn>

zh-trans: /docs/contribute/style/page-templates.md; update

Signed-off-by: 李元10098251 <li.yuan4@zte.com.cn>

zh-trans: /docs/contribute/style/page-templates.md; update2

Signed-off-by: 李元10098251 <li.yuan4@zte.com.cn>

zh-trans: /docs/contribute/style/page-templates.md; update3

Signed-off-by: 李元10098251 <li.yuan4@zte.com.cn>

zh-trans: /docs/contribute/style/page-templates.md; update4

Signed-off-by: 李元10098251 <li.yuan4@zte.com.cn>
2018-12-16 03:40:39 -08:00
AdamDang 50ef724d31 zh-trans: add /docs/concepts/workloads/pods/pod-overview.md (#11638)
* zh-trans: add /docs/concepts/workloads/pods/pod-overview.md

zh-trans: add /docs/concepts/workloads/pods/pod-overview.md

* Update pod-overview.md

* Update pod-overview.md

* Update pod-overview.md
2018-12-16 01:34:21 -08:00
jiajie 04d1d9d945 zh-trans content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm.md (#11766)
* Create kubeadm.md

* Update kubeadm.md

* Update kubeadm.md
2018-12-15 06:37:03 -08:00
wangcong ab96f2aa77 Zh trans2018 06 26 kubernetes 1.11 release announcement.md (#11709)
* zh_trans:/blog/_posts/2018-06-26-kubernetes-1.11-release-announcement.md

* Update 2018-06-26-kubernetes-1.11-release-announcement.md

* zh_trans:2018-06-26-kubernetes-1.11-release-announcement.md

* Update 2018-06-26-kubernetes-1.11-release-announcement.md

* Update 2018-06-26-kubernetes-1.11-release-announcement.md

* Update 2018-06-26-kubernetes-1.11-release-announcement.md
2018-12-15 06:17:06 -08:00
Shuo Li efbc7c685c zh-trans: example-task-template.md (#11768)
* zh-trans: example-task-template.md

* fix trans
2018-12-15 06:07:52 -08:00
wangcong a1dcb0a815 Update 2018-07-09-IPVS-In-Cluster-Load-Balancing.md 2018-12-15 21:56:19 +08:00
wangcong c1640a6fa5 Update 2018-07-09-IPVS-In-Cluster-Load-Balancing.md 2018-12-15 21:54:32 +08:00
wangcong 426db24e19 zh_trans: 2018-06-06-4-years-of-k8s.md (#11681)
* zh_trans: 2018-06-06-4-years-of-k8s.md

* Update 2018-06-06-4-years-of-k8s.md

* Rename content/cn/blog/_posts/2018-06-06-4-years-of-k8s.md to content/zh/blog/_posts/2018-06-06-4-years-of-k8s.md

* Update 2018-06-06-4-years-of-k8s.md

* Update 2018-06-06-4-years-of-k8s.md
2018-12-15 05:37:07 -08:00
wangcong 5c108eedb1 Update 2018-07-09-IPVS-In-Cluster-Load-Balancing.md 2018-12-15 21:26:48 +08:00
wangcong cc306b6b49 Update 2018-07-09-IPVS-In-Cluster-Load-Balancing.md 2018-12-15 21:11:31 +08:00
wangcong 09385ee009 Update 2018-07-09-IPVS-In-Cluster-Load-Balancing.md 2018-12-15 19:18:27 +08:00
wangcong c9a3a0aac7 Update 2018-07-09-IPVS-In-Cluster-Load-Balancing.md 2018-12-15 19:12:11 +08:00
chenrui 83be2ae6c8 zh-trans: add content/zh/docs/getting-started-guides/ubuntu/backups.md (#11623)
* zh-trans: add content/zh/docs/getting-started-guides/ubuntu/backups.md

* Update per PR comment
2018-12-15 01:37:30 -08:00
chenrui 734d9313b1 zh-trans: add docs/getting-started-guides/ubuntu/local.md (#11622)
* zh-trans: add docs/getting-started-guides/ubuntu/local.md

* add some spaces

* Update per PR comment
2018-12-15 01:35:33 -08:00
Xiaolong He bf2b699aac Merge pull request #11545 from AdamDang/patch-169
zh-trans: add cron-jobs.md
2018-12-15 17:33:58 +08:00
SataQiu c23ef5ad48 zh-trans: add some _index.md files (#11716)
* zh-trans: add some _index.md files

* update docs/tutorials/kubernetes-basics/scale/_index.md
2018-12-15 01:24:40 -08:00
lIuDuI 5d059aca36 ZH-trans: add feature-state-beta.txt,feature-state-alpha.txt (#11723)
ZH-trans: add feature-state-beta.txt,feature-state-alpha.txt
2018-12-15 01:21:00 -08:00
chenrui bd392a057f zh-trans: update _index.html (#11675)
* zh-trans: update _index.html

* remove space to make one line

* remove space to make one line

* Make some updates

* seattle -> 西雅图

* Update content/zh/_index.html

Co-Authored-By: chenrui333 <rui@meetup.com>

* Update content/zh/_index.html

Co-Authored-By: chenrui333 <rui@meetup.com>

* Update content/zh/_index.html

Co-Authored-By: chenrui333 <rui@meetup.com>

* Update content/zh/_index.html

Co-Authored-By: chenrui333 <rui@meetup.com>

* Update wording to be more marketable
2018-12-14 08:20:28 -08:00
chenrui b9c5111341 Add more active i18n-zh reviewers into the reviewer list (#11747) 2018-12-13 14:06:27 -08:00
chenrui 6aea702e16 zh-trans: add index files update (#11702)
* Add /docs/tasks/tls/_index.md

* zh-trans: add docs/tasks/access-kubernetes-api/custom-resources/_index.md

* zh-trans: add docs/tutorials/kubernetes-basics/explore/_index.md

* zh-trans: add docs/tasks/configure-pod-container/_index.md

* Update _index.md
2018-12-13 13:32:33 -08:00
lIuDuI b74bcf4d58 ZH-trans: Fix invalid format (#11739) 2018-12-13 13:01:21 -08:00
Linus Lee 96d2816484 Fix the page errors of contribute (#11726) 2018-12-13 07:59:37 -08:00
lIuDuI edeaf999e5 In v1.12 version update install-kubeadm (#11732) 2018-12-12 22:07:34 -08:00
jiajie a5fdec8bb9 zh-trans /docs/tasks/debug-application-cluster/monitor-node-health.md (#11690)
* zh-trans /docs/tasks/debug-application-cluster/monitor-node-health.md

* Update monitor-node-health.md

* Update monitor-node-health.md

* Update monitor-node-health.md
2018-12-12 22:06:00 -08:00
wangyamei a6af8d8d79 zh-trans force-delete-statefulset-pod.md (#11637) 2018-12-12 16:31:34 -08:00
congfairy 2a94ffe685 Update 2018-07-09-IPVS-In-Cluster-Load-Balancing.md 2018-12-12 16:37:53 +08:00
congfairy f5b5959eb4 Update 2018-07-09-IPVS-In-Cluster-Load-Balancing.md 2018-12-12 16:34:15 +08:00
chenrui b4cfd95474 zh-trans: add docs/getting-started-guides/ubuntu/decommissioning.md (#11625) 2018-12-12 00:12:27 -08:00
wangyamei 310b000af2 zh-trans update-daemon-set.md (#11644)
* Update update-daemon-set.md

* zh-trans update-daemon-set.md
2018-12-12 00:07:30 -08:00
chenrui b6f1cb9fe9 zh-trans: /docs/getting started guides/ubuntu/troubleshooting.md (#11649)
* zh-trans: add docs/getting-started-guides/ubuntu/troubleshooting.md

* Update content/zh/docs/getting-started-guides/ubuntu/troubleshooting.md

Co-Authored-By: chenrui333 <rui@meetup.com>

* Update content/zh/docs/getting-started-guides/ubuntu/troubleshooting.md

Co-Authored-By: chenrui333 <rui@meetup.com>

* Update content/zh/docs/getting-started-guides/ubuntu/troubleshooting.md
2018-12-12 00:04:12 -08:00
SataQiu f722daa838 zh-trans: add docs/concepts/overview/working-with-objects/namespaces.md (#11658) 2018-12-12 00:02:28 -08:00
SataQiu 6614a419c2 zh-trans: add docs/tasks/tools/install-minikube.md (#11695)
* zh-trans: add docs/tasks/tools/install-minikube.md

* update install-minikube.md
2018-12-11 23:40:16 -08:00
Linus Lee bc809f6078 zh_trans: docs/reference/_index.md (#11641)
* zh_trans: Fix the page: docs/concepts/architecture/cloud-controller/ display issues

* zh_trans: Fix the page: docs/concepts/architecture/cloud-controller/ display issues

* zh_trans: Fix the page: docs/concepts/architecture/cloud-controller/ display issues

* zh_trans: Fix Folder name error

* zh_trans: docs/setup/independent/create-cluster-kubeadm.md

* Update kubeadm_alpha_phase_addon.md

* Update kubeadm_alpha_phase_addon.md

* Update create-cluster-kubeadm.md

* Update create-cluster-kubeadm.md

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update create-cluster-kubeadm.md

* Update create-cluster-kubeadm.md

* Update create-cluster-kubeadm.md

* Update create-cluster-kubeadm.md

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update create-cluster-kubeadm.md

* zh_trans: docs/reference/_index.md

* zh_trans: docs/reference/_index.md

* zh_trans: docs/reference/_index.md

* zh_trans: docs/reference/_index.md
2018-12-11 23:12:45 -08:00
SataQiu 133b302f19 zh-trans: move files from cn to zh dir (#11714) 2018-12-11 23:11:01 -08:00
congfairy e4b23895ff zh_trans:/blog/_posts/2018-07-09-IPVS-In-Cluster-Load-Balancing.md 2018-12-12 13:52:31 +08:00
congfairy e53b9aff47 Update 2018-07-09-IPVS-In-Cluster-Load-Balancing.md 2018-12-12 12:54:28 +08:00
Alps Tsui 8290d0f019 ADD content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_plan.md (#11706) 2018-12-11 20:06:18 -08:00
congfairy 0c4822df20 zh_trans:/blog/_posts/2018-06-07-dynamic-ingress-kubernetes.md (#11691)
* zh_trans:/blog/_posts/2018-06-07-dynamic-ingress-kubernetes.md

* Update 2018-06-07-dynamic-ingress-kubernetes.md

* Update 2018-06-07-dynamic-ingress-kubernetes.md

* Update 2018-06-07-dynamic-ingress-kubernetes.md
2018-12-11 19:47:06 -08:00
lIuDuI 5243263dd9 ZH-trans: add /kubeadm/generated/... (#11659)
* ZH-trans: add /kubeadm/generated/...

* update ZH-trans: add /kubeadm/generated/...

Update ZH-trans: add /kubeadm/generated/...

Update ZH-trans: add /kubeadm/generated/...
2018-12-11 19:07:03 -08:00
chenrui 35f7358142 zh-trans: update docs/_index.md (#11701) 2018-12-11 17:43:52 -08:00
SataQiu 3316fac160 zh-trans: add some template files (#11660) 2018-12-11 17:40:26 -08:00
SataQiu 6f3a2eb13c zh-trans: add some _index.md files (#11683)
* zh-trans: add some _index.md files

* Update _index.md
2018-12-12 09:39:02 +08:00
chenrui 0e56cf42c0 zh-trans: add docs/getting-started-guides/ubuntu/scaling.md (#11650)
* zh-trans: add docs/getting-started-guides/ubuntu/scaling.md

* zh-trans: updates per PR comments
2018-12-11 17:26:55 -08:00
chenrui 190c68b853 zh-trans: add docs/getting-started-guides/ubuntu/networking.md (#11626)
* zh-trans: add docs/getting-started-guides/ubuntu/networking.md

* Update content/zh/docs/getting-started-guides/ubuntu/networking.md

Co-Authored-By: chenrui333 <rui@meetup.com>

* Update content/zh/docs/getting-started-guides/ubuntu/networking.md

Co-Authored-By: chenrui333 <rui@meetup.com>

* Update content/zh/docs/getting-started-guides/ubuntu/networking.md

Co-Authored-By: chenrui333 <rui@meetup.com>

* Update content/zh/docs/getting-started-guides/ubuntu/networking.md

Co-Authored-By: chenrui333 <rui@meetup.com>

* Update content/zh/docs/getting-started-guides/ubuntu/networking.md

Co-Authored-By: chenrui333 <rui@meetup.com>

* Update content/zh/docs/getting-started-guides/ubuntu/networking.md

Co-Authored-By: chenrui333 <rui@meetup.com>

* Update content/zh/docs/getting-started-guides/ubuntu/networking.md

Co-Authored-By: chenrui333 <rui@meetup.com>

* Update content/zh/docs/getting-started-guides/ubuntu/networking.md

Co-Authored-By: chenrui333 <rui@meetup.com>

* Update content/zh/docs/getting-started-guides/ubuntu/networking.md
2018-12-11 12:10:43 -08:00
chenrui 5d5c7619a1 zh-trans: add docs/getting-started-guides/ubuntu/storage.md (#11651)
* zh-trans: add docs/getting-started-guides/ubuntu/storage.md

* zh-trans: updates per comments
2018-12-11 10:05:46 -08:00
SataQiu 78713be714 zh-trans: add docs/setup/release/building-from-source.md (#11693)
* zh-trans: add docs/setup/release/building-from-source.md

* update building-from-source.md
2018-12-11 06:29:24 -08:00
lIuDuI 0acc2625d0 ZH-trans:Update _index.md (#11682) 2018-12-11 01:20:19 -08:00
congfairy 6eefd9380a zh_trans: /blog/_posts/2018-07-09-IPVS-In-Cluster-Load-Balancing.md 2018-12-11 16:56:50 +08:00
AdamDang 565c175a35 Typo fix:control plan-> control plane (#11667)
Typo fix:control plan-> control plane
2018-12-10 23:40:03 -08:00
AdamDang ec03f7e055 Update cron-jobs.md 2018-12-11 13:19:14 +08:00
lIuDuI 262e39dba3 ZH-trans: Update kubeadm_config_view.md (#11673)
* ZH-trans: Update kubeadm_config_view.md

* Update kubeadm_config_view.md
2018-12-11 12:35:56 +08:00
lIuDuI 365062c271 ZH-trans: Update kubeadm_config.md (#11674) 2018-12-10 20:34:57 -08:00
lIuDuI 9e906a0da4 zh-trans: add includes/default-storage-class-prereqs.md (#11474)
* zh-trans: add includes/default-storage-class-prereqs.md

update default-storage-class-prereqs.md

* update zh-trans: add includes/default-storage-class-prereqs.md
2018-12-10 18:59:10 -08:00
chenrui 644e98fdf8 zh-trans: add docs/getting-started-guides/ubuntu/rancher.md (#11647) 2018-12-10 05:59:55 -08:00
AdamDang 34e54ab71c zh-trans: add statefulset.md (#11455)
* zh-trans: add statefulset.md

zh-trans: add statefulset.md

* Update statefulset.md

* Update statefulset.md

* Update statefulset.md

* Update statefulset.md

* Update statefulset.md
2018-12-10 02:35:10 -08:00
SataQiu 2f114f92a8 zh-trans: add docs/concepts/cluster-administration/kubelet-garbage-collection.md (#11510)
* zh-trans: add docs/concepts/cluster-administration/kubelet-garbage-collection.md

* update kubelet-garbage-collection.md

* update kubelet-garbage-collection.md

* update kubelet-garbage-collection.md
2018-12-10 02:31:07 -08:00
AdamDang 8c533e51f2 zh-trans: add ingress.md (#11484)
* zh-trans: add ingress.md

zh-trans: add ingress.md

* Update ingress.md

* Update ingress.md
2018-12-10 02:29:42 -08:00
SataQiu 9105a05ef6 zh-trans: add Huawei case study (#11538)
* zh-trans: add Huawei case study

* update content/zh/case-studies/huawei/index.html

* update huawei/index.html

* update huawei/index.html

* update huawei/index.html
2018-12-10 02:27:00 -08:00
lIuDuI 2d8280a2a9 update zh-trans: add _index.md (#11563) 2018-12-10 02:23:01 -08:00
SataQiu 0cdbcad949 zh-trans: add docs/concepts/overview/working-with-objects/field-selectors.md (#11565)
* zh-trans: add docs/concepts/overview/working-with-objects/field-selectors.md

* update field-selectors.md
2018-12-10 02:20:19 -08:00
jiajie 435ccde66e zh-trans content/en/docs/setup/certificates.md (#11566)
* Create certificates.md

* Update certificates.md

* Update certificates.md

* Update certificates.md

* Update certificates.md

* Update certificates.md
2018-12-10 02:18:54 -08:00
SataQiu 4961e19593 zh-trans: add docs/reference/glossary/container-lifecycle-hooks.md (#11601) 2018-12-10 02:17:28 -08:00
lIuDuI 4d2b30a8c0 zh-trans: add kubeadm/generated/... (#11606)
* zh-trans: add kubeadm/generated/...

* update zh-trans: add kubeadm/generated/...

update commit
2018-12-10 02:13:30 -08:00
chenrui 34f223e8b1 zh-trans: add docs/getting-started-guides/ubuntu/logging.md (#11621) 2018-12-10 02:12:04 -08:00
chenrui 4a59a96d03 zh-trans: add docs/getting-started-guides/ubuntu/installation.md (#11624)
* zh-trans: add docs/getting-started-guides/ubuntu/installation.md

* adjust hugo syntax order

* Update installation.md
2018-12-10 02:09:22 -08:00
AdamDang dd566f3426 zh-trans: add /zh/docs/concepts/workloads/pods/podpreset.md (#11636)
zh-trans: add /zh/docs/concepts/workloads/pods/podpreset.md
2018-12-09 19:11:33 -08:00
chenrui 4a8546a97d zh-trans: add docs/getting-started-guides/ubuntu/upgrades.md (#11633)
* zh-trans: add docs/getting-started-guides/ubuntu/upgrades.md

* Update content/zh/docs/getting-started-guides/ubuntu/upgrades.md

Co-Authored-By: chenrui333 <rui@meetup.com>
2018-12-09 19:01:25 -08:00
MJ-CJM 810677c3b1 zh-trans:/docs/tasks/administer-federation/namespaces.md (#11611)
* configure-aggregation-layer.md

* configure-aggregation-layer.md

* configure-aggregation-layer.md

* configure-aggregation-layer.md

* Update configure-aggregation-layer.md

* .

* .

* .

* .

* .

* .

* .

* .

* configure-aggregation-layer.md

* .

* .

* Update configure-aggregation-layer.md

* .

* .

* .
2018-12-09 04:20:19 -08:00
Linus Lee d5c0ffc2b2 Fix page error : /zh/docs/ (#11628) 2018-12-07 19:34:03 -08:00
SataQiu 4ae2cd145d zh-trans: add docs/getting-started-guides/alternatives.md (#11597) 2018-12-07 06:33:02 -08:00
SataQiu a7b121f345 zh-trans: add docs/concepts/overview/working-with-objects/names.md (#11557)
* zh-trans: add docs/concepts/overview/working-with-objects/names.md

* update names.md
2018-12-07 06:31:36 -08:00
SataQiu d2f1afcfd5 zh-trans: add docs/concepts/overview/working-with-objects/annotations.md (#11558)
* zh-trans: add docs/concepts/overview/working-with-objects/annotations.md

* Update annotations.md

* update annotations.md

* update annotations.md
2018-12-07 06:30:02 -08:00
Li Yuan 867ed083ce zh-trans: /docs/contribute/style (#11561)
Signed-off-by: 李元10098251 <li.yuan4@zte.com.cn>

zh-trans: /docs/contribute/style; update

Signed-off-by: 李元10098251 <li.yuan4@zte.com.cn>
2018-12-07 06:27:20 -08:00
lIuDuI 953e892e56 zh-trans: add cri.md (#11448)
* zh-trans: add cri.md

zh-trans: add cri.md

update cri.md

update cri.md

Update cri.md

update cri.md

update cri.md

* update cri.md

update cri.md

* update cri.md

* update cri.md
2018-12-07 05:57:38 -08:00
MJ-CJM 78aa8163fb zh-trans: /docs/tasks/configure-pod-container/configure-volume-storage.md (#11602)
* configure-aggregation-layer.md

* configure-aggregation-layer.md

* configure-aggregation-layer.md

* configure-aggregation-layer.md

* Update configure-aggregation-layer.md

* .

* .

* .

* .

* .

* .

* .

* .

* configure-aggregation-layer.md

* .

* .

* Update configure-aggregation-layer.md

* .

* .
2018-12-07 05:44:30 -08:00
AdamDang 69121ca7f8 zh-trans: add platform-developer.md (#11459)
* zh-trans: add platform-developer.md

zh-trans: add platform-developer.md

* Update platform-developer.md

* Update platform-developer.md

* Update platform-developer.md
2018-12-07 05:43:00 -08:00
AdamDang c71e1d218f zh-trans: add replicaset.md (#11457)
* zh-trans: add replicaset.md

zh-trans: add replicaset.md

* Create frontend.yaml

* Create hpa-rs.yaml

* Update replicaset.md

* Update replicaset.md
2018-12-07 05:41:35 -08:00
AdamDang 9e1c6033d7 zh-trans: add job.md (#11446)
* zh-trans: add job.md

zh-trans: add job.md

* Update job.md

* Update job.md

* Update job.md

* Update job.md
2018-12-07 05:23:21 -08:00
AdamDang ccd4be8185 zh-trans: add volume-plugin.md (#11444)
* Update volume-plugin.md

* Update volume-plugin.md

* Update volume-plugin.md

* Update volume-plugin.md
2018-12-07 05:21:56 -08:00
AdamDang cca1900935 zh-trans: add kube-proxy.md (#11442)
* zh-trans: add kube-proxy.md

zh-trans: add kube-proxy.md

* Update kube-proxy.md

* Update kube-proxy.md
2018-12-07 05:20:30 -08:00
AdamDang c19fbd8546 zh-trans: add podreset.md (#11430)
* zh-trans: add podreset.md

zh-trans: add podreset.md

* Update podpreset.md

* Update podpreset.md
2018-12-07 05:19:05 -08:00
SataQiu 540770a5cc zh-trnas: add access-authn-authz/_index.md command-line-tools-reference/_index.md (#11599) 2018-12-06 22:59:48 -08:00
Wang Bing da1f0a5e2f zh-trans: content/zh/docs/reference/glossary/kubelet.md (#11559)
* zh-trans: content/zh/docs/reference/glossary/kubelet.md

* Update trans

* Update kubelet.md
2018-12-06 07:54:29 -08:00
AdamDang 1972537896 zh-trans: add concepts/workloads/pods/pod.md (#11449)
* zh-trans: add concepts/workloads/pods/pod.md

zh-trans: add concepts/workloads/pods/pod.md

* Update pod.md
2018-12-06 06:45:20 -08:00
AdamDang b3344ca081 zx-trans: add controller-metrics.md (#11509)
zx-trans: add controller-metrics.md
2018-12-06 06:42:29 -08:00
AdamDang 491fc4c0f0 zh-trans: add replica-set.md (#11429)
* zh-trans: add replica-set.md

zh-trans: add replica-set.md

* Update replica-set.md

* Update replica-set.md

* Update replica-set.md
2018-12-06 06:40:59 -08:00
Linus Lee bdb436e11e zh_trans: docs/setup/independent/create-cluster-kubeadm.md & docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_addon.md (#11427)
* zh_trans: Fix the page: docs/concepts/architecture/cloud-controller/ display issues

* zh_trans: Fix the page: docs/concepts/architecture/cloud-controller/ display issues

* zh_trans: Fix the page: docs/concepts/architecture/cloud-controller/ display issues

* zh_trans: Fix Folder name error

* zh_trans: docs/setup/independent/create-cluster-kubeadm.md

* Update kubeadm_alpha_phase_addon.md

* Update kubeadm_alpha_phase_addon.md

* Update create-cluster-kubeadm.md

* Update create-cluster-kubeadm.md

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update create-cluster-kubeadm.md

* Update create-cluster-kubeadm.md

* Update create-cluster-kubeadm.md

* Update create-cluster-kubeadm.md

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update content/zh/docs/setup/independent/create-cluster-kubeadm.md

Co-Authored-By: Mr-Linus <708863861@qq.com>

* Update create-cluster-kubeadm.md
2018-12-06 06:01:27 -08:00
AdamDang cdedb1db9d Update cron-jobs.md 2018-12-06 13:24:43 +08:00
AdamDang 4fb360ed71 Edit due to reviewer
Edit due to reviewer
2018-12-06 13:19:06 +08:00
jiajie 5afd4ee087 zh-trans content/en/docs/setup/independent/setup-ha-etcd-with-kubeadm.md (#11506)
* zh-trans content/en/docs/setup/independent/setup-ha-etcd-with-kubeadm.md

* Update setup-ha-etcd-with-kubeadm.md

* Update setup-ha-etcd-with-kubeadm.md

* Update setup-ha-etcd-with-kubeadm.md

* Update setup-ha-etcd-with-kubeadm.md

* Update setup-ha-etcd-with-kubeadm.md
2018-12-05 18:53:30 -08:00
Wang Bing f07644ae57 zh-trans: content/zh/docs/tasks/configure-pod-container/attach-handle… (#11420)
* zh-trans: content/zh/docs/tasks/configure-pod-container/attach-handler-lifecycle-event.md

* Add examples pods yaml files

* Update translation

* Update trans

* Update tran
2018-12-05 18:50:12 -08:00
Chengyu Zhang 2be410ee5e zh-trans: /docs/getting-started-guides/ubuntu/_index.md (#11530)
* Create _index.md

* Update _index.md

* Update _index.md

* Update content/zh/docs/getting-started-guides/ubuntu/_index.md

Co-Authored-By: okzhchy <okzhchy@qq.com>
2018-12-05 18:34:05 -08:00
lIuDuI 04521b6927 zh-trans: add /tutorials/_index.md (#11504)
Delete the blank

update _index.md

update cri

update _index.md
2018-12-05 17:47:35 -08:00
AdamDang 17526c90cd zh-trans: add pod.md (#11432)
* zh-trans: add pod.md

zh-trans: add pod.md

* Update pod.md

* Update pod.md

* Update pod.md
2018-12-05 11:42:51 -08:00
AdamDang 065f8462cd zh-trans: add cron-jobs.md
zh-trans: add cron-jobs.md
2018-12-05 22:23:19 +08:00
chenrui b9e93bb6aa zh-trans: add case-studies/squarespace (#11301)
* zh-trans: add case-studies/squarespace

* zh-trans: updates per PR suggestions
2018-12-05 03:58:39 -08:00
lIuDuI 04d45e2c26 zh-trans: add getting-started-guides/... (#11537) 2018-12-05 03:55:26 -08:00
chenrui d154005e45 zh-trans: add concepts/configuration/scheduler-perf-tuning (#11452)
* zh-trans: add concepts/configuration/scheduler-perf-tuning

* zh-trans: comment out the english script lines

* zh-trans: update per PR comments

* zh-trans: updates per PR suggestions
2018-12-04 17:34:26 -08:00
SataQiu 953ab2f96c zh-trans: add docs/search.md, /docs/tutorials/configuration/_index.md (#11508) 2018-12-04 02:49:32 -08:00
Jim Angel f95376389a deprecating 1.12 config.toml (#11502)
* deprecating 1.12 config.toml

missed in https://github.com/kubernetes/website/pull/11497

* fixed docsbranch s/master/release-1.12/

* moving the params.versions under params.pushAssests

* adding .Site. to Params.currentUrl

TODO: update master
2018-12-03 16:27:06 -08:00
Jim Angel 31cebb306d modified config.toml for 1.13 release (#11497)
1.13 + 4 latest releases supported by sig-docs.
2018-12-03 14:55:18 -08:00
Rui Chen 6e094fa640 Merge branch 'master' of git://github.com/kubernetes/website into release-1.12
* 'master' of git://github.com/kubernetes/website: (222 commits)
  Add temporary owners for 1.13 release (#11453)
  fix Minikube 404 error. (#11461)
  Resolve conflicts against dev-1.13 for /ko contents (#11439)
  replace `run` with `create deployment` (#11392)
  Updated list all pods with -o wide comment (#11394)
  fix broken link for KubeletConfiguration (#11423)
  Update on pod-priority-preemption.md (#11418)
  Add guidelines for working with localized content (#11415)
  Update what-is-kubernetes.md (#11399)
  Remove redundant close tags and little bit formatting (#11389)
  Add SysEleven MetaKube as hosted solution (#11393)
  Add rui to sig-docs-zh team (#11391)
  fix Improper translation (#11384)
  Add pigletfly(WangBing) as a sig-docs-zh-reviewer (#11370)
  update link to CloudProvider Interface (#11228)
  Fix the "my-scheduler-as-kube-scheduler" ClusterRoleBinding. (#11112)
  fix non-existing "CloudProvider Interface" link (#10953)
  Updated ingress.md (#11213)
  Further updates to TLS Bootstrapping (#11258)
  Updated 'exec' description (#11365)
  ...
2018-12-03 17:11:43 -05:00
Xiaolong He 4fa6d715ec Merge pull request #11482 from chenrui333/zh-trans/batch-add-example-yaml-files-patch4
zh-trans: add examples/{policy,service,windows}/ yaml files
2018-12-03 22:52:31 +08:00
Xiaolong He a498c9ad95 Merge pull request #11481 from chenrui333/zh-trans/batch-add-example-yaml-files-patch3
zh-trans: add examples/podpreset/ examples/pods/{config,inject,probe,…
2018-12-03 22:52:16 +08:00
Xiaolong He 2f1a8d14fe Merge pull request #11480 from chenrui333/zh-trans/batch-add-example-yaml-files-patch2
zh-trans: add examples/{controllers,debug,federation}/ yaml files
2018-12-03 22:51:58 +08:00
Rui Chen b15ccd6c4a zh-trans: add examples/{policy,service,windows}/ yaml files 2018-12-03 09:43:05 -05:00
Hui Zhang 3baab1abac zh_trans:update run-application/rolling-update-replication-controller.md (#11479) 2018-12-03 06:43:03 -08:00
Rui Chen b6d431ea4d zh-trans: add examples/podpreset/ examples/pods/{config,inject,probe,qos,resource,security,storage} yaml files 2018-12-03 09:36:16 -05:00
Rui Chen b3a0ff3479 zh-trans: add examples/{controllers,debug,federation}/ yaml files 2018-12-03 09:13:06 -05:00
chenrui 13953625e4 zh-trans: batch add examples/admin/ yaml files (#11464) 2018-12-02 21:25:39 -08:00
AdamDang a60038f02b zh-trans: add init-container.md (#11443)
zh-trans: add init-container.md
2018-12-02 19:17:06 -08:00
AdamDang 3ef791daab zh-trans: add name.md (#11433)
* zh-trans: add name.md

zh-trans: add name.md

* Update name.md

* Update name.md

* Update name.md
2018-12-02 18:15:45 -08:00
Alps Tsui 3737649bf0 ADD content/zh/docs/reference/setup-tools/kubeadm/kubeadm-init.md (#11377)
fix the missing space

trans 'Master Node' to '主节点'

trans 'worker node' to '工作节点'

trans misc

Misc
2018-12-02 06:19:03 -08:00
AdamDang a9df619242 zh-trans: add developer.md (#11428)
* zh-trans: add developer.md

zh-trans: add developer.md

* Update developer.md
2018-12-02 06:16:39 -08:00
AdamDang 827885b048 zh-trans: add aggregation-layer.md (#11368)
* zh-trans: add aggregation-layer.md

zh-trans: add aggregation-layer.md

* Update aggregation-layer.md

* Update aggregation-layer.md
2018-12-02 06:12:00 -08:00
AdamDang 1dbf3a634b zh-trans: add network-policy.md (#11335)
* zh-trans: add network-policy.md

zh-trans: add network-policy.md

* Update network-policy.md

* Update network-policy.md
2018-12-02 06:05:06 -08:00
AdamDang 3b2f2b3465 zh-trans: copy pod/_index.md (#11458)
zh-trans: copy pod/_index.md
2018-12-02 05:43:35 -08:00
chenrui a850c5356b zh-trans: update docs/reference/kubectl/kubectl.md (#11402)
* zh-trans: update docs/reference/kubectl/kubectl.md

* Updates per PR comments
2018-11-30 18:57:50 -08:00
chenrui 3edf976c92 zh-trans: add partners/_index.html (#11387)
* zh-trans: add partners/_index.html

* add includes/partner-script.js

* add includes/partner-style.css

* Update _index.html
2018-11-30 04:52:03 -08:00
Li Yuan c8161f68a1 zh-trans: /docs/contribute/generate-ref-docs (#11421)
* zh-trans: /docs/contribute/generate-ref-docs

Signed-off-by: 李元10098251 <li.yuan4@zte.com.cn>

* Update _index.md

* Update federation-api.md
2018-11-30 01:46:17 -08:00
Qiming 17c7f60e14 Add some translations - Chinese (#11313)
* Fix netlify

This PR also includes some translations for glossary which have to be
included to make gate happy.

* Delete label-new.md

* Update node.md

* Update managed-service.md

* Update sig.md
2018-11-30 17:44:02 +08:00
lIuDuI a7b2730118 zh-trans: add /includes/... (#11349)
* zh-trans: add /includes/...

zh-trans: add /includes/...

zh-trans: add /includes/...

zh-trans: add /includes/...

zh-trans: add /includes/...

* Update federation-content-moved.md

* Update federation-content-moved.md
2018-11-30 15:49:15 +08:00
chenrui f28542225d zh-trans: add docs/reference/federation/_index.html (#11388)
* zh-trans: add docs/reference/federation/_index.html

* Correct the translation into content/zh/ folder
2018-11-29 22:16:21 -08:00
MJ-CJM 5f809f7044 zh-trans: /docs/tasks/_index.md (#11303)
* configure-aggregation-layer.md

* configure-aggregation-layer.md

* configure-aggregation-layer.md

* configure-aggregation-layer.md

* Update configure-aggregation-layer.md

* .

* .

* .

* .

* .

* .

* .

* .

* configure-aggregation-layer.md

* .

* .

* Update configure-aggregation-layer.md
2018-11-29 18:18:18 -08:00
chenrui 46c56dad7b add rui to sig-docs-zh team (#11383)
* add rui to sig-docs-zh team

* Update as alphabetical order
2018-11-28 22:24:48 -08:00
Linus Lee a1ff75bc5d zh_trans: Fix Folder name error (#11385)
* zh_trans: Fix the page: docs/concepts/architecture/cloud-controller/ display issues

* zh_trans: Fix the page: docs/concepts/architecture/cloud-controller/ display issues

* zh_trans: Fix the page: docs/concepts/architecture/cloud-controller/ display issues

* zh_trans: Fix Folder name error
2018-11-28 19:08:04 -08:00
AdamDang 5786eab900 zh-trans: add dynamic-volume-provisioning.md (#11363)
* zh-trans: add dynamic-volume-provisioning.md

zh-trans: add dynamic-volume-provisioning.md

* Update dynamic-volume-provisioning.md
2018-11-28 17:22:46 -08:00
Li Yuan 789619563a zh-trans: /docs/contribute/advanced.md (#11358)
Signed-off-by: 李元10098251 <li.yuan4@zte.com.cn>

zh-trans: /docs/contribute/advanced.md; Fix some errors

Signed-off-by: 李元10098251 <li.yuan4@zte.com.cn>

zh-trans: /docs/contribute/advanced.md; Fix some errors 2

Signed-off-by: 李元10098251 <li.yuan4@zte.com.cn>
2018-11-28 17:21:07 -08:00
Linus Lee 66810a387f zh_trans: docs/reference/glossary/quantity.md (#11379)
* zh_trans: docs/reference/glossary/quantity.md

* zh_trans: docs/reference/glossary/quantity.md

* zh_trans: docs/reference/glossary/quantity.md

* zh_trans: docs/reference/glossary/quantity.md

* Update quantity.md
2018-11-29 09:16:25 +08:00
Linus Lee dd7cea99b3 Fix docs/reference/glossary/quantity.md page showing exception (#11374)
* Update quantity.md

* Update

* Update quantity.md

* Update quantity.md

* fix netlify errors
2018-11-28 05:56:49 -08:00
Xiaolong He 27fbb317e2 Merge pull request #11376 from Mr-Linus/patch-2
zh-trans: Fix the quantity.md file showing the problem
2018-11-28 21:28:18 +08:00
Funky 56b46a3dfa zh_trans: Fix the netlify errors 2018-11-28 20:54:07 +08:00
Linus Lee 5839bcf9f0 Update quantity.md 2018-11-28 20:19:27 +08:00
Linus Lee 1e591633eb Fix the quantity.md file showing the problem 2018-11-28 20:18:32 +08:00
Wang Bing 49628d5683 zh-trans: /docs/tutorials/k8s101.md (#11183) 2018-11-28 01:10:15 -08:00
AdamDang 6e2cc1706f zh-trans: add secret.md (#11359)
* zh-trans: add secret.md

zh-trans: add secret.md

* Update secret.md
2018-11-27 22:43:42 -08:00
AdamDang 304bd4a0bf zh-trans: add uid.md (#11360)
zh-trans: add uid.md
2018-11-27 22:42:03 -08:00
AdamDang 6eacd83023 zh-trans: add service-broker.md (#11361)
* zh-trans: add service-broker.md

zh-trans: add service-broker.md

* Update service-broker.md
2018-11-27 21:51:16 -08:00
AdamDang 001752605a zh-trans: add resource-quota.md (#11369)
* zh-trans: add resource-quota.md

zh-trans: add resource-quota.md

* Update resource-quota.md

* Update resource-quota.md
2018-11-27 21:25:06 -08:00
SataQiu 036ef0e3d0 zh-trans: add zh/docs/concepts/cluster-administration/_index.md (#11357)
zh-trans: add zh/docs/concepts/containers/_index.md
2018-11-27 19:50:40 -08:00
SataQiu 3a36aa1a3f zh-trans: add zh/docs/concepts/configuration/_index.md (#11354) 2018-11-27 19:06:57 -08:00
jiajie 63dc6f48cc zh-trans content/en/docs/reference/access-authn-authz/webhook.md (#11351)
* zh-trans content/en/docs/reference/access-authn-authz/webhook.md

* Update webhook.md

* Update webhook.md
2018-11-27 18:59:41 +08:00
AdamDang 32ceb68b7a zh-trans: add cloud-controller-manager.md (#11337)
* zh-trans: add cloud-controller-manager.md

zh-trans: add cloud-controller-manager.md

* Update cloud-controller-manager.md

* Update cloud-controller-manager.md

* Update cloud-controller-manager.md

* Update cloud-controller-manager.md

* Update cloud-controller-manager.md
2018-11-27 01:50:00 -08:00
congfairy 8f4cdf6279 zh_trans:glossary.md (#11168)
* zh_trans:glossary.md

* Update glossary.md

* Update glossary.md

* Update glossary.md

* Update glossary.md

* Update glossary.md

* Update glossary.md

* Update glossary.md
2018-11-27 13:28:41 +08:00
chenrui ef744a1a87 Zh trans/includes/index.md (#11324)
* zh-trans: add includes/index.md

* zh-trans: add resource files
2018-11-26 21:16:19 -08:00
AdamDang 0615c7e4a4 zh-trans: add image.md (#11321)
未解决引入英文原文导致的冲突,重新创建PR:#11291
2018-11-26 21:07:55 -08:00
AdamDang a97f2302cd zh-trans: add kops.md (#11322)
* zh-trans: add kops.md

未解决引入英文原文导致的冲突,重新创建PR:#11293

* Update kops.md
2018-11-27 13:04:36 +08:00
AdamDang bd451d82fe zh-trans: add kube-scheduler.md (#11325)
* zh-trans: add kube-scheduler.md

未解决引入英文原文(#11311)导致的冲突,重新创建PR:#11298

* Update kube-scheduler.md
2018-11-27 13:03:09 +08:00
Liuduii a72d50148f zh-trans: add user-guide-migration-notice.md (#11343)
* zh-trans: add user-guide-migration-notice.md

* Update user-guide-migration-notice.md
2018-11-27 12:51:19 +08:00
Linus Lee 6f9e464bcc zh_trans: Fix the page: docs/concepts/architecture/cloud-controller/ display issues (#11344)
* zh_trans: Fix the page: docs/concepts/architecture/cloud-controller/ display issues

* zh_trans: Fix the page: docs/concepts/architecture/cloud-controller/ display issues

* zh_trans: Fix the page: docs/concepts/architecture/cloud-controller/ display issues
2018-11-26 20:50:13 -08:00
AdamDang a9bc1689f9 zh-trans: add kubernetes-api.md (#11323)
未解决引入英文原文导致的冲突,重新创建PR:#11297
2018-11-26 20:48:30 -08:00
AdamDang 1994c9d44e zh-trans: add docker.md (#11320)
* zh-trans: add docker.md

未解决引入英文原文导致的冲突,重新创建PR:#11272

* Update docker.md
2018-11-26 22:28:41 +08:00
AdamDang 7bd47b64dd zh-trans: add helm-chart.md (#11319)
未解决引入英文原文导致的冲突,重新创建PR:#11271
2018-11-26 06:25:55 -08:00
AdamDang d683c271af zh-trans: add istio.md (#11318)
为解决引入英文原文导致的冲突,重新创建PR #11270,已review。
2018-11-26 06:22:46 -08:00
AdamDang 8c862b3fcd zh-trans: add service.md (#11314)
已经review,替换英文。
原PR #11264
2018-11-26 06:13:28 -08:00
AdamDang 8d12fe9e8d zh-trans: add minikube.md (#11315)
copy了英文原文导致冲突无法解决,因此重新创建。
原PR #11268 已经review
2018-11-26 06:07:19 -08:00
AdamDang 64aeaf5030 zh-trans: add kubectl.md (#11316)
zh-trans: add kubectl.md
2018-11-26 05:57:48 -08:00
Linus Lee 941f8d1ce4 zh_Trans: Fix preview issue (#11311)
* zh_trans: kubeadm-upgrade-1-12.md

* update file

* Update _index.md

* Delete _index.md

* Update kubeadm-upgrade-1-12.md

* zh_trans: docs/reference/setup-tools/kubeadm/generated/kubeadm_config.md

* Update kubeadm_config.md

* zh_trans: fix Preview

* zh_trans: fix Preview
2018-11-26 03:08:04 -08:00
chenrui d6bdb664fb zh-trans: add broken link references (#11310)
* zh-trans: add broken link references

* zh-trans: another batch of needed references

* zh-trans: add needed community/static/cncf-code-of-conduct.md ref
2018-11-26 03:06:25 -08:00
Xiaolong He 83f3d78c90 Merge pull request #11308 from chenrui333/fix-netlify-preview-issue
zh-trans: add broken references for netlify preview
2018-11-26 18:31:41 +08:00
Rui Chen 905b149c29 zh-trans: add broken references for netlify preview 2018-11-26 18:29:55 +08:00
jiajie 9b20a72e37 zh-trans content/en/docs/reference/access-authn-authz/node.md (#11286)
* zh-trans content/en/docs/reference/access-authn-authz/node.md

zh-trans content/en/docs/reference/access-authn-authz/node.md

* Update node.md

* Update node.md
2018-11-26 12:27:29 +08:00
AdamDang 338f97135f zh-trans: add selector.md (#11265)
* zh-trans: add selector.md

zh-trans: add selector.md

* Update selector.md
2018-11-25 19:11:49 -08:00
chenrui f87f91308a zh-trans: case-studies/_index.html (#11282) 2018-11-25 19:00:08 -08:00
AdamDang 10357b38c9 zh-trans: add wg.md (#11263)
* zh-trans: add wg.md

zh-trans: add wg.md

* Update wg.md
2018-11-25 18:58:19 -08:00
chenrui f729a78aa9 zh-trans: copy-paste case-studies/soundcloud/ (#11283) 2018-11-25 18:56:28 -08:00
chenrui 6a46e11332 zh-trans: add community/_index.html (#11280)
* zh-trans: add community/_index.html

* minor updates
2018-11-26 10:55:24 +08:00
chenrui a4a4abd6b2 Zh trans/case studies copy paste (#11284)
* zh-trans: add case-studies/ebay

* zh-trans: add case-studies/ccp-games

* zh-trans: add case-studies/comcast

* zh-trans: add case-studies/concur

* zh-trans: add case-studies/goldman-sachs

* zh-trans: add case-studies/homeoffice

* zh-trans: add case-studies/jd

* zh-trans: add case-studies/liveperson

* zh-trans: add case-studies/monzo

* zh-trans: add case-studies/philips

* zh-trans: add case-studies/pokemon-go

* zh-trans: add case-studies/samsung-sds

* zh-trans: add case-studies/sap

* zh-trans: add case-studies/wepay

* zh-trans: add case-studies/yahoo-japan

* zh-trans: add case-studies/zulily
2018-11-25 18:54:39 -08:00
AdamDang f12cf5c4d4 zh-trans: add service-catalog.md (#11278)
zh-trans: add service-catalog.md
2018-11-25 04:35:18 -08:00
chenrui 3a2682a332 zh-trans: add community/code-of-conduct.md (#11275)
* zh-trans: add community/code-of-conduct.md

* Update code-of-conduct.md
2018-11-25 20:28:43 +08:00
chenrui ed49052bcd zh-trans: add community/static/README.md (#11277) 2018-11-25 03:46:20 -08:00
AdamDang aa528df594 zh-trans: add kubeadm.md (#11276)
* zh-trans: add kubeadm.md

zh-trans: add kubeadm.md

* Update kubeadm.md
2018-11-25 19:45:30 +08:00
AdamDang 507c911f4c zh-trans: add persistent-volume.md (#11257)
* zh-trans: add persistent-volume.md

zh-trans: add persistent-volume.md

* Update persistent-volume.md
2018-11-25 12:38:51 +08:00
congfairy 03773e1fba zh_trans:upstream.md (#11169)
* zh_trans:upstream.md

* Update upstream.md
2018-11-25 12:28:08 +08:00
AdamDang b93ec92552 zh-trans: add pod-security-policy.md (#11266)
* zh-trans: add pod-security-policy.md

zh-trans: add pod-security-policy.md

* Update pod-security-policy.md
2018-11-25 11:25:39 +08:00
congfairy 9d4884a7b4 zh_trans:kubeadm_upgrade_apply.md (#11144)
* zh_trans:kubeadm_upgrade_apply.md

* Update kubeadm_upgrade_apply.md
2018-11-24 19:23:40 -08:00
congfairy 08b01b32be zh_trans:kubeadm_alpha_phase_kubeconfig.md (#11146)
* zh_trans:kubeadm_alpha_phase_kubeconfig.md

* Update kubeadm_alpha_phase_kubeconfig.md

* Update kubeadm_alpha_phase_kubeconfig.md
2018-11-25 11:20:42 +08:00
Chengyu Zhang 7d5043d5d1 zh-trans: /docs/concepts/storage/volume-snapshot-classes.md (#11154)
* Create volume-snapshot-classes.md

* 换行格式修改

* Update volume-snapshot-classes.md
2018-11-25 11:15:59 +08:00
congfairy 7722045b10 zh_trans:kubeadm_alpha_phase_preflight_master.md (#11145)
* zh_trans:kubeadm_alpha_phase_preflight_master.md

* Update kubeadm_alpha_phase_preflight_master.md

* Update kubeadm_alpha_phase_preflight_master.md
2018-11-24 19:12:30 -08:00
Chengyu Zhang abda51d19c zh-trans: /docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade.md & README.md (#11174)
* Create kubeadm_upgrade.md

* Create README.md
2018-11-24 17:45:39 -08:00
chenrui 5cadc09ef4 zh-trans: add docs/reference/kubectl/jsonpath.md (#11252) 2018-11-24 17:42:21 -08:00
chenrui cc0d9d7145 zh-trans: add docs/reference/kubectl/kubectl-cmds.md (#11253) 2018-11-24 17:40:37 -08:00
AdamDang 3902ce43a0 zh-trans: add member.md (#11255)
* zh-trans: add member.md

zh-trans: add member.md

* Update member.md
2018-11-25 09:19:26 +08:00
AdamDang 6fa18d3ef8 zh-trans: add namespace.md (#11256)
* zh-trans: add namespace.md

zh-trans: add namespace.md

* Update namespace.md
2018-11-25 09:16:39 +08:00
AdamDang de154a095e zh-trans: add replication-controller.md (#11259)
* zh-trans: add replication-controller.md

zh-trans: add replication-controller.md

* Update replication-controller.md
2018-11-25 09:13:07 +08:00
AdamDang a04d723f56 zh-trans: add reviewer.md (#11260)
* zh-trans: add reviewer.md

zh-trans: add reviewer.md

* Update reviewer.md
2018-11-25 09:07:53 +08:00
Chengyu Zhang 5c4081a2fe zh-trans: /docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_kubeconfig_scheduler.md (#11166)
* Create kubeadm_alpha_phase_kubeconfig_scheduler.md

* 根据建议修改

* Update kubeadm_alpha_phase_kubeconfig_scheduler.md
2018-11-25 00:24:45 +08:00
Chengyu Zhang 17b1366aaf zh-trans: /docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_all.md (#11164)
* Create kubeadm_alpha_phase_certs_all.md

* Update kubeadm_alpha_phase_certs_all.md

* Update kubeadm_alpha_phase_certs_all.md

* Update kubeadm_alpha_phase_certs_all.md
2018-11-25 00:23:33 +08:00
Chengyu Zhang 35b21ab8bc zh-trans: /docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_certs_sa.md (#11165)
* Create kubeadm_alpha_phase_certs_sa.md

* Update kubeadm_alpha_phase_certs_sa.md
2018-11-24 08:22:51 -08:00
Linus Lee 7aa310ad3c zh_trans: docs/reference/setup-tools/kubeadm/generated/kubeadm_config.md (#11211)
* zh_trans: kubeadm-upgrade-1-12.md

* update file

* Update _index.md

* Delete _index.md

* Update kubeadm-upgrade-1-12.md

* zh_trans: docs/reference/setup-tools/kubeadm/generated/kubeadm_config.md

* Update kubeadm_config.md
2018-11-25 00:19:30 +08:00
Chengyu Zhang 4443843458 zh-trans: /docs/concepts/storage/storage-limits.md (#11148)
* Create storage-limits.md

* 修改中英文空格问题

* Update storage-limits.md

* Update storage-limits.md
2018-11-25 00:13:36 +08:00
chenrui 3e43c0db52 zh-trans: Update content/zh/docs/templates/index.md (#11222) 2018-11-24 08:11:04 -08:00
AdamDang 52d1838a0c zh-trans: add container.md (#11210)
* zh-trans: add container.md

zh-trans: add container.md

* Update container.md
2018-11-24 08:09:16 -08:00
chenrui 75aed5f9e0 zh-trans: add ./content/zh/docs/reference/kubernetes-api/index.md (#11219) 2018-11-24 08:07:24 -08:00
chenrui b41ded687b Removed the dups and did some formattings (#11153)
* Removed the dups and did some formattings

* Updates per PR review
2018-11-24 08:02:09 -08:00
AdamDang a1a3e7e015 zh-trans: add configmap.md (#11241)
* zh-trans: add configmap.md

zh-trans: add configmap.md

* Update configmap.md
2018-11-24 07:47:13 -08:00
SataQiu 1bc4f1adad zh-trans: add docs/home/supported-doc-versions.md, etc. (#11235) 2018-11-24 07:40:42 -08:00
AdamDang 040c932e88 zh-trans: add cluster.md (#11247)
* zh-trans: add cluster.md

zh-trans: add cluster.md

* Update cluster.md
2018-11-24 23:36:54 +08:00
AdamDang e0e1ddb9b7 zh-trans: add ingress.md (#11251)
* zh-trans: add ingress.md

zh-trans: add ingress.md

* Update ingress.md
2018-11-24 23:33:59 +08:00
AdamDang 4a8346af6b zh-trans: add etcd.md (#11250)
* zh-trans: add etcd.md

zh-trans: add etcd.md

* Update etcd.md
2018-11-24 23:31:42 +08:00
AdamDang da0f8817a5 zh-trans: add deployment.md (#11249)
zh-trans: add deployment.md
2018-11-24 07:31:01 -08:00
MJ-CJM f98ccebdf2 zh_trans: content/zh/docs/tasks/access-kubernetes-api/configure-aggregation-layer.md (#11176)
* configure-aggregation-layer.md

* configure-aggregation-layer.md

* configure-aggregation-layer.md

* configure-aggregation-layer.md

* Update configure-aggregation-layer.md
2018-11-24 23:27:37 +08:00
AdamDang 4518d20365 zh-trans: add annotation.md (#11233)
* zh-trans: add annotation.md

zh-trans: add annotation.md

* Update annotation.md
2018-11-24 01:44:31 -08:00
AdamDang 6c78e7ccbe zh-trans: add daemonset.md (#11230)
* zh-trans: add daemonset.md

zh-trans: add daemonset.md

* Update daemonset.md
2018-11-24 01:42:52 -08:00
AdamDang 87ac836d08 zh-trans: add cluster-architect.md (#11229)
* zh-trans: add cluster-architect.md

zh-trans: add cluster-architect.md

* Update cluster-architect.md
2018-11-24 01:41:13 -08:00
AdamDang 536f8ec046 zh-trans: add application-developer.md (#11223)
* zh-trans: add application-developer.md

zh-trans: add application-developer.md

* Update application-developer.md
2018-11-24 01:39:34 -08:00
AdamDang 5d0019e546 zh-trans: add application-architect.md (#11216)
* zh-trans: add application-architect.md

zh-trans: add application-architect.md

* Update application-architect.md
2018-11-24 01:36:25 -08:00
AdamDang 651f6c213b zx-trans: add cluster-operator.md (#11221)
* zx-trans: add cluster-operator.md

zx-trans: add cluster-operator.md

* Update cluster-operator.md

* Update cluster-operator.md

* Update cluster-operator.md
2018-11-24 17:36:00 +08:00
AdamDang 8beea31e2b zh-trans: add code-contributor.md (#11239)
zh-trans: add code-contributor.md
2018-11-24 01:15:16 -08:00
AdamDang fd147fba97 zh-trans: add certificate.md (#11238)
zh-trans: add certificate.md
2018-11-24 01:07:37 -08:00
AdamDang b0abfdb195 zh-trans: add customresourcedefinition.md (#11242)
zh-trans: add customresourcedefinition.md
2018-11-24 00:56:54 -08:00
chenrui b9f26ef5f5 zh-trans: add docs/reference/glossary/index.md (#11227) 2018-11-23 21:46:15 -08:00
AdamDang 6f3b32d07d zh-trans: add cronjob.md (#11224)
* zh-trans: add cronjob.md

zh-trans: add cronjob.md

* Update cronjob.md

* Update cronjob.md
2018-11-23 20:44:36 -08:00
chenrui e52cd96330 zh-trans: add _common-resources/ folder to content/zh/ (#11215) 2018-11-23 20:42:57 -08:00
jiajie db821b1d80 Update install-kubeadm.md (#11157) 2018-11-23 20:38:18 -08:00
AdamDang 33085a83f9 zh-trans: add cloud-provider.md (#11234)
zh-trans: add cloud-provider.md
2018-11-23 18:16:19 -08:00
chenrui e4bbef6957 zh-trans: add docs/tasks/access-kubernetes-api/_index.md (#11190) 2018-11-23 06:34:10 -08:00
Yang Li eb3bfca0f6 zh-trans: update docs/tasks/manage-gpus/scheduling-gpus.md (#11182)
Co-authored-by: Yang Li <idealhack@gmail.com>
2018-11-23 06:32:27 -08:00
AdamDang 617b11bfbd zh-trans: glossary/csi.md (#11167)
* zh-trans: glossary/csi.md

zh-trans: csi.md

* Update csi.md

* Update csi.md

* Update csi.md
2018-11-23 05:33:39 -08:00
chenrui 291d28fd89 zh-trans: add docs/getting-started-guides/_index.md (#11193) 2018-11-23 05:27:12 -08:00
AdamDang 138274f1f2 zh-trans: add cla.md (#11191)
zh-trans: add cla.md
2018-11-23 05:23:49 -08:00
AdamDang c027a64cc0 zx-trans: add controller.md (#11197)
* zx-trans: add controller.md

zx-trans: add controller.md

* Update controller.md
2018-11-23 21:18:02 +08:00
AdamDang 284af3892b zh-trans: add quota-memory-cpu-namespace.md (#11204)
zh-trans: add quota-memory-cpu-namespace.md
2018-11-23 04:53:40 -08:00
AdamDang 0fac0c8e1b zx-trans: add cpu-default-namespace.md (#11200)
zx-trans: add cpu-default-namespace.md
2018-11-23 04:52:01 -08:00
AdamDang 4fd9171295 zx-trans: add cpu-constraint-namespace.md (#11198)
zx-trans: add cpu-constraint-namespace.md
2018-11-23 04:50:18 -08:00
AdamDang f64296735f zh-trans: add memory-constraint-namespace.md (#11202)
zh-trans: add memory-constraint-namespace.md
2018-11-23 04:48:39 -08:00
AdamDang 0906132c42 zh_trans: add memory-default-namespace.md (#11203)
zh_trans: add memory-default-namespace.md
2018-11-23 04:47:00 -08:00
chenrui 6943859158 zh-trans: add docs/tasks/federation/_index.md (#11192) 2018-11-23 03:49:51 -08:00
Li Yuan fc8f9aa6c6 zh-trans: Add docs/contribute/_index.md (#11187)
Signed-off-by: 李元10098251 <li.yuan4@zte.com.cn>

zh-trans: Add docs/contribute/_index.md; Fix some details

Signed-off-by: 李元10098251 <li.yuan4@zte.com.cn>
2018-11-23 03:48:12 -08:00
AdamDang ee34bbdc08 zh-trans: add manage-resources/_index.md (#11206)
* zh-trans: add manage-resources/_index.md

zh-trans: add manage-resources/_index.md
1. master中已经merged了。
2. 修改了title格式,将译文放在顶部。

* Update _index.md
2018-11-23 19:35:19 +08:00
AdamDang 67d492c386 zh-trans: add cni.md (#11188)
* zh-trans: add cni.md

zh-trans: add cni.md

* Update cni.md
2018-11-22 22:41:04 -08:00
Linus Lee a23e065fe3 zh_trans: /docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha… (#11179)
* zh_trans: /docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_addon_coredns/

* update file
2018-11-23 14:39:56 +08:00
AdamDang 307fb53a7f zh-trans: add container-env-variables.md (#11180)
* zh-trans: add container-env-variables.md

zh-trans: add container-env-variables.md

* Update container-env-variables.md

* Update container-env-variables.md

* Update container-env-variables.md
2018-11-22 22:27:25 -08:00
AdamDang 38af9b89fd zx-trans: add statefulset.md (#11156)
* zx-trans: add statefulset.md

zx-trans: add statefulset.md

* Update statefulset.md

* Update statefulset.md

* Update statefulset.md
2018-11-22 22:25:46 -08:00
chenrui 61fd76161a zh-trans: add docs/tasks/administer-cluster/_index.md (#11189) 2018-11-22 22:19:37 -08:00
AdamDang a914c07a3a zh-trans: add coarse-parallel-processing-work-queue.md (#11160)
* zh-trans: add coarse-parallel-processing-work-queue.md

zh-trans: add coarse-parallel-processing-work-queue.md(recreate)

* Update coarse-parallel-processing-work-queue.md

* Update coarse-parallel-processing-work-queue.md

* Update coarse-parallel-processing-work-queue.md
2018-11-22 21:40:42 -08:00
chenrui e082a59e71 zh-trans: contribute style hugo shortcodes index (#11149)
* zh-trans: add contribute/style/hugo-shortcodes/index.md

* updates per pr review
2018-11-22 18:17:58 -08:00
chenrui e98fed9d66 zh-trans: Fix hugo annotations (#11185) 2018-11-22 17:36:16 -08:00
chenrui 023a6ec4bd zh-trans: add content/zh/docs/setup/independent/_index.md (#11177) 2018-11-22 17:34:37 -08:00
chenrui 1cc718f0a6 Fix hugo annotation order issue in PR #11137 (#11184) 2018-11-22 17:32:58 -08:00
chenrui d2e5be57c1 zh-trans: Fix PR #11173 comments (#11175) 2018-11-22 05:09:57 -08:00
Linus Lee 276ca7bba5 zh_trans: kubeadm-upgrade-1-12.md rebase (#11109)
* zh_trans: kubeadm-upgrade-1-12.md

* update file

* Update _index.md

* Delete _index.md

* Update kubeadm-upgrade-1-12.md
2018-11-22 03:57:12 -08:00
chenrui e269d68f31 Fix PR #11081 file format (#11178) 2018-11-22 03:39:03 -08:00
Linus Lee 8cdf83d64f zh-trans: Fix the problem of showing invalidation (#11158)
修复concept主页显示失效的问题,详见:<https://kubernetes.io/zh/docs/concepts/>
2018-11-22 03:35:54 -08:00
AdamDang 51ac99f7bd zh-trans: add storage-class.md (#11159)
zh-trans: add storage-class.md
2018-11-22 01:45:12 -08:00
Chengyu Zhang 025415689d zh-trans /docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token_all.md (#11150)
* Create kubeadm_alpha_phase_bootstrap-token_all.md

* 已根据建议更正,thx
2018-11-22 01:43:28 -08:00
chenrui 56c476d696 zh-trans: add concepts/containers/runtime-class.md (#11173) 2018-11-22 01:38:36 -08:00
jiajie 2a763c35bc zh-trans content/en/docs/reference/access-authn-authz/bootstrap-tokens.md (#11151)
* Create bootstrap-tokens.md

* Update bootstrap-tokens.md

英文改放在中文前面

* Update bootstrap-tokens.md

* Update bootstrap-tokens.md

* Update bootstrap-tokens.md

* Update bootstrap-tokens.md

* Update bootstrap-tokens.md
2018-11-22 01:24:43 -08:00
chenrui fa5524005b zh_trans: add docs/doc-contributor-tools/snippets/README.md file (#11142) 2018-11-22 00:23:40 -08:00
Yang Li 5d43a14730 zh-trans: add 20 _index.md files (#11137)
Co-authored-by: Yang Li <idealhack@gmail.com>

- zh-trans: add workloads/controllers/_index.md
- zh-trans: add update/_index.md
- zh-trans: add deploy-app/_index.md
- zh-trans: add manage-daemon/_index.md
- zh-trans: add debug-application-cluster/_index.md
- zh-trans: add clusters/_index.md
- zh-trans: add tools/_index.md
- zh-trans: add job/_index.md
- zh-trans: add network-policy-provider/_index.md
- zh-trans: add kubeadm/_index.md
- zh-trans: add turnkey/_index.md
- zh-trans: add kubernetes-api/_index.md
- zh-trans: add stateful-application/_index.md
- zh-trans: add create-cluster/_index.md
- zh-trans: add run-application/_index.md
- zh-trans: add using-api/_index.md
- zh-trans: add kubefed/_index.md
- zh-trans: add kubectl/_index.md
- zh-trans: add services/_index.md
- zh-trans: add expose/_index.md
2018-11-21 21:30:43 -08:00
Chengyu Zhang 9a7c670d84 zh-trans: /docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_phase_bootstrap-token.md (#11163)
* Create kubeadm_alpha_phase_bootstrap-token.md

* 根据建议修正
2018-11-21 19:23:40 -08:00
AdamDang 006b19025c zh-trans: add quota-pod-namespace.md (#11111)
* zh-trans: add quota-pod-namespace.md

zh-trans: add quota-pod-namespace.md

* Create quota-pod.yaml

* Create quota-pod-deployment.yaml

* Update quota-pod-namespace.md
2018-11-20 20:59:31 -08:00
AdamDang 2a42da0495 zh-trans: add storage-object-in-use-protection.md(recreation) (#11107)
* zh-trans: add storage-object-in-use-protection.md(recreation)

add storage-object-in-use-protection.md

* Update storage-object-in-use-protection.md
2018-11-20 20:57:34 -08:00
AdamDang 5aa871ac07 zh-trans: add policy/_index.md (#11085)
* zh-trans: add policy/_index.md

zh-trans: add policy/_index.md

* Update _index.md
2018-11-20 06:54:57 -08:00
AdamDang addc304897 zh-trans: add working-with-objects/_index.md (#11084)
* zh-trans: add working-with-objects/_index.md

zh-trans: add working-with-objects/_index.md

* Update _index.md
2018-11-20 06:53:09 -08:00
Qiming 9c1349a880 Merge pull request #11091 from AdamDang/patch-57
zh-trans: add apiserver-aggregation.md
2018-11-20 13:46:40 +08:00
Qiming 158f5276d8 Update apiserver-aggregation.md 2018-11-20 13:31:15 +08:00
AdamDang 399c842a61 Fixes due to review
Fixes due to review
2018-11-20 13:19:41 +08:00
jiajie bc7c568000 Create install-kubeadm.md (#11099) 2018-11-19 20:58:33 -08:00
AdamDang c6ee5f1663 zh-trans: add storage/_index.md (#11087)
zh-trans: add storage/_index.md
2018-11-19 19:16:15 -08:00
AdamDang 03c716d29b zh-trans: add services-networking/_index.md (#11086)
* zh-trans: add services-networking/_index.md

zh-trans: add services-networking/_index.md

* Update _index.md
2018-11-19 19:14:31 -08:00
congfairy 3682f12096 zh_trans:kubeadm_alpha_phase_controlplane.md (#11097)
* zh_trans:kubeadm_alpha_phase_controlplane.md

* Update kubeadm_alpha_phase_controlplane.md
2018-11-19 19:11:22 -08:00
AdamDang 94c6e6a9e3 zx-trans: add workloads/_index.md (#11088)
zx-trans: add workloads/_index.md
2018-11-19 17:57:48 -08:00
AdamDang 881a8ba7d1 zh-trans: add object-management-kubectl/_index.md (#11083)
zh-trans: add object-management-kubectl/_index.md
2018-11-19 17:56:00 -08:00
AdamDang fa536ef5ae zh-trans: add compute-storage-net/_index.md (#11079)
zh-trans: add compute-storage-net/_index.md
2018-11-19 17:54:03 -08:00
AdamDang bb45069b1a zh-trans: add extend-kubernetes/_index.md (#11077)
zh-trans: add extend-kubernetes/_index.md
2018-11-19 17:52:01 -08:00
AdamDang c7115d7a25 zh-trans: add api-extension/_index.md (#11078)
zh-trans: add api-extension/_index.md
2018-11-19 17:50:09 -08:00
AdamDang 01c6eb3625 zh-trans: add overview/_index.md (#11081)
zh-trans: add overview/_index.md
2018-11-19 17:48:16 -08:00
AdamDang 1cbaddef4a zh-trans: add apiserver-aggregation.md
zh-trans: add apiserver-aggregation.md
2018-11-19 23:15:32 +08:00
Xiaolong He 2f5f90a093 Merge pull request #11034 from YouthLab/release-1.12
kubeadm reference two file
2018-11-18 09:35:21 +08:00
Youth Tsui a0f97fe227 Fix with Reviewer's option 2018-11-17 13:03:57 +08:00
Youth Tsui 2718df3f3b kubeadm reference two file 2018-11-17 12:09:51 +08:00
Shuo Li 78a583515e zh-trans_docs_concepts_index_1.12 (#10747)
* zh-trans_docs_concepts_index_1.12

* fix some trans

* update trans
2018-11-10 20:04:00 -08:00
Tim Fogarty f002059889 Merge branch 'master' into release-1.12 2018-11-01 14:10:31 -07:00
zacharysarah 9a2e390e59 Merge branch 'master' into release-1.12 2018-10-17 19:10:16 -07:00
Juan Vallejo 01677e2710 address additional comments from pr #10259 (#10422) 2018-10-03 21:31:57 -07:00
Claudia J.Kang 2a1899a646 Add: Korean translation initialized (#10471)
Korean translation of Home, Setup, Tutorials-Kubernetes Basics, and Hello Minikube has been added.

* Initial translation of documentation home (kubernetes/kubernetes-docs-ko#9)
* 번역할 원본 파일 추가 (kubernetes/kubernetes-docs-ko#11)
* Translate tutorials/kubernetes-basics/create-cluster (kubernetes/kubernetes-docs-ko#15)
* Translate tutorials/kubernetes-basics/deploy-app in Korean (kubernetes/kubernetes-docs-ko#16)
* Translate tutorials/kubernetes-basics/expose in Korean (kubernetes/kubernetes-docs-ko#26)
* Translate tutorials/kubernetes-basics/scale in Korean (kubernetes/kubernetes-docs-ko#24)
* Fix typo from 세트 to 셋 according to 외래어 표기법 3.1.1 (kubernetes/kubernetes-docs-ko#31)
* Setup page's header and subheader translate into Korean. (kubernetes/kubernetes-docs-ko#33)
* Translated the welcome page in Korean (kubernetes/kubernetes-docs-ko#32)
* Translate tutorials/kubernetes-basics/update in Korean (kubernetes/kubernetes-docs-ko#35)
* Translate concepts/_index.md in Korean (kubernetes/kubernetes-docs-ko#30)
* Translate tutorials/kubernetes-basics/index.html in Korean (kubernetes/kubernetes-docs-ko#29)
* Translate /tutorials/hello-minikube.md in Korean (kubernetes/kubernetes-docs-ko#18)
* Translate tutorials/kubernetes-basics/explore in Korean (kubernetes/kubernetes-docs-ko#36)
* up-to-date on content/ko (kubernetes/kubernetes-docs-ko#42)
* up-to-date on _index.html (kubernetes/kubernetes-docs-ko#41)
* Translate tutorials/_index.md in Korean (kubernetes/kubernetes-docs-ko#44)
* Update translation on tutorials/hello-minikube.md (kubernetes/kubernetes-docs-ko#45)
* Setup page's header and subheader translate into Korean. (kubernetes/kubernetes-docs-ko#51)
* Update tutorials for consistency (kubernetes/kubernetes-docs-ko#48)
* up-to-date on content/ko (kubernetes/kubernetes-docs-ko#53)

Co-authored-by: June Yi <june.yi@samsung.com>
Co-authored-by: Claudia J.Kang <claudiajkang@gmail.com>
Co-authored-by: zerobig <38598117+zer0big@users.noreply.github.com>
Co-authored-by: Lawlait <sixarasi@gmail.com>
Co-authored-by: Ian Y. Choi <ianyrchoi@gmail.com>
2018-10-03 13:08:33 -07:00
Juan Vallejo 29dec80f66 update plugin documentation under docs>tasks>extend-kubectl (#10259)
* update plugin documentation under docs>tasks>extend-kubectl

* Update kubectl-plugins.md
2018-09-27 16:36:18 -07:00
Zach Arnold 36fbc627de Merge branch 'master' into release-1.12 2018-09-27 16:01:29 -07:00
Zach Arnold 140dec03d6 update 1.12 2018-09-27 12:48:35 -07:00
Zach Arnold 27d91618fe remove 1.7 2018-09-27 12:29:13 -07:00
Zach Arnold 68e189f8dd Merge branch 'release-1.12' of github.com:/kubernetes/website into release-1.12 2018-09-27 12:10:05 -07:00
Zach Arnold 70bca00a70 generated assets and docs 2018-09-27 12:09:57 -07:00
Liz c1f4b253ab Upgrade docs for v1.12 (#10344) 2018-09-25 18:58:00 -07:00
Davanum Srinivas bb34f245fd Building Multi-arch images with Manifests (#10379)
In 1.12, a variety of images used in a typical kubernetes installation
have started to using manifests to better support environments with arm
or ppc64le architectures. For example all images used with kubeadm by
default have manifests, another would be all the tests in the
conformance test suite. Here we capture the best practices for everyone
to start using manifests in their own workflows.

Change-Id: I5ba4c5fe55ffc9486a8251760f3352be4f2e1494
2018-09-25 08:43:50 -07:00
Zach Arnold 490ddd8780 generated 1.12 docs 2018-09-24 22:06:33 -07:00
Zach Arnold 9f19d20dfb Merge branch 'release-1.12' of github.com:/kubernetes/website into release-1.12 2018-09-24 21:41:32 -07:00
Zach Arnold 05e9e094eb merge upstream master 2018-09-24 21:41:24 -07:00
Chao Wang e69adeb790 update KubeletPluginsWatcher feature gate (#10205) 2018-09-24 21:30:47 -07:00
krmayankk 0b80570fdd add runasgroup in psp (#10076) 2018-09-24 21:13:32 -07:00
Jason DeTiberus 0d8929da3d kubeadm - Ha upgrade updates (#10340)
* Update HA upgrade docs

* Adds external etcd HA upgrade guide

Signed-off-by: Chuck Ha <ha.chuck@gmail.com>

* copyedit

* more edits
2018-09-24 14:17:39 -07:00
Chuck Ha a3c7224769 add missing instruction for ha guide (#10374)
Signed-off-by: Chuck Ha <ha.chuck@gmail.com>
2018-09-24 10:11:01 -07:00
Zach Arnold 9520119986 Revert "Revert "coredns default (#10200)""
This reverts commit 7f4350d6ab7fc554ee53126d3875e845d2e43d1f.
2018-09-21 10:34:40 -07:00
Zach Arnold 045cbb1f57 Revert "Revert "Add CoreDNS details to the customize DNS doc (#10228)""
This reverts commit bc23d45c09d7b83cac130fe22a0bd91e72435862.
2018-09-21 10:34:33 -07:00
Zach Arnold 5d6da7ec69 Revert "Revert "Add CoreDNS details to DNS Debug docs (#10201)""
This reverts commit bb30f4d1fcd6fba2fe6190778ead99f8010033b7.
2018-09-21 10:34:24 -07:00
Qiming 865b49aab8 kubeadm reference doc for release 1.12 (#10359) 2018-09-21 08:20:00 -07:00
Davanum Srinivas dd6a61f02f Document how to run in-tree cloud providers with kubeadm (#10357)
Change-Id: Iab6b996a830503d74a6eb0c507c5f8ca7a39235b
2018-09-20 14:36:46 -07:00
Chuck Ha ce69248d6f Update kubadm ha installation for 1.12 (#10264)
* Update kubadm ha installation for 1.12

Signed-off-by: Chuck Ha <ha.chuck@gmail.com>

* update stable version

Signed-off-by: Chuck Ha <ha.chuck@gmail.com>

* Update stacked control plane for v1.12 (#2)

* use v1alpha3

Signed-off-by: Chuck Ha <ha.chuck@gmail.com>

* more v1alpha3 (#4)

* updates

Signed-off-by: Chuck Ha <ha.chuck@gmail.com>
2018-09-20 13:46:31 -07:00
Xing Yang 035fc8847f Add clarifications for volume snapshots (#10296) 2018-09-20 13:34:53 -07:00
Mike Danese 7dbf37f2e1 TLS Bootstrap and Server Cert Rotation feature documentation (#10232)
* TokenRequest feature documentation

* line wrapping to make review not insane

* update content for GA without major refactor

* Update kubelet-tls-bootstrapping.md
2018-09-20 09:41:43 -07:00
Laszlo Janosi 1cc51309a1 Documenting SCTP support in Kubernetes (#10279)
* Documenting SCTP support in Kubernetes Service, Endpoint, NetworkPolicy and Pod

* Updates based on comments on the PR

* kubectl expose update with SCTP support

* Updated according to comments in the PR

* Revert "kubectl expose update with SCTP support"

This reverts commit 0d5a1e6720a012390cf100c83e16b4a8c0782356.
2018-09-19 22:43:49 -07:00
Lubomir I. Ivanov f84f77ca8e kubeadm: add new command line reference (#10306)
Add:
- placeholder files
- include place holder files
- include "renew" sub command
- add missing tabs for "alpha phase kubelet"
2018-09-19 22:37:17 -07:00
Jess Frazelle e7d47c4eb8 add AllowedProcMountTypes and ProcMountType to docs (#9911)
Signed-off-by: Jess Frazelle <acidburn@microsoft.com>
2018-09-19 22:27:37 -07:00
Lubomir I. Ivanov 70b991fb9f kubeadm: update authored content for 1.12 (reference docs and cluster creation) (#10348)
* kubeadm: update authored content in reference docs for 1.12

* kubeadm: add time frame in create-cluster-kubeadm for 1.12
2018-09-19 20:22:26 -07:00
Jordan Liggitt 46328a4e24 Document cross-authorizer permissions for creating RBAC roles (#10015)
* Document cross-authorizer permissions for creating RBAC roles

* Update rbac.md
2018-09-19 17:25:04 -07:00
Drinky Pool 2965ea0e4a update runtime-class.md (#10332)
* update runtime-class.md

* Update runtime-class.md
2018-09-19 17:08:02 -07:00
Qiming 0b786ff826 AdvancedAuditing is now GA (#10156)
xref: kubernetes/kubernetes#65862

`AdvancedAuditing` feature is GA in 1.12. This PR adjusts the related
docs.
2018-09-19 16:50:56 -07:00
Mike Danese 25fe403fdf TokenRequest feature documentation (#10295) 2018-09-19 16:07:04 -07:00
Lubomir I. Ivanov 5ab6ae0dd6 kubeadm: update API types documentation for 1.12 (#10283)
v1alpha2 -> v1alpha3
MasterConfiguration -> [new-api-types]
2018-09-19 14:30:32 -07:00
Ryan McGinnis b3529ee840 Merge pull request #10299 from bart0sh/PR0028-kubeadm-CRI-documentation
Add CRI installation instructions page
2018-09-19 12:42:41 -04:00
Ed Bartosh eea138591d Add CRI installation instructions page
Added cri-installation page with CRI installation instructions
Referenced it from kubeadm-init and install-kubeadm pages.
2018-09-19 12:30:42 +03:00
Zach Arnold 555bbbb307 Revert CoreDNS Docs (#10319)
* Revert "Add CoreDNS details to DNS Debug docs (#10201)"

This reverts commit 462817a674.

* Revert "Add CoreDNS details to the customize DNS doc (#10228)"

This reverts commit e7319eeb8c.

* Revert "coredns default (#10200)"

This reverts commit 698e93b441.
2018-09-17 11:37:39 -07:00
Zach Arnold 4d7691ecfc merge origin master 2018-09-17 10:33:51 -07:00
Wojciech Tyczynski 3286b00f58 Fix secrets docs in 1.12 branch (#10056)
* Fix secrets docs

* Update secret.md
2018-09-13 11:05:24 -07:00
Sandeep Rajan e7319eeb8c Add CoreDNS details to the customize DNS doc (#10228)
* Add CoreDNS details to the customize DNS doc

Rewrite the document to include more details about CoreDNS, since it's now the default from v1.12

* Address comments

* Improve doc wording

* Fix link

* Update dns-custom-nameservers.md

* Update dns-custom-nameservers.md
2018-09-13 10:44:38 -07:00
Stanislav Láznička ae83bb4938 Add "MayRunAs" value among other GroupStrategies (#9888) 2018-09-12 22:05:02 -07:00
Hemant Kumar 8ba585e8f7 Dynamic volume limit updates for 1.12 (#10211)
* add a placeholder commit

* Update docs for csi volume limits

* Update storage-limits.md
2018-09-12 21:54:41 -07:00
Wei Huang 0e2ba4797a docs update to promote ScheduleDaemonSetPods to beta (#9923) 2018-09-12 18:27:05 -07:00
Zach Arnold 90f7df61be Incremental update from master (#10278)
* fix invalid href of cloud controller manager (#10240)

* fix invalid yaml format (#10238)

* update storage-limits doc with Azure disk part (#10224)

update storage-limits doc with Azure disk part

fix comments

* Update kubelet-config-file.md (#10222)

Update link to KubeletConfiguration struct.

* fix a trivial misspelling (#10244)

* Fix cassandra-statefulset.yaml indent level (#10243)

* Mention minimum etcd versions (#10208)

Source: https://groups.google.com/d/msg/kubernetes-dev/jMPA4JzKiY4/HIx2ugvLBAAJ

* fix 404 error (#10250)

* Small verb tweak (#10190)

Present participle, ftw.

* Add AnchorJS logic for header links (#10155)

* Add AnchorJS JavaScript

* Remove existing inpage_heading logic

* Remove underline from anchor tags

* Use single icon and add touch visibility

* Use paragraph link icon for AnchorJS

* Update Sass to use code formatting in docsContent headers

* Update header size coverage to H3-H6

* fix broken link in kubefed.md (#10254)

* Update the version numbers for the X-Remote-Extra- and Impersonate-Extra- key fixes (#9827)

The fix was cherry picked into 1.11.3, 1.10.7, and 1.9.11:

https://github.com/kubernetes/kubernetes/pull/67162
https://github.com/kubernetes/kubernetes/pull/67163
https://github.com/kubernetes/kubernetes/pull/67164

* fix typo (#10168)

* fix typo

* addressing comments.

* Update setup-ha-etcd-with-kubeadm.md

* fix typos (#10252)

* fix description of contribute guide (#10253)

* describe truncate feature about advanced audit (#10236)

* describe truncate feature about advanced audit

* Update audit.md
2018-09-12 13:23:20 -07:00
Vikas Choudhary (vikasc) 19d8375c11 Bump quota configuration api version (#10217) 2018-09-12 10:02:42 -07:00
Janet Kuo dd24ece1bb TTL controller for cleaning up finished resources (#10064)
* TTL controller for cleaning up finished resources

* Address comments

* Update ttlafterfinished.md
2018-09-12 09:57:45 -07:00
Babak "Bobby" Salamat 9d3671dea7 Add documentation for Scheduler performance tuning (#10048)
* Add documentation for Scheduler performance tuning

* Update scheduler-perf-tuning.md
2018-09-11 21:48:32 -07:00
Tim Allclair (St. Clair) 57f4b2da60 RuntimeClass documentation (#10102)
* RuntimeClass documentation

* Update runtime-class.md
2018-09-11 21:36:23 -07:00
Jan Šafránek 9a7a295d92 MountPropagation is now GA (#10090) 2018-09-11 21:25:21 -07:00
CaoShuFeng 2673795273 Audit 1.12 doc (#9953)
* audit 1.12 document

* remove legacy audit feature

https://github.com/kubernetes/kubernetes/pull/65862

* update feature gate doc
2018-09-11 21:19:08 -07:00
Solly Ross 93c0bb9347 HPA Algorithm Information Improvements (#9780)
* Update HPA docs with more algorithm details

The HPA docs pointed to an out-of-date document for information on the
algorithm details, which users were finding confusing.  This sticks a
section on the algorithm in the HPA docs instead, documenting both
general behavior and corner cases.

* Add glossary info, HPA docs on quantities

People often ask about the quantity notation when working with the
metrics APIs, so this adds a glossary entry on quantities (since they're
used elsewhere in the system), and a short explantation in the HPA walkthough.

* Information about HPA readiness and stabilization

This adds information about the new changes to HPA readiness and
stabilization from kubernetes/features#591, and other minor changes that
landed in Kubernetes 1.12.

* Update horizontal-pod-autoscale.md
2018-09-11 21:17:42 -07:00
Michelle Au e1e655507d Update docs with topology aware dynamic provisioning (#9939)
* Document topology aware volume binding feature

* update for readability

* Update storage-classes.md

* comma splice

* don't abbreviate
2018-09-11 10:55:30 -07:00
Chris O'Haver 462817a674 Add CoreDNS details to DNS Debug docs (#10201)
* add coredns details

* address nits, add query logging section
2018-09-10 06:22:52 -07:00
Lee Verberne c98cd68630 Promote ShareProcessNamespace to beta in docs (#9996) 2018-09-10 06:16:53 -07:00
Chris O'Haver 698e93b441 coredns default (#10200) 2018-09-10 06:13:52 -07:00
Alexandr Tcherniakhovski 66eaff007c Change feature state for kms provider to beta. (#10230)
KMS Provider will be graduating to beta in v1.12, reflecting this change on the website.
2018-09-10 05:24:52 -07:00
Qiming b3bc49ede6 TokenRequest and TokenRequestProjection now beta (#10161)
xref: kubernetes/kubernetes#67349
2018-09-10 05:19:53 -07:00
Babak "Bobby" Salamat fe96f3b980 Update ResourceQuota per PriorityClass state for 1.12 (#10229) 2018-09-09 20:12:36 -07:00
Qiming dc9d71ac3e Say bye to DynamicProvisioningScheduling (#10157)
The mentioned feature gate is now collapsed into `VolumeScheduling`.

xref: kubernetes/kubernetes#67432
2018-09-09 20:03:00 -07:00
Rostislav M. Georgiev d6e30e19a8 kubeadm-init: Update the offline support section (#10062)
The update includes the following things (in mind with Kubernetes 1.12):

- Remove the 1.8 image versions
- Add the 1.10 image versions that were missing until now
- Include a comment for the missing arch suffixes in 1.12

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2018-09-09 19:46:41 -07:00
Jenny Buckley d494a440bd Add dry-run to api-concepts (#10033) 2018-09-09 19:38:40 -07:00
Xing Yang 68de2e3ec1 Add Documentation for Snapshot Feature (#9948)
* Add documentation for snapshot feature

* Update volume-snapshots.md
2018-09-09 19:33:40 -07:00
Davanum Srinivas d5b92b42b1 Remove --cadvisor-port - has been deprecated since v1.10 (#10023)
Change-Id: Id2a685473a243aef492a98ff450759f39e362557
2018-09-09 19:29:40 -07:00
Zach Arnold 55f8e53747 Merge remote-tracking branch 'origin' into release-1.12 2018-09-09 11:53:03 -05:00
Minhan Xia 28eb1cfa51 adjust docs for pod ready++ (#10049) 2018-09-05 23:54:01 -07:00
Solly Ross 9d84a497b4 HPA Specificity Improvements (#8757)
Updated the HPA docs to reference the `autoscaling/v2beta2` API version,
and added documentation about the new fields.
2018-09-04 15:43:53 -07:00
Wei Huang 183d214c84 docs update to promote TaintNodesByCondition to beta (#9626) 2018-09-04 10:09:28 -07:00
Zach Arnold 7baa17d816 Merge branch 'release-1.12' of github.com:/kubernetes/website into release-1.12 2018-09-04 10:07:06 -07:00
Zach Arnold 21a1bebe7e merge master 2018-09-04 10:06:42 -07:00
Juan Vallejo 9f823c1113 add plugin docs and examples (#10053) 2018-08-28 14:17:52 -07:00
Nikhita Raghunath 1ea8f96dbc Update docs for fields allowed at root of CRD schema (#9973) 2018-08-21 11:57:46 -07:00
790 changed files with 87023 additions and 2310 deletions
+6
View File
@@ -166,19 +166,25 @@ aliases:
- lichuqiang
- lucperkins
- markthink
- SataQiu
- tengqm
- xiangpengzhao
- xichengliudui
- zacharysarah
- zhangxiaoyu-zidif
- bradamant3 # Temporary for 1.13 release
- jimangel # Temporary for 1.13 release
- tfogo # Temporary for 1.13 release
sig-docs-zh-reviews: #Team Chinese docs reviews; GH: sig-docs-zh-reviews
- AdamDang
- chenrui333
- idealhack
- markthink
- Mr-Linus
- SataQiu
- tengqm
- xiangpengzhao
- xichengliudui
- zhangxiaoyu-zidif
- pigletfly
sig-federation: #Team: Federation; e.g. Federated Clusters
+29 -30
View File
@@ -63,23 +63,23 @@ time_format_blog = "Monday, January 02, 2006"
description = "Production-Grade Container Orchestration"
showedit = true
latest = "v1.12"
latest = "v1.16"
fullversion = "v1.12.0"
fullversion = "v1.12.10"
version = "v1.12"
githubbranch = "master"
docsbranch = "master"
deprecated = false
githubbranch = "v1.12.10"
docsbranch = "release-1.12"
deprecated = true
currentUrl = "https://kubernetes.io/docs/home/"
nextUrl = "https://kubernetes-io-vnext-staging.netlify.com/"
githubWebsiteRepo = "github.com/kubernetes/website"
githubWebsiteRaw = "raw.githubusercontent.com/kubernetes/website"
[[params.versions]]
fullversion = "v1.12.0"
version = "v1.12"
githubbranch = "v1.12.0"
docsbranch = "release-1.12"
fullversion = "v1.16.0"
version = "v1.16"
githubbranch = "v1.16.0"
docsbranch = "release-1.16"
url = "https://kubernetes.io"
[params.pushAssets]
@@ -94,33 +94,32 @@ js = [
]
[[params.versions]]
fullversion = "v1.11.3"
version = "v1.11"
githubbranch = "v1.11.3"
docsbranch = "release-1.11"
url = "https://v1-11.docs.kubernetes.io"
fullversion = "v1.15.3"
version = "v1.15"
githubbranch = "v1.15.3"
docsbranch = "release-1.15"
url = "https://v1-15.docs.kubernetes.io"
[[params.versions]]
fullversion = "v1.10.3"
version = "v1.10"
githubbranch = "v1.10.3"
docsbranch = "release-1.10"
url = "https://v1-10.docs.kubernetes.io"
fullversion = "v1.14.6"
version = "v1.14"
githubbranch = "v1.14.6"
docsbranch = "release-1.14"
url = "https://v1-14.docs.kubernetes.io"
[[params.versions]]
fullversion = "v1.9.7"
version = "v1.9"
githubbranch = "v1.9.7"
docsbranch = "release-1.9"
url = "https://v1-9.docs.kubernetes.io"
fullversion = "v1.13.10"
version = "v1.13"
githubbranch = "v1.13.10"
docsbranch = "release-1.13"
url = "https://v1-13.docs.kubernetes.io"
[[params.versions]]
fullversion = "v1.8.4"
version = "v1.8"
githubbranch = "v1.8.4"
docsbranch = "release-1.8"
url = "https://v1-8.docs.kubernetes.io"
fullversion = "v1.12.10"
version = "v1.12"
githubbranch = "v1.12.10"
docsbranch = "release-1.12"
url = "https://v1-12.docs.kubernetes.io"
# Language definitions.
@@ -12,9 +12,9 @@ With the help of our growing community of 1,400 plus contributors, we issued mor
While many improvements have been contributed, we highlight key features in this series of in-depth&nbsp;posts listed below. [Follow along](https://twitter.com/kubernetesio) and see whats new and improved with storage, security and more.
**Day 1:** [5 Days of Kubernetes 1.8](https://kubernetes.io/blog/2017/10/five-days-of-kubernetes-18)
**Day 1:** [5 Days of Kubernetes v1.8](https://kubernetes.io/blog/2017/10/five-days-of-kubernetes-18)
**Day 2:** [kubeadm v1.8 Introduces Easy Upgrades for Kubernetes Clusters](https://kubernetes.io/blog/2017/10/kubeadm-v18-released)
**Day 3:** [Kubernetes v.1.8 Retrospective: It Takes a Village to Raise a Kubernetes](https://kubernetes.io/blog/2017/10/it-takes-village-to-raise-kubernetes)
**Day 3:** [Kubernetes v1.8 Retrospective: It Takes a Village to Raise a Kubernetes](https://kubernetes.io/blog/2017/10/it-takes-village-to-raise-kubernetes)
**Day 4:** [Using RBAC, Generally Available in Kubernetes v1.8](https://kubernetes.io/blog/2017/10/using-rbac-generally-available-18)
**Day 5:** [Enforcing Network Policies in Kubernetes](https://kubernetes.io/blog/2017/10/enforcing-network-policies-in-kubernetes)
@@ -252,9 +252,9 @@ The following cloud providers have implemented CCMs:
* [Digital Ocean](https://github.com/digitalocean/digitalocean-cloud-controller-manager)
* [Oracle](https://github.com/oracle/oci-cloud-controller-manager)
* [Azure](https://github.com/kubernetes/kubernetes/tree/master/pkg/cloudprovider/providers/azure)
* [GCE](https://github.com/kubernetes/kubernetes/tree/master/pkg/cloudprovider/providers/gce)
* [AWS](https://github.com/kubernetes/kubernetes/tree/master/pkg/cloudprovider/providers/aws)
* [Azure](https://github.com/kubernetes/cloud-provider-azure)
* [GCP](https://github.com/kubernetes/cloud-provider-gcp)
* [AWS](https://github.com/kubernetes/cloud-provider-aws)
## Cluster Administration
@@ -443,7 +443,7 @@ Kubelet is checking whether the mounted secret is fresh on every periodic sync.
However, it is using its local cache for getting the current value of the Secret.
The type of the cache is configurable using the (`ConfigMapAndSecretChangeDetectionStrategy` field in
[KubeletConfiguration struct](https://github.com/kubernetes/kubernetes/blob/{{< param "docsbranch" >}}/staging/src/k8s.io/kubelet/config/v1beta1/types.go)).
It can be either propagated via watch (default), ttl-based, or simply redirecting
It can be either propagated via watch, ttl-based (default), watch, or simply redirecting
all requests to directly kube-apiserver.
As a result, the total delay from the moment when the Secret is updated to the moment
when new keys are projected to the Pod can be as long as kubelet sync period + cache
@@ -2,7 +2,7 @@
reviewers:
- tallclair
- dchen1107
title: Runtime Class
title: RuntimeClass
content_template: templates/concept
weight: 20
---
@@ -15,10 +15,11 @@ This page describes the RuntimeClass resource and runtime selection mechanism.
{{% /capture %}}
{{< toc >}}
{{% capture body %}}
## Runtime Class
## RuntimeClass
RuntimeClass is an alpha feature for selecting the container runtime configuration to use to run a
pod's containers.
@@ -36,19 +37,18 @@ the RuntimeClass feature:
#### 1. Enable the RuntimeClass feature gate
See [Feature Gates](/docs/reference/command-line-tools-reference/feature-gates/) for an explanation
of enabling feature gates. The `RuntimeClass` feature gate must be enabled on apiservers _and_
kubelets.
of enabling feature gates. The RuntimeClass feature gate must be enabled on apiservers _and_ kubelets.
#### 2. Install the RuntimeClass CRD
The RuntimeClass [CustomResourceDefinition][] (CRD) can be found in the addons directory of the
Kubernetes git repo: [kubernetes/cluster/addons/runtimeclass/runtimeclass_crd.yaml][runtimeclass_crd]
The RuntimeClass [CustomResourceDefinition][/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/] (CRD) can be found in the addons directory of the
Kubernetes git repo:
https://github.com/kubernetes/kubernetes/tree/release-1.12/cluster/addons/runtimeclass/runtimeclass_crd.yaml
Install the CRD with `kubectl apply -f runtimeclass_crd.yaml`.
[CustomResourceDefinition]: /docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
[runtimeclass_crd]: https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/runtimeclass/runtimeclass_crd.yaml
[CustomResourceDefinition][/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/]
#### 3. Configure the CRI implementation on nodes
@@ -59,12 +59,12 @@ feature, not all CRIs support multiple RuntimeClasses yet.
{{< note >}}
RuntimeClass currently assumes a homogeneous node configuration across the cluster
(which means that all nodes are configured the same way with respect to container runtimes). Any heterogeneity (varying configurations) must be
managed independently of RuntimeClass through scheduling features (see [Assigning Pods to
Nodes](/docs/concepts/configuration/assign-pod-node/)).
managed independently of RuntimeClass through scheduling features
(see [Assigning Pods to Nodes](/docs/concepts/configuration/assign-pod-node/)).
{{< /note >}}
The configurations have a corresponding `RuntimeHandler` name, referenced by the RuntimeClass. The
RuntimeHandler must be a valid DNS 1123 subdomain (alpha-numeric + `-` and `.` characters).
RuntimeHandler must be a valid DNS-1123 subdomain (alpha-numeric characters, `-`, or `.`).
#### 4. Create the corresponding RuntimeClass resources
@@ -82,7 +82,7 @@ metadata:
name: myclass # The name the RuntimeClass will be referenced by
# RuntimeClass is a non-namespaced resource
spec:
runtimeHandler: myconfiguration # The name of the corresponding CRI configuration
runtimeHandler: myconfiguration # The name of the correpsonding CRI configuration
```
@@ -612,4 +612,4 @@ default cannot be changed.
Controlled via annotations on the PodSecurityPolicy. Refer to the [Sysctl documentation](
/docs/concepts/cluster-administration/sysctl-cluster/#podsecuritypolicy-annotations).
{{% /capture %}}
{{% /capture %}}
@@ -579,4 +579,4 @@ See a [detailed example for how to use resource quota](/docs/tasks/administer-cl
See [ResourceQuota design doc](https://git.k8s.io/community/contributors/design-proposals/resource-management/admission_control_resource_quota.md) for more information.
{{% /capture %}}
{{% /capture %}}
@@ -133,8 +133,8 @@ There are three main types of jobs:
- the job is complete when there is one successful pod for each value in the range 1 to `.spec.completions`.
- **not implemented yet:** Each pod passed a different index in the range 1 to `.spec.completions`.
1. Parallel Jobs with a *work queue*:
 - do not specify `.spec.completions`, default to `.spec.parallelism`.
 - the pods must coordinate with themselves or an external service to determine what each should work on.
- do not specify `.spec.completions`, default to `.spec.parallelism`.
- the pods must coordinate with themselves or an external service to determine what each should work on.
- each pod is independently capable of determining whether or not all its peers are done, thus the entire Job is done.
- when _any_ pod terminates with success, no new pods are created.
- once at least one pod has terminated with success and all pods are terminated, then the job is completed with success.
@@ -453,4 +453,4 @@ object, but complete control over what pods are created and how work is assigned
Support for creating Jobs at specified times/dates (i.e. cron) is available in Kubernetes [1.4](https://github.com/kubernetes/kubernetes/pull/11980). More information is available in the [cron job documents](/docs/concepts/workloads/controllers/cron-jobs/)
{{% /capture %}}
{{% /capture %}}
@@ -150,4 +150,4 @@ VolumeScheduling=true|false (ALPHA - default=false)
--watch-cache-sizes strings List of watch cache sizes for every resource (pods, nodes, etc.), comma separated. The individual override format: resource[.group]#size, where resource is lowercase plural (no version), group is optional, and size is a number. It takes effect when watch-cache is enabled. Some resources (replicationcontrollers, endpoints, nodes, pods, services, apiservices.apiregistration.k8s.io) have system defaults set by heuristics, others default to default-watch-cache-size
```
###### Auto generated by spf13/cobra on 24-Sep-2018
###### Auto generated by spf13/cobra on 24-Sep-2018
@@ -56,4 +56,4 @@ federation-controller-manager [flags]
--zone-name string Zone name, like example.com.
```
###### Auto generated by spf13/cobra on 24-Sep-2018
###### Auto generated by spf13/cobra on 24-Sep-2018
@@ -1,4 +1,4 @@
---
title: "Federation API"
weight: 40
---
---
@@ -29,3 +29,4 @@ intentionally lowercase), `M` (mega), `G` (giga), `T` (terra), `P` (peta),
The accepted binary (power-of-2) units are `Ki` (kibi), `Mi` (mebi), `Gi` (gibi),
`Ti` (tebi), `Pi` (pebi), `Ei` (exbi).
@@ -290,4 +290,3 @@ kubectl [flags]
* [kubectl uncordon](/docs/reference/generated/kubectl/kubectl-commands#uncordon) - Mark node as schedulable
* [kubectl version](/docs/reference/generated/kubectl/kubectl-commands#version) - Print the client and server version information
* [kubectl wait](/docs/reference/generated/kubectl/kubectl-commands#wait) - Experimental: Wait for a specific condition on one or many resources.
@@ -406,4 +406,4 @@ provisioned). For details, see the [kubeadm join](/docs/reference/setup-tools/ku
* [kubeadm join](/docs/reference/setup-tools/kubeadm/kubeadm-join/) to bootstrap a Kubernetes worker node and join it to the cluster
* [kubeadm upgrade](/docs/reference/setup-tools/kubeadm/kubeadm-upgrade/) to upgrade a Kubernetes cluster to a newer version
* [kubeadm reset](/docs/reference/setup-tools/kubeadm/kubeadm-reset/) to revert any changes made to this host by `kubeadm init` or `kubeadm join`
{{% /capture %}}
{{% /capture %}}
@@ -46,4 +46,4 @@ applied to static pod manifests.
{{% capture whatsnext %}}
* [kubeadm config](/docs/reference/setup-tools/kubeadm/kubeadm-config/) if you initialized your cluster using kubeadm v1.7.x or lower, to configure your cluster for `kubeadm upgrade`
{{% /capture %}}
{{% /capture %}}
@@ -1,105 +0,0 @@
---
title: kubefed init
notitle: true
weight: 30
---
## kubefed init
Initialize a federation control plane
### Synopsis
Init initializes a federation control plane.
Federation control plane is hosted inside a Kubernetes
cluster. The host cluster must be specified using the
--host-cluster-context flag.
```
kubefed init FEDERATION_NAME --host-cluster-context=HOST_CONTEXT [flags]
```
### Examples
```
# Initialize federation control plane for a federation
# named foo in the host cluster whose local kubeconfig
# context is bar.
kubefed init foo --host-cluster-context=bar
```
### Options
```
--api-server-advertise-address string Preferred address to advertise api server nodeport service. Valid only if 'api-server-service-type=NodePort'.
--api-server-port int32 Preferred port to use for api server nodeport service (0 for random port assignment). Valid only if 'api-server-service-type=NodePort'.
--api-server-service-type string The type of service to create for federation API server. Options: 'LoadBalancer' (default), 'NodePort'. (default "LoadBalancer")
--apiserver-arg-overrides string comma separated list of federation-apiserver arguments to override: Example "--arg1=value1,--arg2=value2..."
--apiserver-enable-basic-auth Enables HTTP Basic authentication for the federation-apiserver. Defaults to false.
--apiserver-enable-token-auth Enables token authentication for the federation-apiserver. Defaults to false.
--controllermanager-arg-overrides string comma separated list of federation-controller-manager arguments to override: Example "--arg1=value1,--arg2=value2..."
--dns-provider string Dns provider to be used for this deployment.
--dns-provider-config string Config file path on local file system for configuring DNS provider.
--dns-zone-name string DNS suffix for this federation. Federated Service DNS names are published with this suffix.
--dry-run dry run without sending commands to server.
--etcd-image string Image to use for etcd server. (default "gcr.io/google_containers/etcd:3.1.10")
--etcd-persistent-storage Use persistent volume for etcd. Defaults to 'true'. (default true)
--etcd-pv-capacity string Size of persistent volume claim to be used for etcd. (default "10Gi")
--etcd-pv-storage-class string The storage class of the persistent volume claim used for etcd. Must be provided if a default storage class is not enabled for the host cluster.
--etcd-servers string External pre-deployed etcd server to be used to store federation state.
--federation-system-namespace string Namespace in the host cluster where the federation system components are installed (default "federation-system")
-h, --help help for init
--host-cluster-context string Host cluster context
--image string Image to use for federation API server and controller manager binaries. (default "gcr.io/k8s-jkns-e2e-gce-federation/fcp-amd64:v0.0.0-master_$Format:%h$")
--image-pull-policy string PullPolicy describes a policy for if/when to pull a container image. The default pull policy is IfNotPresent which will not pull an image if it already exists. (default "IfNotPresent")
--image-pull-secrets string Provide secrets that can access the private registry.
--node-selector string comma separated list of nodeSelector arguments: Example "arg1=value1,arg2=value2..."
```
### Options inherited from parent commands
```
--alsologtostderr log to standard error as well as files
--as string Username to impersonate for the operation
--as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
--cache-dir string Default HTTP cache directory (default "/Users/jrondeau/.kube/http-cache")
--certificate-authority string Path to a cert file for the certificate authority
--client-certificate string Path to a client certificate file for TLS
--client-key string Path to a client key file for TLS
--cloud-provider-gce-lb-src-cidrs cidrs CIDRs opened in GCE firewall for LB traffic proxy & health checks (default 130.211.0.0/22,209.85.152.0/22,209.85.204.0/22,35.191.0.0/16)
--cluster string The name of the kubeconfig cluster to use
--context string The name of the kubeconfig context to use
--default-not-ready-toleration-seconds int Indicates the tolerationSeconds of the toleration for notReady:NoExecute that is added by default to every pod that does not already have such a toleration. (default 300)
--default-unreachable-toleration-seconds int Indicates the tolerationSeconds of the toleration for unreachable:NoExecute that is added by default to every pod that does not already have such a toleration. (default 300)
--insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
--ir-data-source string Data source used by InitialResources. Supported options: influxdb, gcm. (default "influxdb")
--ir-dbname string InfluxDB database name which contains metrics required by InitialResources (default "k8s")
--ir-hawkular string Hawkular configuration URL
--ir-influxdb-host string Address of InfluxDB which contains metrics required by InitialResources (default "localhost:8080/api/v1/namespaces/kube-system/services/monitoring-influxdb:api/proxy")
--ir-namespace-only Whether the estimation should be made only based on data from the same namespace.
--ir-password string Password used for connecting to InfluxDB (default "root")
--ir-percentile int Which percentile of samples should InitialResources use when estimating resources. For experiment purposes. (default 90)
--ir-user string User used for connecting to InfluxDB (default "root")
--kubeconfig string Path to the kubeconfig file to use for CLI requests.
--log-backtrace-at traceLocation when logging hits line file:N, emit a stack trace (default :0)
--log-dir string If non-empty, write log files in this directory
--log-flush-frequency duration Maximum number of seconds between log flushes (default 5s)
--logtostderr log to standard error instead of files (default true)
--match-server-version Require server version to match client version
-n, --namespace string If present, the namespace scope for this CLI request
--password string Password for basic authentication to the API server
--request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0")
-s, --server string The address and port of the Kubernetes API server
--stderrthreshold severity logs at or above this threshold go to stderr (default 2)
--token string Bearer token for authentication to the API server
--user string The name of the kubeconfig user to use
--username string Username for basic authentication to the API server
-v, --v Level log level for V logs
--vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging
```
### SEE ALSO
* [kubefed](/docs/reference/setup-tools/kubefed/kubefed/) - kubefed controls a Kubernetes Cluster Federation
###### Auto generated by spf13/cobra on 25-Mar-2018
@@ -1,99 +0,0 @@
---
title: kubefed join
notitle: true
weight: 40
---
## kubefed join
Join a cluster to a federation
### Synopsis
Join adds a cluster to a federation.
Current context is assumed to be a federation API
server. Please use the --context flag otherwise.
```
kubefed join CLUSTER_NAME --host-cluster-context=HOST_CONTEXT [flags]
```
### Examples
```
# Join a cluster to a federation by specifying the
# cluster name and the context name of the federation
# control plane's host cluster. Cluster name must be
# a valid RFC 1123 subdomain name. Cluster context
# must be specified if the cluster name is different
# than the cluster's context in the local kubeconfig.
kubefed join foo --host-cluster-context=bar
```
### Options
```
--allow-missing-template-keys If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats. (default true)
--cluster-context string Name of the cluster's context in the local kubeconfig. Defaults to cluster name if unspecified.
--dry-run If true, only print the object that would be sent, without sending it.
--federation-system-namespace string Namespace in the host cluster where the federation system components are installed (default "federation-system")
--generator string The name of the API generator to use. (default "cluster/v1beta1")
-h, --help help for join
--host-cluster-context string Host cluster context
--no-headers When using the default or custom-column output format, don't print headers (default print headers).
-o, --output string Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].
--save-config If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.
-a, --show-all When printing, show all resources (default hide terminated pods.)
--show-labels When printing, show all labels as the last column (default hide labels column)
--sort-by string If non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
--template string Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].
--validate If true, use a schema to validate the input before sending it (default true)
```
### Options inherited from parent commands
```
--alsologtostderr log to standard error as well as files
--as string Username to impersonate for the operation
--as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
--cache-dir string Default HTTP cache directory (default "/Users/jrondeau/.kube/http-cache")
--certificate-authority string Path to a cert file for the certificate authority
--client-certificate string Path to a client certificate file for TLS
--client-key string Path to a client key file for TLS
--cloud-provider-gce-lb-src-cidrs cidrs CIDRs opened in GCE firewall for LB traffic proxy & health checks (default 130.211.0.0/22,209.85.152.0/22,209.85.204.0/22,35.191.0.0/16)
--cluster string The name of the kubeconfig cluster to use
--context string The name of the kubeconfig context to use
--default-not-ready-toleration-seconds int Indicates the tolerationSeconds of the toleration for notReady:NoExecute that is added by default to every pod that does not already have such a toleration. (default 300)
--default-unreachable-toleration-seconds int Indicates the tolerationSeconds of the toleration for unreachable:NoExecute that is added by default to every pod that does not already have such a toleration. (default 300)
--insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
--ir-data-source string Data source used by InitialResources. Supported options: influxdb, gcm. (default "influxdb")
--ir-dbname string InfluxDB database name which contains metrics required by InitialResources (default "k8s")
--ir-hawkular string Hawkular configuration URL
--ir-influxdb-host string Address of InfluxDB which contains metrics required by InitialResources (default "localhost:8080/api/v1/namespaces/kube-system/services/monitoring-influxdb:api/proxy")
--ir-namespace-only Whether the estimation should be made only based on data from the same namespace.
--ir-password string Password used for connecting to InfluxDB (default "root")
--ir-percentile int Which percentile of samples should InitialResources use when estimating resources. For experiment purposes. (default 90)
--ir-user string User used for connecting to InfluxDB (default "root")
--kubeconfig string Path to the kubeconfig file to use for CLI requests.
--log-backtrace-at traceLocation when logging hits line file:N, emit a stack trace (default :0)
--log-dir string If non-empty, write log files in this directory
--log-flush-frequency duration Maximum number of seconds between log flushes (default 5s)
--logtostderr log to standard error instead of files (default true)
--match-server-version Require server version to match client version
-n, --namespace string If present, the namespace scope for this CLI request
--password string Password for basic authentication to the API server
--request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0")
-s, --server string The address and port of the Kubernetes API server
--stderrthreshold severity logs at or above this threshold go to stderr (default 2)
--token string Bearer token for authentication to the API server
--user string The name of the kubeconfig user to use
--username string Username for basic authentication to the API server
-v, --v Level log level for V logs
--vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging
```
### SEE ALSO
* [kubefed](/docs/reference/setup-tools/kubefed/kubefed/) - kubefed controls a Kubernetes Cluster Federation
###### Auto generated by spf13/cobra on 25-Mar-2018
@@ -1,77 +0,0 @@
---
title: kubefed options
notitle: true
weight: 20
---
## kubefed options
Print the list of flags inherited by all commands
### Synopsis
Print the list of flags inherited by all commands
```
kubefed options [flags]
```
### Examples
```
# Print flags inherited by all commands
kubefed options
```
### Options
```
-h, --help help for options
```
### Options inherited from parent commands
```
--alsologtostderr log to standard error as well as files
--as string Username to impersonate for the operation
--as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
--cache-dir string Default HTTP cache directory (default "/Users/jrondeau/.kube/http-cache")
--certificate-authority string Path to a cert file for the certificate authority
--client-certificate string Path to a client certificate file for TLS
--client-key string Path to a client key file for TLS
--cloud-provider-gce-lb-src-cidrs cidrs CIDRs opened in GCE firewall for LB traffic proxy & health checks (default 130.211.0.0/22,209.85.152.0/22,209.85.204.0/22,35.191.0.0/16)
--cluster string The name of the kubeconfig cluster to use
--context string The name of the kubeconfig context to use
--default-not-ready-toleration-seconds int Indicates the tolerationSeconds of the toleration for notReady:NoExecute that is added by default to every pod that does not already have such a toleration. (default 300)
--default-unreachable-toleration-seconds int Indicates the tolerationSeconds of the toleration for unreachable:NoExecute that is added by default to every pod that does not already have such a toleration. (default 300)
--insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
--ir-data-source string Data source used by InitialResources. Supported options: influxdb, gcm. (default "influxdb")
--ir-dbname string InfluxDB database name which contains metrics required by InitialResources (default "k8s")
--ir-hawkular string Hawkular configuration URL
--ir-influxdb-host string Address of InfluxDB which contains metrics required by InitialResources (default "localhost:8080/api/v1/namespaces/kube-system/services/monitoring-influxdb:api/proxy")
--ir-namespace-only Whether the estimation should be made only based on data from the same namespace.
--ir-password string Password used for connecting to InfluxDB (default "root")
--ir-percentile int Which percentile of samples should InitialResources use when estimating resources. For experiment purposes. (default 90)
--ir-user string User used for connecting to InfluxDB (default "root")
--kubeconfig string Path to the kubeconfig file to use for CLI requests.
--log-backtrace-at traceLocation when logging hits line file:N, emit a stack trace (default :0)
--log-dir string If non-empty, write log files in this directory
--log-flush-frequency duration Maximum number of seconds between log flushes (default 5s)
--logtostderr log to standard error instead of files (default true)
--match-server-version Require server version to match client version
-n, --namespace string If present, the namespace scope for this CLI request
--password string Password for basic authentication to the API server
--request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0")
-s, --server string The address and port of the Kubernetes API server
--stderrthreshold severity logs at or above this threshold go to stderr (default 2)
--token string Bearer token for authentication to the API server
--user string The name of the kubeconfig user to use
--username string Username for basic authentication to the API server
-v, --v Level log level for V logs
--vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging
```
### SEE ALSO
* [kubefed](/docs/reference/setup-tools/kubefed/kubefed/) - kubefed controls a Kubernetes Cluster Federation
###### Auto generated by spf13/cobra on 25-Mar-2018
@@ -1,86 +0,0 @@
---
title: kubefed unjoin
notitle: true
weight: 50
---
## kubefed unjoin
Unjoin a cluster from a federation
### Synopsis
Unjoin a cluster from a federation.
Current context is assumed to be a federation endpoint.
Please use the --context flag otherwise.
```
kubefed unjoin CLUSTER_NAME --host-cluster-context=HOST_CONTEXT [flags]
```
### Examples
```
# Unjoin the specified cluster from a federation.
# Federation control plane's host cluster context name
# must be specified via the --host-cluster-context flag
# to properly cleanup the credentials.
kubectl unjoin foo --host-cluster-context=bar --cluster-context=baz
```
### Options
```
--cluster-context string Name of the cluster's context in the local kubeconfig. Defaults to cluster name if unspecified.
--federation-system-namespace string Namespace in the host cluster where the federation system components are installed (default "federation-system")
-h, --help help for unjoin
--host-cluster-context string Host cluster context
```
### Options inherited from parent commands
```
--alsologtostderr log to standard error as well as files
--as string Username to impersonate for the operation
--as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
--cache-dir string Default HTTP cache directory (default "/Users/jrondeau/.kube/http-cache")
--certificate-authority string Path to a cert file for the certificate authority
--client-certificate string Path to a client certificate file for TLS
--client-key string Path to a client key file for TLS
--cloud-provider-gce-lb-src-cidrs cidrs CIDRs opened in GCE firewall for LB traffic proxy & health checks (default 130.211.0.0/22,209.85.152.0/22,209.85.204.0/22,35.191.0.0/16)
--cluster string The name of the kubeconfig cluster to use
--context string The name of the kubeconfig context to use
--default-not-ready-toleration-seconds int Indicates the tolerationSeconds of the toleration for notReady:NoExecute that is added by default to every pod that does not already have such a toleration. (default 300)
--default-unreachable-toleration-seconds int Indicates the tolerationSeconds of the toleration for unreachable:NoExecute that is added by default to every pod that does not already have such a toleration. (default 300)
--insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
--ir-data-source string Data source used by InitialResources. Supported options: influxdb, gcm. (default "influxdb")
--ir-dbname string InfluxDB database name which contains metrics required by InitialResources (default "k8s")
--ir-hawkular string Hawkular configuration URL
--ir-influxdb-host string Address of InfluxDB which contains metrics required by InitialResources (default "localhost:8080/api/v1/namespaces/kube-system/services/monitoring-influxdb:api/proxy")
--ir-namespace-only Whether the estimation should be made only based on data from the same namespace.
--ir-password string Password used for connecting to InfluxDB (default "root")
--ir-percentile int Which percentile of samples should InitialResources use when estimating resources. For experiment purposes. (default 90)
--ir-user string User used for connecting to InfluxDB (default "root")
--kubeconfig string Path to the kubeconfig file to use for CLI requests.
--log-backtrace-at traceLocation when logging hits line file:N, emit a stack trace (default :0)
--log-dir string If non-empty, write log files in this directory
--log-flush-frequency duration Maximum number of seconds between log flushes (default 5s)
--logtostderr log to standard error instead of files (default true)
--match-server-version Require server version to match client version
-n, --namespace string If present, the namespace scope for this CLI request
--password string Password for basic authentication to the API server
--request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0")
-s, --server string The address and port of the Kubernetes API server
--stderrthreshold severity logs at or above this threshold go to stderr (default 2)
--token string Bearer token for authentication to the API server
--user string The name of the kubeconfig user to use
--username string Username for basic authentication to the API server
-v, --v Level log level for V logs
--vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging
```
### SEE ALSO
* [kubefed](/docs/reference/setup-tools/kubefed/kubefed/) - kubefed controls a Kubernetes Cluster Federation
###### Auto generated by spf13/cobra on 25-Mar-2018
@@ -1,80 +0,0 @@
---
title: kubefed version
notitle: true
weight: 60
---
## kubefed version
Print the client and server version information
### Synopsis
Print the client and server version information for the current context
```
kubefed version [flags]
```
### Examples
```
# Print the client and server versions for the current context
kubefed version
```
### Options
```
--client Client version only (no server required).
-h, --help help for version
-o, --output string One of 'yaml' or 'json'.
--short Print just the version number.
```
### Options inherited from parent commands
```
--alsologtostderr log to standard error as well as files
--as string Username to impersonate for the operation
--as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
--cache-dir string Default HTTP cache directory (default "/Users/jrondeau/.kube/http-cache")
--certificate-authority string Path to a cert file for the certificate authority
--client-certificate string Path to a client certificate file for TLS
--client-key string Path to a client key file for TLS
--cloud-provider-gce-lb-src-cidrs cidrs CIDRs opened in GCE firewall for LB traffic proxy & health checks (default 130.211.0.0/22,209.85.152.0/22,209.85.204.0/22,35.191.0.0/16)
--cluster string The name of the kubeconfig cluster to use
--context string The name of the kubeconfig context to use
--default-not-ready-toleration-seconds int Indicates the tolerationSeconds of the toleration for notReady:NoExecute that is added by default to every pod that does not already have such a toleration. (default 300)
--default-unreachable-toleration-seconds int Indicates the tolerationSeconds of the toleration for unreachable:NoExecute that is added by default to every pod that does not already have such a toleration. (default 300)
--insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
--ir-data-source string Data source used by InitialResources. Supported options: influxdb, gcm. (default "influxdb")
--ir-dbname string InfluxDB database name which contains metrics required by InitialResources (default "k8s")
--ir-hawkular string Hawkular configuration URL
--ir-influxdb-host string Address of InfluxDB which contains metrics required by InitialResources (default "localhost:8080/api/v1/namespaces/kube-system/services/monitoring-influxdb:api/proxy")
--ir-namespace-only Whether the estimation should be made only based on data from the same namespace.
--ir-password string Password used for connecting to InfluxDB (default "root")
--ir-percentile int Which percentile of samples should InitialResources use when estimating resources. For experiment purposes. (default 90)
--ir-user string User used for connecting to InfluxDB (default "root")
--kubeconfig string Path to the kubeconfig file to use for CLI requests.
--log-backtrace-at traceLocation when logging hits line file:N, emit a stack trace (default :0)
--log-dir string If non-empty, write log files in this directory
--log-flush-frequency duration Maximum number of seconds between log flushes (default 5s)
--logtostderr log to standard error instead of files (default true)
--match-server-version Require server version to match client version
-n, --namespace string If present, the namespace scope for this CLI request
--password string Password for basic authentication to the API server
--request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0")
-s, --server string The address and port of the Kubernetes API server
--stderrthreshold severity logs at or above this threshold go to stderr (default 2)
--token string Bearer token for authentication to the API server
--user string The name of the kubeconfig user to use
--username string Username for basic authentication to the API server
-v, --v Level log level for V logs
--vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging
```
### SEE ALSO
* [kubefed](/docs/reference/setup-tools/kubefed/kubefed/) - kubefed controls a Kubernetes Cluster Federation
###### Auto generated by spf13/cobra on 25-Mar-2018
@@ -250,4 +250,4 @@ If you are running into difficulties with kubeadm, please consult our [troublesh
* [Using kubeadm to Create a Cluster](/docs/setup/independent/create-cluster-kubeadm/)
{{% /capture %}}
{{% /capture %}}
@@ -12,7 +12,7 @@ content_template: templates/concept
{{< feature-state for_k8s_version="v1.11" state="beta" >}}
In upcoming releases, Cloud Controller Manager will
be the preferred way to integrate Kubernetes with any cloud. This will ensure cloud providers
can develop their features independently from the core Kubernetes release cycles.**
can develop their features independently from the core Kubernetes release cycles.
{{< feature-state for_k8s_version="1.8" state="alpha" >}}
@@ -386,4 +386,4 @@ To migrate from kube-dns to CoreDNS, [a detailed blog](https://coredns.io/2018/0
A cluster administrator can also migrate using [the deploy script](https://github.com/coredns/deployment/blob/master/kubernetes/deploy.sh).
## What's next
- [Debugging DNS Resolution](/docs/tasks/administer-cluster/dns-debugging-resolution/).
- [Debugging DNS Resolution](/docs/tasks/administer-cluster/dns-debugging-resolution/).
@@ -244,4 +244,4 @@ If the upgrade fails, see whether one of the following scenarios applies:
- If `kubeadm upgrade apply` on one of the secondary masters failed, the cluster is upgraded and working, but the secondary masters are in an undefined state. You need to investigate further and join the secondaries manually.
{{% /capture %}}
{{% /capture %}}
@@ -70,7 +70,7 @@ These secrets in underlying clusters will match the federated secret.
You can update a federated secret as you would update a Kubernetes
secret; however, for a federated secret, you must send the request to
the federation apiserver instead of sending it to a specific Kubernetes cluster.
The Federation control plan ensures that whenever the federated secret is
The Federation control plane ensures that whenever the federated secret is
updated, it updates the corresponding secrets in all underlying clusters to
match it.
@@ -283,4 +283,3 @@ See the [Sample CLI Plugin](https://github.com/kubernetes/sample-cli-plugin) for
{{% /capture %}}
@@ -458,4 +458,4 @@ $ kubectl create -f https://k8s.io/examples/application/hpa/php-apache.yaml
horizontalpodautoscaler.autoscaling/php-apache created
```
{{% /capture %}}
{{% /capture %}}
@@ -279,4 +279,4 @@ APIs, cluster administrators must ensure that:
* kubectl autoscale command: [kubectl autoscale](/docs/reference/generated/kubectl/kubectl-commands/#autoscale).
* Usage example of [Horizontal Pod Autoscaler](/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/).
{{% /capture %}}
{{% /capture %}}
+12 -1
View File
@@ -166,7 +166,18 @@ k8s-apparmor-example-deny-write (enforce)
First, we need to load the profile we want to use onto our nodes. The profile we'll use simply
denies all file writes:
{{< code language="text" file="deny-write.profile" >}}
```shell
#include <tunables/global>
profile k8s-apparmor-example-deny-write flags=(attach_disconnected) {
#include <abstractions/base>
file,
# Deny all file writes.
deny /** w,
}
```
Since we don't know where the Pod will be scheduled, we'll need to load the profile on all our
nodes. For this example we'll just use SSH to install the profiles, but other approaches are
@@ -1,10 +0,0 @@
#include <tunables/global>
profile k8s-apparmor-example-deny-write flags=(attach_disconnected) {
#include <abstractions/base>
file,
# Deny all file writes.
deny /** w,
}
+95
View File
@@ -1,3 +1,97 @@
<<<<<<< HEAD
---
no_issue: true
title: 설치
main_menu: true
weight: 30
content_template: templates/concept
---
{{% capture overview %}}
Use this page to find the type of solution that best fits your needs.
Deciding where to run Kubernetes depends on what resources you have available
and how much flexibility you need. You can run Kubernetes almost anywhere,
from your laptop to VMs on a cloud provider to a rack of bare metal servers.
You can also set up a fully-managed cluster by running a single command or craft
your own customized cluster on your bare metal servers.
{{% /capture %}}
{{% capture body %}}
## Local-machine Solutions
A local-machine solution is an easy way to get started with Kubernetes. You
can create and test Kubernetes clusters without worrying about consuming cloud
resources and quotas.
You should pick a local solution if you want to:
* Try or start learning about Kubernetes
* Develop and test clusters locally
Pick a [local-machine solution](/docs/setup/pick-right-solution/#local-machine-solutions).
## Hosted Solutions
Hosted solutions are a convenient way to create and maintain Kubernetes clusters. They
manage and operate your clusters so you dont have to.
You should pick a hosted solution if you:
* Want a fully-managed solution
* Want to focus on developing your apps or services
* Dont have dedicated site reliability engineering (SRE) team but want high availability
* Don't have resources to host and monitor your clusters
Pick a [hosted solution](/docs/setup/pick-right-solution/#hosted-solutions).
## Turnkey Cloud Solutions
These solutions allow you to create Kubernetes clusters with only a few commands and
are actively developed and have active community support. They can also be hosted on
a range of Cloud IaaS providers, but they offer more freedom and flexibility in
exchange for effort.
You should pick a turnkey cloud solution if you:
* Want more control over your clusters than the hosted solutions allow
* Want to take on more operations ownership
Pick a [turnkey cloud solution](/docs/setup/pick-right-solution/#turnkey-cloud-solutions)
## Turnkey On-Premises Solutions
These solutions allow you to create Kubernetes clusters on your internal, secure,
cloud network with only a few commands.
You should pick a on-prem turnkey cloud solution if you:
* Want to deploy clusters on your private cloud network
* Have a dedicated SRE team
* Have the the resources to host and monitor your clusters
Pick an [on-prem turnkey cloud solution](/docs/setup/pick-right-solution/#on-premises-turnkey-cloud-solutions).
## Custom Solutions
Custom solutions give you the most freedom over your clusters but require the
most expertise. These solutions range from bare-metal to cloud providers on
different operating systems.
Pick a [custom solution](/docs/setup/pick-right-solution/#custom-solutions).
{{% /capture %}}
{{% capture whatsnext %}}
Go to [Picking the Right Solution](/docs/setup/pick-right-solution/) for a complete
list of solutions.
{{% /capture %}}
||||||| merged common ancestors
=======
---
no_issue: true
title: 설치
@@ -89,3 +183,4 @@ Pick a [custom solution](/docs/setup/pick-right-solution/#custom-solutions).
Go to [Picking the Right Solution](/docs/setup/pick-right-solution/) for a complete
list of solutions.
{{% /capture %}}
>>>>>>> master
@@ -1,3 +1,120 @@
<<<<<<< HEAD
---
title: 쿠버네티스 기초 학습
linkTitle: 쿠버네티스 기초 학습
weight: 5
---
<!DOCTYPE html>
<html lang="ko">
<body>
<div class="layout" id="top">
<main class="content">
<div class="row">
<div class="col-md-9">
<h2>쿠버네티스 기초</h2>
<p>이 튜토리얼에서는 쿠버네티스 클러스터 오케스트레이션 시스템의 기초를 익힐 수 있는 가이드를 제공한다. 각각의 모듈에는 쿠버네티스의 주요 기능과 개념에 대한 배경 지식이 담겨 있으며 대화형 온라인 튜토리얼도 포함되어 있다. 대화형 튜토리얼에서 간단한 클러스터와 그 클러스터 상의 <a href="/docs/concepts/overview/what-is-kubernetes/#why-containers">컨테이너화된 애플리케이션</a>을 직접 관리해볼 수 있다.</p>
<p>대화형 튜토리얼을 사용해서 다음의 내용을 배울 수 있다.</p>
<ul>
<li>컨테이너화된 애플리케이션을 클러스터에 배포하기</li>
<li>디플로이먼트를 스케일링하기</li>
<li>컨테이너화된 애플리케이션을 새로운 소프트웨어 버전으로 업데이트하기</li>
<li>컨테이너화된 애플리케이션을 디버그하기</li>
</ul>
<p>이 튜토리얼에서는 Katacoda를 사용해서 독자의 웹브라우저에서 Minikube가 동작하는 가상 터미널을 구동시킨다. Minikube는 로컬에 설치할 수 있는 작은 규모의 쿠버네티스로써 어디에서든 작동된다. 어떤 소프트웨어도 설치할 필요가 없고, 아무 것도 설정할 필요가 없다. 왜냐하면 대화형 튜토리얼이 웹브라우저 자체에서 바로 동작하기 때문이다.</p>
</div>
</div>
<br>
<div class="row">
<div class="col-md-9">
<h2>쿠버네티스가 어떤 도움이 될까?</h2>
<p>오늘날의 웹서비스에 대해서, 사용자는 애플리케이션이 24/7 가용하기를 바라고, 개발자는 하루에도 몇 번이고 새로운 버전의 애플리케이션을 배포하기를 바란다. 컨테이너화를 통해 소프트웨어를 패키지하면 애플리케이션을 다운타임 없이 쉽고 빠르게 릴리스 및 업데이트할 수 있게 되어서 이런 목표를 달성하는데 도움이 된다. 쿠버네티스는 이렇게 컨테이너화된 애플리케이션을 원하는 곳 어디에든 또 언제든 구동시킬 수 있다는 확신을 갖는데 도움을 주며, 그 애플리케이션이 작동하는데 필요한 자원과 도구를 찾는 것을 도와준다. <a href="/docs/concepts/overview/what-is-kubernetes/">쿠버네티스</a>는 구글의 컨테이너 오케스트레이션 부문의 축적된 경험으로 설계되고 커뮤니티로부터 도출된 최고의 아이디어가 결합된 운영 수준의 오픈 소스 플랫폼이다.</p>
</div>
</div>
<div id="basics-modules" class="content__modules">
<h2>쿠버네티스 기초 모듈</h2>
<div class="row">
<div class="col-md-12">
<div class="row">
<div class="col-md-4">
<div class="thumbnail">
<a href="/docs/tutorials/kubernetes-basics/cluster-intro/"><img src="./public/images/module_01.svg?v=1469803628347" alt=""></a>
<div class="caption">
<a href="cluster-intro/"><h5>1. 쿠버네티스 클러스터 생성하기</h5></a>
</div>
</div>
</div>
<div class="col-md-4">
<div class="thumbnail">
<a href="/docs/tutorials/kubernetes-basics/deploy-intro/"><img src="./public/images/module_02.svg?v=1469803628347" alt=""></a>
<div class="caption">
<a href="deploy-intro/"><h5>2. 애플리케이션 배포하기</h5></a>
</div>
</div>
</div>
<div class="col-md-4">
<div class="thumbnail">
<a href="/docs/tutorials/kubernetes-basics/explore-intro/"><img src="./public/images/module_03.svg?v=1469803628347" alt=""></a>
<div class="caption">
<a href="explore-intro/"><h5>3. 앱 조사하기</h5></a>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-12">
<div class="row">
<div class="col-md-4">
<div class="thumbnail">
<a href="/docs/tutorials/kubernetes-basics/expose-intro/"><img src="./public/images/module_04.svg?v=1469803628347" alt=""></a>
<div class="caption">
<a href="expose-intro/"><h5>4. 앱 외부로 노출하기</h5></a>
</div>
</div>
</div>
<div class="col-md-4">
<div class="thumbnail">
<a href="/docs/tutorials/kubernetes-basics/scale-intro/"><img src="./public/images/module_05.svg?v=1469803628347" alt=""></a>
<div class="caption">
<a href="scale-intro/"><h5>5. 애플리케이션 스케일링하기</h5></a>
</div>
</div>
</div>
<div class="col-md-4">
<div class="thumbnail">
<a href="/docs/tutorials/kubernetes-basics/update-intro/"><img src="./public/images/module_06.svg?v=1469803628347" alt=""></a>
<div class="caption">
<a href="update-intro/"><h5>6. 앱 업데이트하기</h5></a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/cluster-intro/" role="button">튜토리얼 시작하기<span class="btn__next"></span></a>
</div>
</div>
</main>
</div>
</body>
</html>
||||||| merged common ancestors
=======
---
title: 쿠버네티스 기초 학습
linkTitle: 쿠버네티스 기초 학습
@@ -112,3 +229,4 @@ weight: 5
</body>
</html>
>>>>>>> master
@@ -1,3 +1,47 @@
<<<<<<< HEAD
---
title: 대화형 튜토리얼 - 클러스터 생성하기
weight: 20
---
<!DOCTYPE html>
<html lang="ko">
<body>
<link href="/docs/tutorials/kubernetes-basics/public/css/styles.css" rel="stylesheet">
<link href="/docs/tutorials/kubernetes-basics/public/css/overrides.css" rel="stylesheet">
<script src="https://katacoda.com/embed.js"></script>
<div class="layout" id="top">
<main class="content katacoda-content">
<div class="katacoda">
<div class="katacoda__alert">
터미널로 상호 작용하기 위해서, 데스크탑/태블릿 버전을 사용해주세요
</div>
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/1"
data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false"
data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab"
data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;"></div>
</div>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/deploy-intro/" role="button">
모듈 2로 진행하기<span class="btn__next"></span></a>
</div>
</div>
</main>
</div>
</body>
</html>
||||||| merged common ancestors
=======
---
title: 대화형 튜토리얼 - 클러스터 생성하기
weight: 20
@@ -39,3 +83,4 @@ weight: 20
</body>
</html>
>>>>>>> master
@@ -1,3 +1,138 @@
<<<<<<< HEAD
---
title: Minikube를 사용해서 클러스터 생성하기
weight: 10
---
<!DOCTYPE html>
<html lang="ko">
<body>
<link href="/docs/tutorials/kubernetes-basics/public/css/styles.css" rel="stylesheet">
<div class="layout" id="top">
<main class="content">
<div class="row">
<div class="col-md-8">
<h3>목표</h3>
<ul>
<li>쿠버네티스 클러스터가 무엇인지 배운다.</li>
<li>Minikube가 무엇인지 배운다.</li>
<li>온라인 터미널을 사용해서 쿠버네티스 클러스터를 시작한다.</li>
</ul>
</div>
<div class="col-md-8">
<h3>쿠버네티스 클러스터</h3>
<p>
<b>쿠버네티스는 서로 연결되어서 단일 유닛처럼 동작하는 고가용성의 컴퓨터 클러스터를 상호조정한다.</b>
쿠버네티스의 추상화된 개념을 통해 개별 머신에 얽매이지 않고 컨테이너화된 애플리케이션을 클러스터에
배포할 수 있다. 이렇게 새로운 배포 모델을 활용하려면, 애플리케이션을 개별 호스트에 결합되지 않는
방식으로 패키지할 필요가 있다. 즉, 컨테이너화 해야 한다. 컨테이너화된 애플리케이션은 호스트에
매우 깊이 통합된 패키지로써 특정 머신에 직접 설치되는 예전의 배포 모델보다 유연하고 가용성이 높다.
<b>쿠버네티스는 애플리케이션 컨테이너를 클러스터에 분산시키고 스케줄링하는 일을 보다 효율적으로
자동화한다.</b> 쿠버네티스는 <a href="https://github.com/kubernetes/kubernetes">오픈소스</a>
플랫폼이고 운영 수준의 안정성을 가졌다.
</p>
<p>쿠버네티스 클러스터는 두 가지 형태의 자원으로 구성된다.
<ul>
<li><b>마스터</b>는 클러스터를 상호조정한다</li>
<li><b>노드</b>는 애플리케이션을 구동하는 작업자다</li>
</ul>
</p>
</div>
<div class="col-md-4">
<div class="content__box content__box_lined">
<h3>요약:</h3>
<ul>
<li>쿠버네티스 클러스터</li>
<li>Minikube</li>
</ul>
</div>
<div class="content__box content__box_fill">
<p><i>
쿠버네티스는 컴퓨터 클러스터에 걸쳐서 애플리케이션 컨테이너의 위치(스케줄링)와 실행을
오케스트레이션하는 운영 수준의 오픈소스 플랫폼이다.
</i></p>
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-md-8">
<h2 style="color: #3771e3;">클러스터 다이어그램</h2>
</div>
</div>
<div class="row">
<div class="col-md-8">
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_01_cluster.svg"></p>
</div>
</div>
<br>
<div class="row">
<div class="col-md-8">
<p><b>마스터는 클러스터 관리를 담당한다.</b> 마스터는 애플리케이션을 스케줄링하거나, 애플리케이션의
항상성을 유지하거나, 애플리케이션을 스케일링하고, 새로운 변경사항을 순서대로 반영하는 일과 같은
클러스터 내 모든 활동을 조율한다.</p>
<p><b>노드는 쿠버네티스 클러스터 내 워커 머신으로써 동작하는 VM 또는 물리적인 컴퓨터다.</b>
각 노드는 노드를 관리하고 쿠버네티스 마스터와 통신하는 Kubelet이라는 에이전트를 갖는다. 노드는
컨테이너 운영을 담당하는 <a href="https://www.docker.com">Docker</a> 또는
<a href="https://coreos.com/rkt">rkt</a>과 같은 툴도 갖는다. 운영 트래픽을 처리하는 쿠버네티스
클러스터는 최소 세 대의 노드를 가져야한다.</p>
</div>
<div class="col-md-4">
<div class="content__box content__box_fill">
<p><i> 마스터는 클러스터를 관리하고 노드는 구동되는 애플리케이션을 수용하는데 사용된다. </i></p>
</div>
</div>
</div>
<div class="row">
<div class="col-md-8">
<p>애플리케이션을 쿠버네티스에 배포한다는 것은, 마스터에 애플리케이션 컨테이너를 구동하라고 지시하는
것이다. 마스터는 컨테이너를 클러스터의 어느 노드에 구동시킬지를 스케줄한다. <b>노드는 마스터가
제공하는 쿠버네티스 API를 통해서 마스터와 통신한다.</b> 최종 사용자도 쿠버네티스 API를 직접
사용해서 클러스터와 상호작용할 수 있다.</p>
<p>쿠버네티스 클러스터는 물리 및 가상 머신 모두에 설치될 수 있다. 쿠버네티스 개발을 시작하려면
<a href="https://github.com/kubernetes/minikube">Minikube</a>를 사용할 수 있다. Minikube는 로컬
머신에 VM을 만들고 하나의 노드로 구성된 간단한 클러스터를 배포하는 가벼운 쿠버네티스 구현체다.
Minikube는 리눅스, 맥, 그리고 윈도우 시스템에서 구동이 가능하다. Minikube CLI는 클러스터에 대해
시작, 중지, 상태 조회 및 삭제 등의 기본적인 부트스트래핑 기능을 제공한다. 하지만, 본 튜토리얼에서는
Minikube가 미리 설치된 채로 제공되는 온라인 터미널을 사용할 것이다.</p>
<p>이제 쿠버네티스가 무엇인지 알아봤으니, 온라인 튜토리얼로 이동해서 우리의 첫 번째 클러스터를
시작해보자!</p>
</div>
</div>
<br>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/cluster-interactive/"
role="button">대화형 튜토리얼 시작하기 <span class="btn__next"></span></a>
</div>
</div>
</main>
</div>
</body>
</html>
||||||| merged common ancestors
=======
---
title: Minikube를 사용해서 클러스터 생성하기
weight: 10
@@ -130,3 +265,4 @@ weight: 10
</body>
</html>
>>>>>>> master
@@ -1,3 +1,51 @@
<<<<<<< HEAD
---
title: 대화형 튜토리얼 - 앱 배포하기
weight: 20
---
<!DOCTYPE html>
<html lang="ko">
<body>
<link href="/docs/tutorials/kubernetes-basics/public/css/styles.css" rel="stylesheet">
<link href="/docs/tutorials/kubernetes-basics/public/css/overrides.css" rel="stylesheet">
<script src="https://katacoda.com/embed.js"></script>
<div class="layout" id="top">
<main class="content katacoda-content">
<br>
<div class="katacoda">
<div class="katacoda__alert">
터미널로 상호 작용하기 위해서, 데스크탑/태블릿 버전을 사용해주세요
</div>
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/7"
data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false"
data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab"
data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
</div>
</div>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/explore-intro/" role="button">
모듈 3으로 진행하기<span class="btn__next"></span></a>
</div>
</div>
</main>
</div>
</body>
</html>
||||||| merged common ancestors
=======
---
title: 대화형 튜토리얼 - 앱 배포하기
weight: 20
@@ -43,3 +91,4 @@ weight: 20
</body>
</html>
>>>>>>> master
@@ -1,3 +1,135 @@
<<<<<<< HEAD
---
title: kubectl을 사용해서 디플로이먼트 생성하기
weight: 10
---
<!DOCTYPE html>
<html lang="ko">
<body>
<link href="/docs/tutorials/kubernetes-basics/public/css/styles.css" rel="stylesheet">
<div class="layout" id="top">
<main class="content">
<div class="row">
<div class="col-md-8">
<h3>목표</h3>
<ul>
<li>애플리케이션 디플로이먼트(Deployment)에 대해 배운다.</li>
<li>kubectl로 첫 애플리케이션을 쿠버네티스에 배포한다.</li>
</ul>
</div>
<div class="col-md-8">
<h3>쿠버네티스 디플로이먼트</h3>
<p>
일단 쿠버네티스 클러스터를 구동시키면, 그 위에 컨테이너화된 애플리케이션을 배포할 수 있다.
그러기 위해서, 쿠버네티스 <b>디플로이먼트</b> 설정을 만들어야 한다. 디플로이먼트는 쿠버네티스가
애플리케이션의 인스턴스를 어떻게 생성하고 업데이트해야 하는지를 지시한다. 디플로이먼트가 만들어지면,
쿠버네티스 마스터가 해당 애플리케이션 인스턴스를 클러스터의 개별 노드에 스케줄한다.
</p>
<p>애플리케이션 인스턴스가 생성되면, 쿠버네티스 디플로이먼트 컨트롤러는 지속적으로 이들 인스턴스를
모니터링한다. 인스턴스를 구동 중인 노드가 다운되거나 삭제되면, 디플로이먼트 컨트롤러가 인스턴스를
교체시켜준다. <b>이렇게 머신의 장애나 정비에 대응할 수 있는 자동 복구(self-healing) 메커니즘을
제공한다.</b></p>
<p>오케스트레이션 기능이 없던 환경에서는, 설치 스크립트가 애플리케이션을 시작하는데 종종 사용되곤
했지만, 머신의 장애가 발생한 경우 복구를 해주지는 않았다. 쿠버네티스 디플로이먼트는 애플리케이션
인스턴스를 생성해주고 여러 노드에 걸쳐서 지속적으로 인스턴스가 구동되도록 하는 두 가지를 모두
하기 때문에 애플리케이션 관리를 위한 접근법에서 근본적인 차이를 가져다준다.</p>
</div>
<div class="col-md-4">
<div class="content__box content__box_lined">
<h3>요약:</h3>
<ul>
<li>디플로이먼트</li>
<li>Kubectl</li>
</ul>
</div>
<div class="content__box content__box_fill">
<p><i>
디플로이먼트는 애플리케이션 인스턴스를 생성하고 업데이트하는 역할을 담당한다.
</i></p>
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-md-8">
<h2 style="color: #3771e3;">쿠버네티스에 첫 번째 애플리케이션 배포하기</h2>
</div>
</div>
<div class="row">
<div class="col-md-8">
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_02_first_app.svg"></p>
</div>
</div>
<br>
<div class="row">
<div class="col-md-8">
<p><b>Kubectl</b>이라는 쿠버네티스 CLI를 통해 디플로이먼트를 생성하고 관리할 수 있다.
Kubectl은 클러스터와 상호 작용하기 위해 쿠버네티스 API를 사용한다. 이 모듈에서는, 쿠버네티스
클러스터 상에 애플리케이션을 구동시키는 디플로이먼트를 생성하기 위해 필요한 가장 일반적인 Kubectl
명령어를 배우게 된다.</p>
<p>디플로이먼트를 생성할 때, 애플리케이션에 대한 컨테이너 이미지와 구동시키고자 하는 복제 수를 지정해야
한다. 디플로이먼트를 업데이트해서 이런 정보를 나중에 변경할 수 있다. 모듈
<a href="/docs/tutorials/kubernetes-basics/scale-intro/">5</a><a
href="/docs/tutorials/kubernetes-basics/update-intro/">6</a>의 부트캠프에서 어떻게
스케일하고 업데이트하는지에 대해 다룬다.</p>
</div>
<div class="col-md-4">
<div class="content__box content__box_fill">
<p><i> 애플리케이션이 쿠버네티스 상에 배포되려면 지원되는 컨테이너 형식 중 하나로 패키지 되어야한다.
</i></p>
</div>
</div>
</div>
<div class="row">
<div class="col-md-8">
<p>우리의 첫 번째 디플로이먼트로, Docker 컨테이너로 패키지된 <a href="https://nodejs.org">Node.js</a>
애플리케이션을 사용해보자. 소스 코드와 Dockerfile은 <a
href="https://github.com/kubernetes/website/tree/master/content/en/docs/tutorials">GitHub
저장소</a>에서 찾을 수 있다.</p>
<p>이제 디플로이먼트를 이해했으니, 온라인 튜토리얼을 통해 우리의 첫 번째 애플리케이션을 배포해보자!</p>
</div>
</div>
<br>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/deploy-interactive/"
role="button">대화형 튜토리얼 시작하기 <span class="btn__next"></span></a>
</div>
</div>
</main>
</div>
</body>
</html>
||||||| merged common ancestors
=======
---
title: kubectl을 사용해서 디플로이먼트 생성하기
weight: 10
@@ -127,3 +259,4 @@ weight: 10
</body>
</html>
>>>>>>> master
@@ -1,3 +1,51 @@
<<<<<<< HEAD
---
title: 대화형 튜토리얼 - 앱 조사하기
weight: 20
---
<!DOCTYPE html>
<html lang="ko">
<body>
<link href="/docs/tutorials/kubernetes-basics/public/css/styles.css" rel="stylesheet">
<link href="/docs/tutorials/kubernetes-basics/public/css/overrides.css" rel="stylesheet">
<script src="https://katacoda.com/embed.js"></script>
<div class="layout" id="top">
<main class="content katacoda-content">
<br>
<div class="katacoda">
<div class="katacoda__alert">
터미널과 상호작용하기 위해, 데스크탑/태블릿 버전을 이용한다.
</div>
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/4"
data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false"
data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab"
data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
</div>
</div>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/expose-intro/" role="button">모듈 4로
진행하기<span class="btn__next"></span></a>
</div>
</div>
</main>
</div>
</body>
</html>
||||||| merged common ancestors
=======
---
title: 대화형 튜토리얼 - 앱 조사하기
weight: 20
@@ -43,3 +91,4 @@ weight: 20
</body>
</html>
>>>>>>> master
@@ -1,3 +1,149 @@
<<<<<<< HEAD
---
title: 파드와 노드 보기
weight: 10
---
<!DOCTYPE html>
<html lang="ko">
<body>
<link href="/docs/tutorials/kubernetes-basics/public/css/styles.css" rel="stylesheet">
<div class="layout" id="top">
<main class="content">
<div class="row">
<div class="col-md-8">
<h3>목표</h3>
<ul>
<li>쿠버네티스 파드에 대해 배운다.</li>
<li>쿠버네티스 노드에 대해 배운다.</li>
<li>배포된 애플리케이션의 문제를 해결한다.</li>
</ul>
</div>
<div class="col-md-8">
<h2>쿠버네티스 파드</h2>
<p>모듈 <a href="/docs/tutorials/kubernetes-basics/deploy-intro/">2</a>에서 배포를 생성했을 때, 쿠버네티스는 여러분의 애플리케이션 인스턴스에 <b>파드</b>를 생성했다. 파드는 하나 또는 그 이상의 애플리케이션 컨테이너 (도커 또는 rkt와 같은)들의 그룹을 나타내는 쿠버네티스의 추상적 개념으로 일부는 컨테이너에 대한 자원을 공유한다. 그 자원은 다음을 포함한다:</p>
<ul>
<li>볼륨과 같은, 공유 스토리지</li>
<li>클러스터 IP 주소와 같은, 네트워킹</li>
<li>컨테이너 이미지 버전 또는 사용할 특정 포트와 같이, 각 컨테이너가 동작하는 방식에 대한 정보</li>
</ul>
<p>파드는 특유한 "로컬호스트" 애플리케이션 모형을 만들어. 상대적으로 밀접하게 결합되어진 상이한 애플리케이션 컨테이너들을 수용할 수 있다. 가령, 파드는 Node.js 앱과 더불어 Node.js 웹서버에 의해 발행되는 데이터를 공급하는 상이한 컨테이너를 함께 수용할 수 있다. 파드 내 컨테이너는 IP 주소, 그리고 포트 스페이스를 공유하고 항상 함께 위치하고 함께 스케쥴링 되고 동일 노드 상의 컨텍스트를 공유하면서 동작한다.</p>
<p>파드는 쿠버네티스 플랫폼 상에서 최소 단위가 된다. 우리가 쿠버네티스에서 배포를 생성할 때, 그 배포는 컨테이너 내부에서 컨테이너와 함께 파드를 생성한다. 각 파드는 스케쥴 되어진 노드에게 묶여지게 된다. 그리고 (재구동 정책에 따라) 소멸되거나 삭제되기 전까지 그 노드에 유지된다. 노드에 실패가 발생할 경우, 클러스터 내에 가용한 다른 노드들을 대상으로 스케쥴되어진다.</p>
</div>
<div class="col-md-4">
<div class="content__box content__box_lined">
<h3>요약:</h3>
<ul>
<li>파드</li>
<li>노드</li>
<li>Kubectl 주요 명령어</li>
</ul>
</div>
<div class="content__box content__box_fill">
<p><i>
파드는 하나 또는 그 이상의 애플리케이션 컨테이너 (도커 또는 rkt와 같은)들의 그룹이고 공유 스토리지 (볼륨), IP 주소 그리고 그것을 동작시키는 방식에 대한 정보를 포함하고 있다.
</i></p>
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-md-8">
<h2 style="color: #3771e3;">파드 개요</h2>
</div>
</div>
<div class="row">
<div class="col-md-8">
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_03_pods.svg"></p>
</div>
</div>
<br>
<div class="row">
<div class="col-md-8">
<h2>노드</h2>
<p>파드는 언제나 <b>노드</b> 상에서 동작한다. 노드는 쿠버네티스에서 워커 머신을 말하며 클러스터에 따라 가상 또는 물리 머신일 수 있다. 각 노드는 마스터에 의해 관리된다. 하나의 노드는 여러 개의 파드를 가질 수 있고, 쿠버네티스 마스터는 클러스터 내 노드를 통해서 파드에 대한 스케쥴링을 자동으로 처리한다.</p>
<p>모든 쿠버네티스 노드는 최소한 다음과 같이 동작한다.</p>
<ul>
<li>Kubelet은, 쿠버네티스 마스터와 노드 간 통신을 책임지는 프로세스이며, 하나의 머신 상에서 동작하는 파드와 컨테이너를 관리한다.</li>
<li>(도커, rkt)와 같은 컨테이너 런타임은 레지스트리에서 컨테이너 이미지를 가져와 묶여 있는 것을 풀고 애플리케이션을 동작시키는 책임을 맡는다. </li>
</ul>
</div>
<div class="col-md-4">
<div class="content__box content__box_fill">
<p><i> 만약 컨테이너들이 밀접하고 결합되어 있고 디스크와 같은 자원을 공유해야 한다면 오직 하나의 단일 파드에 함께 스케쥴되어져야 한다. </i></p>
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-md-8">
<h2 style="color: #3771e3;">노드 개요</h2>
</div>
</div>
<div class="row">
<div class="col-md-8">
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_03_nodes.svg"></p>
</div>
</div>
<br>
<div class="row">
<div class="col-md-8">
<h2>kubectl로 문제해결하기</h2>
<p>모듈 <a href="/docs/tutorials/kubernetes-basics/deploy-intro/">2</a>에서, 여러분은 Kubectl 커맨드-라인 인터페이스를 사용하였다. 여러분은 배포된 애플리케이션과 그 환경에 대한 정보를 얻기 위해 모듈 3에서도 계속 그것을 사용하게 될 것이다. 가장 보편적인 운용업무는 다음 kubectl 명령어를 이용해 처리될 수 있다:</p>
<ul>
<li><b>kubectl get</b> - 자원을 나열한다</li>
<li><b>kubectl describe</b> - 자원에 대해 상세한 정보를 보여준다.</li>
<li><b>kubectl logs</b> - 파드 내 컨테이너의 로그들을 출력한다</li>
<li><b>kubectl exec</b> - 파드 내 컨테이너에 대한 명령을 실행한다.</li>
</ul>
<p>언제 애플리케이션이 배포되었으며, 현재 상태가 어떠한지, 그것의 구성은 어떠한지 등을 보기 위해 이러한 명령을 이용할 수 있다.</p>
<p>이제 클러스터 컴포넌트와 커맨드 라인에 대해 알아 보았으니, 애플리케이션을 조사해 보자.</p>
</div>
<div class="col-md-4">
<div class="content__box content__box_fill">
<p><i> 노드는 쿠버네티스에 있어서 워커 머신이며 클러스터에 따라 VM 또는 물리 머신이 될 수 있다. 여러개의 파드는 하나의 노드 위에서 동작할 수 있다.</i></p>
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/explore-interactive/" role="button">대화형 튜토리얼 시작하기 <span class="btn__next"></span></a>
</div>
</div>
</main>
</div>
</body>
</html>
||||||| merged common ancestors
=======
---
title: 파드와 노드 보기
weight: 10
@@ -141,3 +287,4 @@ weight: 10
</body>
</html>
>>>>>>> master
@@ -1,3 +1,44 @@
<<<<<<< HEAD
---
title: 대화형 튜토리얼 - 앱 노출하기
weight: 20
---
<!DOCTYPE html>
<html lang="ko">
<body>
<link href="/docs/tutorials/kubernetes-basics/public/css/styles.css" rel="stylesheet">
<link href="/docs/tutorials/kubernetes-basics/public/css/overrides.css" rel="stylesheet">
<script src="https://katacoda.com/embed.js"></script>
<div class="layout" id="top">
<main class="content katacoda-content">
<div class="katacoda">
<div class="katacoda__alert">
터미널과 상호작용하기 위해, 데스크탑/태블릿 버전을 이용한다.
</div>
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/8" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
</div>
</div>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/scale-intro/" role="button">모듈 5로 진행하기<span class="btn__next"></span></a>
</div>
</div>
</main>
</div>
</body>
</html>
||||||| merged common ancestors
=======
---
title: 대화형 튜토리얼 - 앱 노출하기
weight: 20
@@ -36,3 +77,4 @@ weight: 20
</body>
</html>
>>>>>>> master
@@ -1,3 +1,120 @@
<<<<<<< HEAD
---
title: 앱 노출을 위해 서비스 이용하기
weight: 10
---
<!DOCTYPE html>
<html lang="ko">
<body>
<link href="/docs/tutorials/kubernetes-basics/public/css/styles.css" rel="stylesheet">
<div class="layout" id="top">
<main class="content">
<div class="row">
<div class="col-md-8">
<h3>목표</h3>
<ul>
<li>쿠버네티스의 서비스에 대해 배운다.</li>
<li>레이블과 레이블셀랙터 오브젝트가 어떻게 서비스와 연관되는지 이해한다.</li>
<li>서비스를 이용하여 쿠버네티스 클러스터 외부로 애플리케이션을 노출한다.</li>
</ul>
</div>
<div class="col-md-8">
<h3>쿠버네티스 서비스들에 대한 개요</h3>
<p>쿠버네티스 <a href="/docs/concepts/workloads/pods/pod-overview/">파드들</a> 은 언젠가는 죽게된다. 실제 파드들은 <a href="/docs/concepts/workloads/pods/pod-lifecycle/">생명주기</a>를 갖는다. 워커 노드가 죽으면, 노드 상에서 동작하는 파드들 또한 종료된다. <a href="/docs/user-guide/replication-controller/#what-is-a-replicationcontroller">레플리케이션 컨트롤러</a>는 여러분의 애플리케이션이 지속적으로 동작할 수 있도록 새로운 파드들의 생성을 통해 동적으로 클러스터를 미리 지정해 둔 상태로 되돌려 줄 수도 있다. 또 다른 예시로서, 3개의 복제본을 갖는 이미지 처리용 백엔드를 고려해 보자. 그 복제본들은 대체 가능한 상태이다. 그래서 프론트엔드 시스템은 하나의 파드가 소멸되어 재생성이 되더라도, 백엔드 복제본들에 의한 영향을 받아서는 안된다. 즉, 동일 노드 상의 파드들이라 할지라도, 쿠버네티스 클러스터 내 각 파드는 유일한 IP 주소를 가지며, 여러분의 애플리케이션들이 지속적으로 기능할 수 있도록 파드들 속에서 발생하는 변화에 대해 자동으로 조정해 줄 방법이 있어야 한다.</p>
<p>쿠버네티스에서 서비스는 하나의 논리적인 파드 셋과 그 파드들에 접근할 수 있는 정책을 정의하는 추상적 개념이다. 서비스는 종속적인 파드들 사이를 느슨하게 결합되도록 해준다. 서비스는 모든 쿠버네티스 오브젝트들과 같이 YAML <a href="/docs/concepts/configuration/overview/#general-config-tips">(보다 선호하는)</a> 또는 JSON을 이용하여 정의된다. 서비스가 대상으로 하는 파드 셋은 보통 <i>LabelSelector</i>에 의해 결정된다 (여러분이 왜 스펙에 <code>selector</code>가 포함되지 않은 서비스를 필요로 하게 될 수도 있는지에 대해 아래에서 확인해 보자).</p>
<p>비록 각 파드들이 고유의 IP를 갖고 있기는 하지만, 그 IP들은 서비스의 도움없이 클러스터 외부로 노출되어질 수 없다. 서비스들은 여러분의 애플리케이션들에게 트래픽이 실릴 수 있도록 허용해준다. 서비스들은 ServiceSpec에서 <code>type</code>을 지정함으로써 다양한 방식들로 노출시킬 수 있다:</p>
<ul>
<li><i>ClusterIP</i> (기본값) - 클러스터 내에서 내부 IP 에 대해 서비스를 노출해준다. 이 방식은 오직 클러스터 내에서만 서비스가 접근될 수 있도록 해준다.</li>
<li><i>NodePort</i> - NAT가 이용되는 클러스터 내에서 각각 선택된 노드들의 동일한 포트에 서비스를 노출시켜준다. <code>&lt;NodeIP&gt;:&lt;NodePort&gt;</code>를 이용하여 클러스터 외부로부터 서비스가 접근할 수 있도록 해준다. CluserIP의 상위 집합이다.</li>
<li><i>LoadBalancer</i> - (지원 가능한 경우) 기존 클라우드에서 외부용 로드밸런서를 생성하고 서비스에 고정된 공인 IP를 할당해준다. NodePort의 상위 집합이다. </li>
<li><i>ExternalName</i> - 이름으로 CNAME 레코드를 반환함으로써 임의의 이름(스펙에서 <code>externalName</code>으로 명시)을 이용하여 서비스를 노출시켜준다. 프록시는 사용되지 않는다. 이 방식은 <code>kube-dns</code> 버전 1.7 이상에서 지원 가능하다.</li>
</ul>
<p>다른 서비스 타입들에 대한 추가 정보는 <a href="/docs/tutorials/services/source-ip/">소스 IP 이용하기</a> 튜토리얼에서 확인 가능하다. 또한 <a href="/docs/concepts/services-networking/connect-applications-service">서비스들로 애플리케이션에 접속하기</a>도 참고해 보자.</p>
<p>부가적으로, spec에 <code>selector</code>를 정의하지 않고 말아넣은 서비스들의 몇 가지 유즈케이스들이 있음을 주의하자. <code>selector</code> 없이 생성된 서비스는 상응하는 엔드포인트 오브젝트들 또한 생성하지 않는다. 이로써 사용자들로 하여금 하나의 서비스를 특정한 엔드포인트에 매핑 시킬수 있도록 해준다. selector를 생략하게 되는 또 다른 가능성은 여러분이 <code>type: ExternalName</code>을 이용하겠다고 확고하게 의도하는 경우이다.</p>
</div>
<div class="col-md-4">
<div class="content__box content__box_lined">
<h3>요약</h3>
<ul>
<li>파드들을 외부 트래픽에 노출하기</li>
<li>여러 파드에 걸쳐서 트래픽 로드밸런싱 하기</li>
<li>레이블 사용하기</li>
</ul>
</div>
<div class="content__box content__box_fill">
<p><i>쿠버네티스 서비스는 논리적 파드 셋을 정의하고 외부 트래픽 노출, 로드밸런싱 그리고 그 파드들에 대한 서비스 디스커버리를 가능하게 해주는 추상 계층이다.</i></p>
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-md-8">
<h3>서비스와 레이블</h3>
</div>
</div>
<div class="row">
<div class="col-md-8">
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_04_services.svg" width="150%" height="150%"></p>
</div>
</div>
<div class="row">
<div class="col-md-8">
<p>서비스는 파드 셋에 걸쳐서 트래픽을 라우트한다. 여러분의 애플리케이션에 영향을 주지 않으면서 쿠버네티스에서 파드들이 죽게도 하고, 복제가 되게도 해주는 추상적 개념이다. 종속적인 파드들 사이에서의 디스커버리와 라우팅은 (하나의 애플리케이션에서 프로트엔드와 백엔드 컴포넌트와 같은) 쿠버네티스 서비스들에 의해 처리된다.</p>
<p>서비스는 쿠버네티스의 객체들에 대해 논리 연산을 허용해주는 기본 그룹핑 단위인, <a href="/docs/concepts/overview/working-with-objects/labels">레이블과 셀렉터</a>를 이용하여 파드 셋과 매치시킨다. 레이블은 오브젝트들에 붙여진 키/밸류 쌍으로 다양한 방식으로 이용 가능하다:</p>
<ul>
<li>개발, 테스트, 그리고 상용환경에 대한 객체들의 지정</li>
<li>임베디드된 버전 태그들</li>
<li>태그들을 이용하는 객체들에 대한 분류</li>
</ul>
</div>
<div class="col-md-4">
<div class="content__box content__box_fill">
<p><i>여러분은 kubectl 명령에<br><code>--expose</code> 옵션을 사용함으로써 디플로이먼트 생성과 동일 시점에 서비스를 생성할 수 있다.</i></p>
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-md-8">
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_04_labels.svg"></p>
</div>
</div>
<br>
<div class="row">
<div class="col-md-8">
<p>레이블은 오브젝트의 생성 시점 또는 이후 시점에 붙여질 수 있다. 언제든지 수정이 가능하다. 이제 서비스를 이용하여 우리의 애플리케이션을 노출도 시켜보고 레이블도 적용해 보자.</p>
</div>
</div>
<br>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/expose-interactive/" role="button">대화형 튜토리얼 시작<span class="btn__next"></span></a>
</div>
</div>
</main>
</div>
</body>
</html>
||||||| merged common ancestors
=======
---
title: 앱 노출을 위해 서비스 이용하기
weight: 10
@@ -112,3 +229,4 @@ weight: 10
</body>
</html>
>>>>>>> master
@@ -1,3 +1,50 @@
<<<<<<< HEAD
---
title: 대화형 튜토리얼 - 앱 스케일링하기
weight: 20
---
<!DOCTYPE html>
<html lang="ko">
<body>
<link href="/docs/tutorials/kubernetes-basics/public/css/styles.css" rel="stylesheet">
<link href="/docs/tutorials/kubernetes-basics/public/css/overrides.css" rel="stylesheet">
<script src="https://katacoda.com/embed.js"></script>
<div class="layout" id="top">
<main class="content katacoda-content">
<div class="katacoda">
<div class="katacoda__alert">
터미널로 상호 작용하기 위해서, 데스크탑/태블릿 버전을 사용해주세요
</div>
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/5"
data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false"
data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab"
data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
</div>
</div>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/update-intro/" role="button">
모듈 6으로 진행하기<span class="btn__next"></span></a>
</div>
</div>
</main>
<a class="scrolltop" href="#top"></a>
</div>
</body>
</html>
||||||| merged common ancestors
=======
---
title: 대화형 튜토리얼 - 앱 스케일링하기
weight: 20
@@ -42,3 +89,4 @@ weight: 20
</body>
</html>
>>>>>>> master
@@ -1,3 +1,142 @@
<<<<<<< HEAD
---
title: 복수의 앱 인스턴스를 구동하기
weight: 10
---
<!DOCTYPE html>
<html lang="ko">
<body>
<link href="/docs/tutorials/kubernetes-basics/public/css/styles.css" rel="stylesheet">
<div class="layout" id="top">
<main class="content">
<div class="row">
<div class="col-md-8">
<h3>목표</h3>
<ul>
<li>kubectl을 사용해서 애플리케이션을 스케일한다.</li>
</ul>
</div>
<div class="col-md-8">
<h3>애플리케이션을 스케일하기</h3>
<p>지난 모듈에서 <a
href="https://kubernetes.io/docs/concepts/workloads/controllers/deployment/"> 디플로이먼트</a>,
를 만들고 <a href="https://kubernetes.io/docs/concepts/services-networking/service/">서비스</a>
통해서 디플로이먼트를 외부에 노출시켜 봤다. 해당 디플로이먼트는 애플리케이션을 구동하기 위해 단
하나의 파드(Pod)만을 생성했었다. 트래픽이 증가하면, 사용자 요청에 맞추어 애플리케이션의 규모를
조정할 필요가 있다.</p>
<p>디플로이먼트의 복제 수를 변경하면 <b>스케일링</b>이 수행된다</p>
</div>
<div class="col-md-4">
<div class="content__box content__box_lined">
<h3>요약:</h3>
<ul>
<li>디플로이먼트 스케일링하기</li>
</ul>
</div>
<div class="content__box content__box_fill">
<p><i> kubectl run 명령에 --replicas 파라미터를 사용해서 처음부터 복수의 인스턴스로 구동되는
디플로이먼트를 만들 수도 있다 </i></p>
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-md-8">
<h2 style="color: #3771e3;">스케일링 개요</h2>
</div>
</div>
<div class="row">
<div class="col-md-1"></div>
<div class="col-md-8">
<div id="myCarousel" class="carousel" data-ride="carousel" data-interval="3000">
<ol class="carousel-indicators">
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
<li data-target="#myCarousel" data-slide-to="1"></li>
</ol>
<div class="carousel-inner" role="listbox">
<div class="item active">
<img src="/docs/tutorials/kubernetes-basics/public/images/module_05_scaling1.svg">
</div>
<div class="item">
<img src="/docs/tutorials/kubernetes-basics/public/images/module_05_scaling2.svg">
</div>
</div>
<a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
<span class="sr-only ">이전</span>
</a>
<a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
<span class="sr-only">다음</span>
</a>
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-md-8">
<p>디플로이먼트를 스케일 아웃하면 신규 파드가 생성되어서 가용한 자원이 있는 노드에 스케줄된다.
스케일링 기능은 새로 의도한 상태(desired state)까지 파드의 수를 늘린다. 쿠버네티스는
파드의 <a href="http://kubernetes.io/docs/user-guide/horizontal-pod-autoscaling/">오토스케일링</a>
도 지원하지만 본 튜토리얼에서는 다루지 않는다. 0까지 스케일링하는 것도 가능하다. 이 경우 해당
디플로이먼트의 모든 파드가 종료된다.</p>
<p>애플리케이션의 인스턴스를 복수로 구동하게 되면 트래픽을 해당 인스턴스 모두에 분산시킬 방법이
필요해진다. 서비스는 노출된 디플로이먼트의 모든 파드에 네트워크 트래픽을 분산시켜줄 통합된
로드밸런서를 갖는다. 서비스는 엔드포인트를 이용해서 구동중인 파드를 지속적으로 모니터링함으로써
가용한 파드에만 트래픽이 전달되도록 해준다.</p>
</div>
<div class="col-md-4">
<div class="content__box content__box_fill">
<p><i>디플로이먼트의 복제 수를 변경하면 스케일링이 수행된다.</i></p>
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-md-8">
<p> 일단 복수의 애플리케이션의 인스턴스가 구동 중이면, 다운타임 없이 롤링 업데이트를 할 수 있다.
다음 모듈에서 이 내용을 다루도록 하겠다. 이제 온라인 터미널로 가서 애플리케이션을 스케일해보자.</p>
</div>
</div>
<br>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/scale-interactive/"
role="button">대화형 튜토리얼 시작하기 <span class="btn__next"></span></a>
</div>
</div>
</main>
</div>
</body>
</html>
||||||| merged common ancestors
=======
---
title: 복수의 앱 인스턴스를 구동하기
weight: 10
@@ -134,3 +273,4 @@ weight: 10
</body>
</html>
>>>>>>> master
@@ -1,3 +1,43 @@
<<<<<<< HEAD
---
title: 대화형 튜토리얼 - 앱 업데이트 하기
weight: 20
---
<!DOCTYPE html>
<html lang="ko">
<body>
<link href="/docs/tutorials/kubernetes-basics/public/css/styles.css" rel="stylesheet">
<link href="/docs/tutorials/kubernetes-basics/public/css/overrides.css" rel="stylesheet">
<script src="https://katacoda.com/embed.js"></script>
<div class="layout" id="top">
<main class="content katacoda-content">
<div class="katacoda">
<div class="katacoda__alert">
터미널과 상호작용하기 위해, 데스크탑/태블릿 버전을 이용한다.
</div>
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/6" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
</div>
</div>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/" role="button">쿠버네티스 기초로 돌아가기<span class="btn__next"></span></a>
</div>
</div>
</main>
</div>
</body>
</html>
||||||| merged common ancestors
=======
---
title: 대화형 튜토리얼 - 앱 업데이트 하기
weight: 20
@@ -35,3 +75,4 @@ weight: 20
</body>
</html>
>>>>>>> master
@@ -1,3 +1,147 @@
<<<<<<< HEAD
---
title: 롤링 업데이트 수행하기
weight: 10
---
<!DOCTYPE html>
<html lang="ko">
<body>
<link href="/docs/tutorials/kubernetes-basics/public/css/styles.css" rel="stylesheet">
<div class="layout" id="top">
<main class="content">
<div class="row">
<div class="col-md-8">
<h3>목표</h3>
<ul>
<li>kubectl을 이용하여 롤링 업데이트 수행하기</li>
</ul>
</div>
<div class="col-md-8">
<h3>애플리케이션 업데이트하기</h3>
<p>사용자들은 애플리케이션이 항상 가용한 상태일 것이라 여기고 개발자들은 하루에 여러번씩 새로운 버전을
배포하도록 요구 받고있다. 쿠버네티스에서는 이것을 롤링 업데이트를 통해 이루고 있다. <b>롤링 업데이트</b>는 파드 인스턴스를 점진적으로 새로운 것으로 업데이트하여 디플로이먼트 업데이트가 서비스 중단 없이 이루어질 수 있도록 해준다.
새로운 파드는 가용한 자원을 보유한 노드로 스케줄될 것이다.</p>
<p>이전 모듈에서 여러 개의 인스턴스를 동작시키도록 애플리케이션을 스케일했다. 이것은 애플리케이션의 가용성에 영향을 미치지 않으면서
업데이트를 수행하는 것에 대한 요구이다. 기본적으로, 업데이트가 이루어지는 동안 이용 불가한 파드의 최대 개수와 생성 가능한 새로운 파드의 최대 개수는 하나다.
두 옵션은 (파드에 대한) 개수 또는 백분율로 구성될 수 있다.
쿠버네티스에서, 업데이트는 버전으로 관리되고 어떠한 디플로이먼트 업데이트라도 이전의 (안정적인) 버전으로 원복이 가능하다.</p>
</div>
<div class="col-md-4">
<div class="content__box content__box_lined">
<h3>요약:</h3>
<ul>
<li>앱 업데이트하기</li>
</ul>
</div>
<div class="content__box content__box_fill">
<p><i>롤링 업데이트는 파드 인스턴스를 점진적으로 새로운 것으로 업데이트하여 디플로이먼트 업데이트가 서비스 중단 없이 이루어질 수 있도록 해준다. </i></p>
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-md-8">
<h2 style="color: #3771e3;">롤링 업데이트 개요</h2>
</div>
</div>
<div class="row">
<div class="col-md-1"></div>
<div class="col-md-8">
<div id="myCarousel" class="carousel" data-ride="carousel" data-interval="3000">
<ol class="carousel-indicators">
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
<li data-target="#myCarousel" data-slide-to="1"></li>
<li data-target="#myCarousel" data-slide-to="2"></li>
<li data-target="#myCarousel" data-slide-to="3"></li>
</ol>
<div class="carousel-inner" role="listbox">
<div class="item active">
<img src="/docs/tutorials/kubernetes-basics/public/images/module_06_rollingupdates1.svg">
</div>
<div class="item">
<img src="/docs/tutorials/kubernetes-basics/public/images/module_06_rollingupdates2.svg">
</div>
<div class="item">
<img src="/docs/tutorials/kubernetes-basics/public/images/module_06_rollingupdates3.svg">
</div>
<div class="item">
<img src="/docs/tutorials/kubernetes-basics/public/images/module_06_rollingupdates4.svg">
</div>
</div>
<a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
<span class="sr-only ">이전</span>
</a>
<a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
<span class="sr-only">다음</span>
</a>
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-md-8">
<p>애플리케이션 스케일링과 유사하게, 디플로이먼트가 외부로 노출되면, 서비스는 업데이트가 이루어지는 동안 오직 가용한 파드에게만 트래픽을 로드밸런스 할 것이다. 가용한 파드란 애플리케이션의 사용자들에게 가용한 상태의 인스턴스를 말한다.</p>
<p>롤링 업데이트는 다음 동작들을 허용해준다:</p>
<ul>
<li>하나의 환경에서 또 다른 환경으로의 애플리케이션 프로모션 (컨테이너 이미지 업데이트를 통해)</li>
<li>이전 버전으로의 롤백</li>
<li>서비스 중단 없는 애플리케이션의 지속적인 통합과 지속적인 전달</li>
</ul>
</div>
<div class="col-md-4">
<div class="content__box content__box_fill">
<p><i>디플로이먼트가 외부로 노출되면, 서비스는 업데이트가 이루어지는 동안 오직 가용한 파드에게만 트래픽을 로드밸런스 할 것이다. </i></p>
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-md-8">
<p> 다음 대화형 튜토리얼에서, 새로운 버전으로 애플리케이션을 업데이트하고, 롤백 또한 수행해 볼 것이다.</p>
</div>
</div>
<br>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/update-interactive/"
role="button">대화형 튜토리얼 시작하기 <span class="btn__next"></span></a>
</div>
</div>
</main>
</div>
</body>
</html>
||||||| merged common ancestors
=======
---
title: 롤링 업데이트 수행하기
weight: 10
@@ -139,3 +283,4 @@ weight: 10
</body>
</html>
>>>>>>> master
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

+3
View File
@@ -0,0 +1,3 @@
---
headless: true
---
+83 -147
View File
@@ -1,153 +1,89 @@
---
title: "生产级别的容器编排系统"
abstract: "自动化的容器部署、扩展和管理"
cid: "home"
cid: home
---
<section id="oceanNodes">
<main>
<div class="image-wrapper"><img src="https://d33wubrfki0l68.cloudfront.net/1567471e7c58dc9b7d9c65dcd54e60cbf5870daa/da576/_common-resources/images/flower.png" alt="images/flower.png"></div>
<div class="content">
<h3><a href="/docs/concepts/overview/what-is-kubernetes/">Kubernetes</a> 是用于自动部署,扩展和管理容器化应用程序的开源系统。</h3>
<p>它将组成应用程序的容器组合成逻辑单元,以便于管理和服务发现,Kubernetes 构建在 <a href="http://queue.acm.org/detail.cfm?id=2898444"> Google 15 年生产环境经验</a>基础之上,并结合来自社区的最佳创意和实践。</p>
</div>
</main>
<main>
<div class="image-wrapper"><img src="https://d33wubrfki0l68.cloudfront.net/33a12d8be0bc50be4738443101616e968c7afb8f/2c641/_common-resources/images/scalable.png" alt="images/scalable.png"></div>
<div class="content">
<h4>星际尺度</h4>
<p>根据同样的原则设计,允许 Google 每周运行数十亿个容器,Kubernetes 可以在不增加您的 ops 团队的情况下进行弹性扩展。</p>
</div>
</main>
<main>
<div class="image-wrapper"><img src="https://d33wubrfki0l68.cloudfront.net/dbc75a944a909b2d52bf24ad06d485eca12af892/4fb42/_common-resources/images/blocks.png" alt="images/blocks.png"></div>
<div class="content">
<h4>永不过时</h4>
<p>无论您应用运行在本地还是运行于全球任何地域,Kubernetes 的灵活性都可以随着您的需求复杂度不断增加,还可以持续、轻松地对外提供服务。</p>
</div>
</main>
<main>
<div class="image-wrapper"><img src="https://d33wubrfki0l68.cloudfront.net/bc2e475ac5fee0199eb3f4a0879cd559e8929f3a/4a628/_common-resources/images/suitcase.png" alt="images/suitcase.png"></div>
<div class="content">
<h4>随处运行</h4>
<p>Kubernetes 是开源的,可以让您自由地部署在企业内部,私有云、混合云或公有云基础架构,使您轻松将应用迁移至任何位置。</p>
</div>
</main>
</section>
<section id="video">
<div class="light-text">
<h2>Kubernetes: 最后&hellip; 它是真正的云平台</h2>
<p>Box 的联合创始人和服务架构师 Sam Ghods 发表了热情洋溢的演讲,随着使用 Kubernetes,我们首次有一个通用接口,可以建立真正的部署工具。</p>
<button id="desktopShowVideoButton" onclick="kub.showVideo()">观看视频</button>
</div>
<button id="mobileShowVideoButton" onclick="kub.showVideo()"></button>
</section>
<section id="features">
<main>
<h3 class="center">Kubernetes 特性</h3>
<div class="feature-box">
<div>
<h4><a href="/docs/concepts/configuration/manage-compute-resources-container/">自动包装</a></h4>
<p>根据资源需求和其他约束自动放置容器,同时不会牺牲可用性,混合关键和最大努力的工作负载,以提高资源利用率并节省更多资源。</p>
</div>
<div>
<h4><a href="/docs/concepts/workloads/controllers/replicationcontroller/#what-is-a-replicationcontroller">自我修复</a></h4>
<p>重新启动失败的容器,在节点不可用时,替换和重新编排节点上的容器,终止不对用户定义的健康检查做出响应的容器,并且不会在客户端准备投放之前将其通告给客户端。</p>
</div>
</div>
<div class="feature-box">
<div>
<h4><a href="/docs/tasks/run-application/horizontal-pod-autoscale/">横向缩放</a></h4>
<p>使用简单的命令或 UI,或者根据 CPU 的使用情况自动调整应用程序副本数。</p>
</div>
<div>
<h4><a href="/docs/concepts/services-networking/service/">服务发现和负载均衡</a></h4>
<p>不需要修改您的应用程序来使用不熟悉的服务发现机制,Kubernetes 为容器提供了自己的 IP 地址和一组容器的单个 DNS 名称,并可以在它们之间进行负载均衡。</p>
</div>
</div>
<div class="feature-box">
<div>
<h4><a href="/docs/concepts/workloads/controllers/deployment/#what-is-a-deployment">自动部署和回滚</a></h4>
<p>Kubernetes 逐渐部署对应用程序或其配置的更改,同时监视应用程序运行状况,以确保它不会同时终止所有实例。 如果出现问题,Kubernetes会为您恢复更改,利用日益增长的部署解决方案的生态系统。</p>
</div>
<div>
<h4><a href="/docs/concepts/configuration/secret/">密钥</a><a href="/docs/tasks/configure-pod-container/configure-pod-configmap/">配置</a> 管理</h4>
<p>部署和更新密钥和应用程序配置,不会重新编译您的镜像,不会在堆栈配置中暴露密钥(secrets)。</p>
</div>
</div>
<div class="feature-box">
<div>
<h4><a href="/docs/concepts/storage/persistent-volumes/">存储编排</a></h4>
<p>自动安装您所选择的存储系统,无论是本地存储,如公有云提供商 <a href="https://cloud.google.com/storage/">GCP</a><a href="https://aws.amazon.com/products/storage/">AWS</a>, 还是网络存储系统 NFS, iSCSI,
Gluster, Ceph, Cinder, 或 Flocker。</p>
</div>
<div>
<h4><a href="/docs/concepts/workloads/controllers/jobs-run-to-completion/">批处理</a></h4>
<p>除了服务之外,Kubernetes还可以管理您的批处理和 CI 工作负载,如果需要,替换出现故障的容器。</p>
</div>
</div>
</main>
</section>
<section id="talkToUs">
<main>
<h3>实例探究</h3>
<div id="caseStudiesWrapper">
<div>
<p>使用Kubernetes来重塑世界上最大的教育公司</p>
<a href="/case-studies/pearson/">阅读更多</a>
</div>
<div>
<p>Kubernetes at Box: 微服务的最大优势</p>
<a href="https://blog.box.com/blog/kubernetes-box-microservices-maximum-velocity/">阅读更多</a>
</div>
<div>
<p>在 eBay 内部转移到 OpenStack 上的 Kubernetes 和容器</p>
<a href="https://www.nextplatform.com/2015/11/12/inside-ebays-shift-to-kubernetes-and-containers-atop-openstack/">阅读更多</a>
</div>
<div>
<p>将本地的集群迁移至 Kubernetes</p>
<a href="https://www.youtube.com/watch?v=6XGUTu3WhBw">观看视频</a>
</div>
</div>
<h5 style="text-align: center"><a href="/case-studies/" style="color: #3371E3; font-weight: 400">探究所有的案例</a></h5>
</main>
</section>
{{< deprecationwarning >}}
{{< blocks/section id="oceanNodes" >}}
{{% blocks/feature image="flower" %}}
<!-- ### [Kubernetes]({{< relref "/docs/concepts/overview/what-is-kubernetes" >}}) is an open-source system for automating deployment, scaling, and management of containerized applications. -->
### [Kubernetes]({{< relref "/docs/concepts/overview/what-is-kubernetes" >}}) 是用于自动部署,扩展和管理容器化应用程序的开源系统。
<!-- It groups containers that make up an application into logical units for easy management and discovery.
Kubernetes builds upon [15 years of experience of running production workloads at Google](http://queue.acm.org/detail.cfm?id=2898444),
combined with best-of-breed ideas and practices from the community. -->
它将组成应用程序的容器组合成逻辑单元,以便于管理和服务发现。Kubernetes 源自[Google 15 年生产环境的运维经验](http://queue.acm.org/detail.cfm?id=2898444),同时凝聚了社区的最佳创意和实践。
{{% /blocks/feature %}}
{{% blocks/feature image="scalable" %}}
<!-- #### Planet Scale -->
#### 星际尺度
<!-- Designed on the same principles that allows Google to run billions of containers a week,
Kubernetes can scale without increasing your ops team. -->
Google 每周运行数十亿个容器,Kubernetes 基于与之相同的原则来设计,能够在不扩张运维团队的情况下进行规模扩展。
{{% /blocks/feature %}}
{{% blocks/feature image="blocks" %}}
<!-- #### Never Outgrow -->
#### 处处适用
<!-- Whether testing locally or running a global enterprise, Kubernetes flexibility grows with you to deliver your applications
consistently and easily no matter how complex your need is. -->
无论是本地测试,还是跨国公司,Kubernetes 的灵活性都能让你在应对复杂系统时得心应手。
{{% /blocks/feature %}}
{{% blocks/feature image="suitcase" %}}
<!-- #### Run Anywhere -->
#### 永不过时
<!-- Kubernetes is open source giving you the freedom to take advantage of on-premises, hybrid,
or public cloud infrastructure, letting you effortlessly move workloads to where it matters to you. -->
Kubernetes 是开源系统,可以自由地部署在企业内部,私有云、混合云或公有云,让您轻松地做出合适的选择。
{{% /blocks/feature %}}
{{< /blocks/section >}}
{{< blocks/section id="video" background-image="kub_video_banner_homepage" >}}
<div class="light-text">
<!-- <h2>The Challenges of Migrating 150+ Microservices to Kubernetes</h2> -->
<h2>将 150+ 微服务迁移到 Kubernetes 上的挑战</h2>
<!-- <p>By Sarah Wells, Technical Director for Operations and Reliability, Financial Times</p> -->
<p>Sarah Wells, 运营和可靠性技术总监, 金融时报</p>
<button id="desktopShowVideoButton" onclick="kub.showVideo()">Watch Video</button>
<br>
<br>
<br>
<!-- <a href="https://www.lfasiallc.com/events/kubecon-cloudnativecon-china-2018/" button id="desktopKCButton">Attend KubeCon in Shanghai on Nov. 13-15, 2018</a> -->
<a href="https://www.lfasiallc.com/events/kubecon-cloudnativecon-china-2018/" button id="desktopKCButton">参加11月13日到15日的上海 KubeCon</a>
<br>
<br>
<br>
<br>
<!-- <a href="https://events.linuxfoundation.org/events/kubecon-cloudnativecon-north-america-2018/" button id="desktopKCButton">Attend KubeCon in Seattle on Dec. 11-13, 2018</a> -->
<a href="https://events.linuxfoundation.org/events/kubecon-cloudnativecon-north-america-2018/" button id="desktopKCButton">参加12月11日到13日的西雅图 KubeCon</a>
</div>
<div id="videoPlayer">
<iframe data-url="https://www.youtube.com/embed/of45hYbkIZs?autoplay=1" frameborder="0" allowfullscreen></iframe>
<button id="closeButton"></button>
</div>
<iframe data-url="https://www.youtube.com/embed/H06qrNmGqyE?autoplay=1" frameborder="0" allowfullscreen></iframe>
<button id="closeButton"></button>
</div>
{{< /blocks/section >}}
{{< blocks/kubernetes-features >}}
{{< blocks/case-studies >}}
@@ -0,0 +1,27 @@
---
title: " Kubernetes 采集视频 "
date: 2015-03-23
slug: kubernetes-gathering-videos
url: /blog/2015/03/Kubernetes-Gathering-Videos
---
<!--
---
title: " Kubernetes Gathering Videos "
date: 2015-03-23
slug: kubernetes-gathering-videos
url: /blog/2015/03/Kubernetes-Gathering-Videos
---
-->
<!--
If you missed the Kubernetes Gathering in SF last month, fear not! Here are the videos from the evening presentations organized into a playlist on YouTube
[![Kubernetes Gathering](https://img.youtube.com/vi/q8lGZCKktYo/0.jpg)](https://www.youtube.com/playlist?list=PL69nYSiGNLP2FBVvSLHpJE8_6hRHW8Kxe)
-->
如果你错过了上个月在旧金山举行的 Kubernetes 大会,不要害怕!以下是在 YouTube 上组织成播放列表的晚间演示文稿中的视频。
[![Kubernetes Gathering](https://img.youtube.com/vi/q8lGZCKktYo/0.jpg)](https://www.youtube.com/playlist?list=PL69nYSiGNLP2FBVvSLHpJE8_6hRHW8Kxe)
@@ -0,0 +1,186 @@
---
title: " Kubernetes 社区每周聚会笔记 - 2015年3月27日 "
date: 2015-03-28
slug: weekly-kubernetes-community-hangout
url: /blog/2015/03/Weekly-Kubernetes-Community-Hangout
---
<!--
---
title: " Weekly Kubernetes Community Hangout Notes - March 27 2015 "
date: 2015-03-28
slug: weekly-kubernetes-community-hangout
url: /blog/2015/03/Weekly-Kubernetes-Community-Hangout
---
-->
<!--
Every week the Kubernetes contributing community meet virtually over Google Hangouts. We want anyone who's interested to know what's discussed in this forum.
-->
每个星期,Kubernetes 贡献者社区几乎都会在谷歌 Hangouts 上聚会。我们希望任何对此感兴趣的人都能了解这个论坛的讨论内容。
<!--
Agenda:
-->
日程安排:
<!--
\- Andy - demo remote execution and port forwarding
\- Quinton - Cluster federation - Postponed
\- Clayton - UI code sharing and collaboration around Kubernetes
-->
\- Andy - 演示远程执行和端口转发
\- Quinton - 联邦集群 - 延迟
\- Clayton - 围绕 Kubernetes 的 UI 代码共享和协作
<!--
Notes from meeting:
-->
从会议指出:
<!--
1\. Andy from RedHat:
-->
1\. Andy 从 RedHat
<!--
* Demo remote execution
-->
* 演示远程执行
<!--
* kubectl exec -p $POD -- $CMD
* Makes a connection to the master as proxy, figures out which node the pod is on, proxies connection to kubelet, which does the interesting bit. via nsenter.
* Multiplexed streaming over HTTP using SPDY
* Also interactive mode:
* Assumes first container. Can use -c $CONTAINER to pick a particular one.
* If have gdb pre-installed in container, then can interactively attach it to running process
* backtrace, symbol tbles, print, etc. Most things you can do with gdb.
* Can also with careful flag crafting run rsync over this or set up sshd inside container.
* Some feedback via chat:
-->
* kubectl exec -p $POD -- $CMD
* 作为代理与主机建立连接,找出 pod 所在的节点,代理与 kubelet 的连接,这一点很有趣。通过 nsenter。
* 使用 SPDY 通过 HTTP 进行多路复用流式传输
* 还有互动模式:
* 假设第一个容器,可以使用 -c $CONTAINER 一个特定的。
* 如果在容器中预先安装了 gdb,则可以交互地将其附加到正在运行的进程中
* backtrace、symbol tbles、print 等。 使用gdb可以做的大多数事情。
* 也可以用精心制作的参数在上面运行 rsync 或者在容器内设置 sshd。
* 一些聊天反馈:
<!--
* Andy also demoed port forwarding
* nsenter vs. docker exec
-->
* Andy 还演示了端口转发
* nnsenter 与 docker exec
<!--
* want to inject a binary under control of the host, similar to pre-start hooks
* socat, nsenter, whatever the pre-start hook needs
-->
* 想要在主机的控制下注入二进制文件,类似于预启动钩子
* socat、nsenter,任何预启动钩子需要的
<!--
* would be nice to blog post on this
* version of nginx in wheezy is too old to support needed master-proxy functionality
-->
* 如果能在博客上发表这方面的文章就太好了
* wheezy 中的 nginx 版本太旧,无法支持所需的主代理功能
<!--
2\. Clayton: where are we wrt a community organization for e.g. kubernetes UI components?
* google-containers-ui IRC channel, mailing list.
* Tim: google-containers prefix is historical, should just do "kubernetes-ui"
* also want to put design resources in, and bower expects its own repo.
* General agreement
-->
2\. Clayton: 我们的社区组织在哪里,例如 kubernetes UI 组件?
* google-containers-ui IRC 频道,邮件列表。
* Tim: google-containers 前缀是历史的,应该只做 "kubernetes-ui"
* 也希望将设计资源投入使用,并且 bower 期望自己的仓库。
* 通用协议
<!--
3\. Brian Grant:
* Testing v1beta3, getting that ready to go in.
* Paul working on changes to commandline stuff.
* Early to mid next week, try to enable v1beta3 by default?
* For any other changes, file issue and CC thockin.
-->
3\. Brian Grant:
* 测试 v1beta3,准备进入。
* Paul 力于改变命令行的内容。
* 下周初至中旬,尝试默认启用v1beta3 ?
* 对于任何其他更改,请发出文件并抄送 thockin。
<!--
4\. General consensus that 30 minutes is better than 60
-->
4\. 一般认为30分钟比60分钟好
<!--
* Shouldn't artificially try to extend just to fill time.
-->
* 不应该为了填满时间而人为地延长。
@@ -0,0 +1,62 @@
---
title: 欢迎来到 Kubernetes 博客!
date: 2015-03-20
slug: welcome-to-kubernetes-blog
url: /blog/2015/03/Welcome-To-Kubernetes-Blog
---
<!--
---
title: Welcome to the Kubernetes Blog!
date: 2015-03-20
slug: welcome-to-kubernetes-blog
url: /blog/2015/03/Welcome-To-Kubernetes-Blog
---
-->
<!--
Welcome to the new Kubernetes Blog. Follow this blog to learn about the Kubernetes Open Source project. We plan to post release notes, how-to articles, events, and maybe even some off topic fun here from time to time.
-->
欢迎来到新的 Kubernetes 博客。关注此博客,了解 Kubernetes 开源项目。我们计划不时发布发布说明,操作方法文章,活动,甚至一些非常有趣的话题。
<!--
If you are using Kubernetes or contributing to the project and would like to do a guest post, [please let me know](mailto:kitm@google.com).
-->
如果您正在使用 Kubernetes 或为该项目做出贡献并想要发帖子,[请告诉我](mailto:kitm@google.com)。
<!--
To start things off, here's a roundup of recent Kubernetes posts from other sites:
-->
首先,以下是 Kubernetes 最近在其他网站上发布的文章摘要:
<!--
- [Scaling MySQL in the cloud with Vitess and Kubernetes](http://googlecloudplatform.blogspot.com/2015/03/scaling-MySQL-in-the-cloud-with-Vitess-and-Kubernetes.html)
- [Container Clusters on VMs](http://googlecloudplatform.blogspot.com/2015/02/container-clusters-on-vms.html)
- [Everything you wanted to know about Kubernetes but were afraid to ask](http://googlecloudplatform.blogspot.com/2015/01/everything-you-wanted-to-know-about-Kubernetes-but-were-afraid-to-ask.html)
- [What makes a container cluster?](http://googlecloudplatform.blogspot.com/2015/01/what-makes-a-container-cluster.html)
- [Integrating OpenStack and Kubernetes with Murano](https://www.mirantis.com/blog/integrating-openstack-and-kubernetes-with-murano/)
- [An introduction to containers, Kubernetes, and the trajectory of modern cloud computing](http://googlecloudplatform.blogspot.com/2015/01/in-coming-weeks-we-will-be-publishing.html)
- [What is Kubernetes and how to use it?](http://www.centurylinklabs.com/what-is-kubernetes-and-how-to-use-it/)
- [OpenShift V3, Docker and Kubernetes Strategy](https://blog.openshift.com/v3-docker-kubernetes-interview/)
- [An Introduction to Kubernetes](https://www.digitalocean.com/community/tutorials/an-introduction-to-kubernetes)
-->
- [使用 Vitess 和 Kubernetes 在云中扩展 MySQL](http://googlecloudplatform.blogspot.com/2015/03/scaling-MySQL-in-the-cloud-with-Vitess-and-Kubernetes.html)
- [虚拟机上的容器群集](http://googlecloudplatform.blogspot.com/2015/02/container-clusters-on-vms.html)
- [想知道的关于 kubernetes 的一切,却又不敢问](http://googlecloudplatform.blogspot.com/2015/01/everything-you-wanted-to-know-about-Kubernetes-but-were-afraid-to-ask.html)
- [什么构成容器集群?](http://googlecloudplatform.blogspot.com/2015/01/what-makes-a-container-cluster.html)
- [将 OpenStack 和 Kubernetes 与 Murano 集成](https://www.mirantis.com/blog/integrating-openstack-and-kubernetes-with-murano/)
- [容器介绍,Kubernetes 以及现代云计算的发展轨迹](http://googlecloudplatform.blogspot.com/2015/01/in-coming-weeks-we-will-be-publishing.html)
- [什么是 Kubernetes 以及如何使用它?](http://www.centurylinklabs.com/what-is-kubernetes-and-how-to-use-it/)
- [OpenShift V3Docker 和 Kubernetes 策略](https://blog.openshift.com/v3-docker-kubernetes-interview/)
- [Kubernetes 简介](https://www.digitalocean.com/community/tutorials/an-introduction-to-kubernetes)
<!--
Happy cloud computing!
-->
快乐的云计算!
<!--
- Kit Merker - Product Manager, Google Cloud Platform
-->
- Kit Merker - Google 云平台产品经理
@@ -0,0 +1,176 @@
---
title: " Kubernetes Release: 0.15.0 "
date: 2015-04-16
slug: kubernetes-release-0150
url: /blog/2015/04/Kubernetes-Release-0150
---
<!--
Release Notes:
-->
Release 说明:
<!--
* Enables v1beta3 API and sets it to the default API version ([#6098][1])
* Added multi-port Services ([#6182][2])
* New Getting Started Guides
* Multi-node local startup guide ([#6505][3])
* Mesos on Google Cloud Platform ([#5442][4])
* Ansible Setup instructions ([#6237][5])
* Added a controller framework ([#5270][6], [#5473][7])
* The Kubelet now listens on a secure HTTPS port ([#6380][8])
* Made kubectl errors more user-friendly ([#6338][9])
* The apiserver now supports client cert authentication ([#6190][10])
* The apiserver now limits the number of concurrent requests it processes ([#6207][11])
* Added rate limiting to pod deleting ([#6355][12])
* Implement Balanced Resource Allocation algorithm as a PriorityFunction in scheduler package ([#6150][13])
* Enabled log collection from master ([#6396][14])
* Added an api endpoint to pull logs from Pods ([#6497][15])
* Added latency metrics to scheduler ([#6368][16])
* Added latency metrics to REST client ([#6409][17])
-->
* 启用 1beta3 API 并将其设置为默认 API 版本 ([#6098][1])
* 增加了多端口服务([#6182][2])
* 新入门指南
* 多节点本地启动指南 ([#6505][3])
* Google 云平台上的 Mesos ([#5442][4])
* Ansible 安装说明 ([#6237][5])
* 添加了一个控制器框架 ([#5270][6], [#5473][7])
* Kubelet 现在监听一个安全的 HTTPS 端口 ([#6380][8])
* 使 kubectl 错误更加友好 ([#6338][9])
* apiserver 现在支持客户端 cert 身份验证 ([#6190][10])
* apiserver 现在限制了它处理的并发请求的数量 ([#6207][11])
* 添加速度限制删除 pod ([#6355][12])
* 将平衡资源分配算法作为优先级函数实现在调度程序包中 ([#6150][13])
* 从主服务器启用日志收集功能 ([#6396][14])
* 添加了一个 api 端口来从 Pod 中提取日志 ([#6497][15])
* 为调度程序添加了延迟指标 ([#6368][16])
* 为 REST 客户端添加了延迟指标 ([#6409][17])
<!--
* etcd now runs in a pod on the master ([#6221][18])
* nginx now runs in a container on the master ([#6334][19])
* Began creating Docker images for master components ([#6326][20])
* Updated GCE provider to work with gcloud 0.9.54 ([#6270][21])
* Updated AWS provider to fix Region vs Zone semantics ([#6011][22])
* Record event when image GC fails ([#6091][23])
* Add a QPS limiter to the kubernetes client ([#6203][24])
* Decrease the time it takes to run make release ([#6196][25])
* New volume support
* Added iscsi volume plugin ([#5506][26])
* Added glusterfs volume plugin ([#6174][27])
* AWS EBS volume support ([#5138][28])
* Updated to heapster version to v0.10.0 ([#6331][29])
* Updated to etcd 2.0.9 ([#6544][30])
* Updated to Kibana to v1.2 ([#6426][31])
* Bug Fixes
* Kube-proxy now updates iptables rules if a service's public IPs change ([#6123][32])
* Retry kube-addons creation if the initial creation fails ([#6200][33])
* Make kube-proxy more resiliant to running out of file descriptors ([#6727][34])
-->
* etcd 现在在 master 上的一个 pod 中运行 ([#6221][18])
* nginx 现在在 master上的容器中运行 ([#6334][19])
* 开始为主组件构建 Docker 镜像 ([#6326][20])
* 更新了 GCE 程序以使用 gcloud 0.9.54 ([#6270][21])
* 更新了 AWS 程序来修复区域与区域语义 ([#6011][22])
* 记录镜像 GC 失败时的事件 ([#6091][23])
* 为 kubernetes 客户端添加 QPS 限制器 ([#6203][24])
* 减少运行 make release 所需的时间 ([#6196][25])
* 新卷的支持
* 添加 iscsi 卷插件 ([#5506][26])
* 添加 glusterfs 卷插件 ([#6174][27])
* AWS EBS 卷支持 ([#5138][28])
* 更新到 heapster 版本到 v0.10.0 ([#6331][29])
* 更新到 etcd 2.0.9 ([#6544][30])
* 更新到 Kibana 到 v1.2 ([#6426][31])
* 漏洞修复
* 如果服务的公共 IP 发生变化,Kube-proxy现在会更新iptables规则 ([#6123][32])
* 如果初始创建失败,则重试 kube-addons 创建 ([#6200][33])
* 使 kube-proxy 对耗尽文件描述符更具弹性 ([#6727][34])
<!--
To download, please visit https://github.com/GoogleCloudPlatform/kubernetes/releases/tag/v0.15.0
-->
要下载,请访问 https://github.com/GoogleCloudPlatform/kubernetes/releases/tag/v0.15.0
<!--
[1]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6098 "Enabling v1beta3 api version by default in master"
[2]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6182 "Implement multi-port Services"
[3]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6505 "Docker multi-node"
[4]: https://github.com/GoogleCloudPlatform/kubernetes/pull/5442 "Getting started guide for Mesos on Google Cloud Platform"
[5]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6237 "example ansible setup repo"
[6]: https://github.com/GoogleCloudPlatform/kubernetes/pull/5270 "Controller framework"
[7]: https://github.com/GoogleCloudPlatform/kubernetes/pull/5473 "Add DeltaFIFO (a controller framework piece)"
[8]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6380 "Configure the kubelet to use HTTPS (take 2)"
[9]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6338 "Return a typed error for config validation, and make errors simple"
[10]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6190 "Add client cert authentication"
[11]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6207 "Add a limit to the number of in-flight requests that a server processes."
[12]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6355 "Added rate limiting to pod deleting"
[13]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6150 "Implement Balanced Resource Allocation (BRA) algorithm as a PriorityFunction in scheduler package."
[14]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6396 "Enable log collection from master."
[15]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6497 "Pod log subresource"
[16]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6368 "Add basic latency metrics to scheduler."
[17]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6409 "Add latency metrics to REST client"
[18]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6221 "Run etcd 2.0.5 in a pod"
[19]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6334 "Add an nginx docker image for use on the master."
[20]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6326 "Create Docker images for master components "
[21]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6270 "Updates for gcloud 0.9.54"
-->
[1]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6098 "在 master 中默认启用 v1beta3 api 版本"
[2]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6182 "实现多端口服务"
[3]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6505 "Docker 多节点"
[4]: https://github.com/GoogleCloudPlatform/kubernetes/pull/5442 "谷歌云平台上 Mesos 入门指南"
[5]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6237 "示例 ansible 设置仓库"
[6]: https://github.com/GoogleCloudPlatform/kubernetes/pull/5270 "控制器框架"
[7]: https://github.com/GoogleCloudPlatform/kubernetes/pull/5473 "添加 DeltaFIFO(控制器框架块)"
[8]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6380 "将 kubelet 配置为使用 HTTPS (获得 2)"
[9]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6338 "返回用于配置验证的类型化错误,并简化错误"
[10]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6190 "添加客户端证书认证"
[11]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6207 "为服务器处理的正在运行的请求数量添加一个限制。"
[12]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6355 "添加速度限制删除 pod"
[13]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6150 "将均衡资源分配算法作为优先级函数实现在调度程序包中。"
[14]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6396 "启用主服务器收集日志。"
[15]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6497 "pod 子日志资源"
[16]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6368 "将基本延迟指标添加到调度程序。"
[17]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6409 "向 REST 客户端添加延迟指标"
[18]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6221 "在 pod 中运行 etcd 2.0.5"
[19]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6334 "添加一个 nginx docker 镜像用于主程序。"
[20]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6326 "为主组件创建 Docker 镜像"
[21]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6270 "gcloud 0.9.54 的更新"
<!--
[22]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6011 "Fix AWS region vs zone"
[23]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6091 "Record event when image GC fails."
[24]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6203 "Add a QPS limiter to the kubernetes client."
[25]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6196 "Parallelize architectures in both the building and packaging phases of `make release`"
[26]: https://github.com/GoogleCloudPlatform/kubernetes/pull/5506 "add iscsi volume plugin"
[27]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6174 "implement glusterfs volume plugin"
[28]: https://github.com/GoogleCloudPlatform/kubernetes/pull/5138 "AWS EBS volume support"
[29]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6331 "Update heapster version to v0.10.0"
[30]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6544 "Build etcd image (version 2.0.9), and upgrade kubernetes cluster to the new version"
[31]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6426 "Update Kibana to v1.2 which paramaterizes location of Elasticsearch"
[32]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6123 "Fix bug in kube-proxy of not updating iptables rules if a service's public IPs change"
[33]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6200 "Retry kube-addons creation if kube-addons creation fails."
[34]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6727 "pkg/proxy: panic if run out of fd"
-->
[22]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6011 "修复 AWS 区域 与 zone"
[23]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6091 "记录镜像 GC 失败时的事件。"
[24]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6203 "向 kubernetes 客户端添加 QPS 限制器。"
[25]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6196 "在 `make release` 的构建和打包阶段并行化架构"
[26]: https://github.com/GoogleCloudPlatform/kubernetes/pull/5506 "添加 iscsi 卷插件"
[27]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6174 "实现 glusterfs 卷插件"
[28]: https://github.com/GoogleCloudPlatform/kubernetes/pull/5138 "AWS EBS 卷支持"
[29]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6331 "将 heapster 版本更新到 v0.10.0"
[30]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6544 "构建 etcd 镜像(版本 2.0.9),并将 kubernetes 集群升级到新版本"
[31]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6426 "更新 Kibana 到 v1.2,它对 Elasticsearch 的位置进行了参数化"
[32]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6123 "修复了 kube-proxy 中的一个错误,如果一个服务的公共 ip 发生变化,它不会更新 iptables 规则"
[33]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6200 "如果 kube-addons 创建失败,请重试 kube-addons 创建。"
[34]: https://github.com/GoogleCloudPlatform/kubernetes/pull/6727 "pkg/proxy: fd 用完后引起恐慌"
@@ -0,0 +1,287 @@
---
title: " Kubernetes 社区每周聚会笔记- 2015年4月17日 "
date: 2015-04-17
slug: weekly-kubernetes-community-hangout_17
url: /blog/2015/04/Weekly-Kubernetes-Community-Hangout_17
---
<!--
---
title: " Weekly Kubernetes Community Hangout Notes - April 17 2015 "
date: 2015-04-17
slug: weekly-kubernetes-community-hangout_17
url: /blog/2015/04/Weekly-Kubernetes-Community-Hangout_17
---
-->
<!--
Every week the Kubernetes contributing community meet virtually over Google Hangouts. We want anyone who's interested to know what's discussed in this forum.
-->
每个星期,Kubernetes 贡献者社区几乎都会在谷歌 Hangouts 上聚会。我们希望任何对此感兴趣的人都能了解这个论坛的讨论内容。
<!--
Agenda
* Mesos Integration
* High Availability (HA)
* Adding performance and profiling details to e2e to track regressions
* Versioned clients
-->
议程
* Mesos 集成
* 高可用性(HA
* 向 e2e 添加性能和分析详细信息以跟踪回归
* 客户端版本化
<!--
Notes
-->
笔记
<!--
* Mesos integration
* Mesos integration proposal:
* No blockers to integration.
* Documentation needs to be updated.
-->
* Mesos 集成
* Mesos 集成提案:
* 没有阻塞集成的因素。
* 文档需要更新。
<!--
* HA
* Proposal should land today.
* Etcd cluster.
* Load-balance apiserver.
* Cold standby for controller manager and other master components.
-->
* HA
* 提案今天应该会提交。
* Etcd 集群。
* apiserver 负载均衡。
* 控制器管理器和其他主组件的冷备用。
<!--
* Adding performance and profiling details to e2e to track regression
* Want red light for performance regression
* Need a public DB to post the data
* See
* Justin working on multi-platform e2e dashboard
-->
* 向 e2e 添加性能和分析详细信息以跟踪回归
* 希望红色为性能回归
* 需要公共数据库才能发布数据
* 查看
* Justin 致力于多平台 e2e 仪表盘
<!--
* Versioned clients
*
*
* Client library currently uses internal API objects.
* Nobody reported that frequent changes to types.go have been painful, but we are worried about it.
* Structured types are useful in the client. Versioned structs would be ok.
* If start with json/yaml (kubectl), shouldnt convert to structured types. Use swagger.
-->
* 客户端版本化
*
*
* 客户端库当前使用内部 API 对象。
* 尽管没有人反映频繁修改 `types.go` 有多痛苦,但我们很为此担心。
* 结构化类型在客户端中很有用。版本化的结构就可以了。
* 如果从 json/yaml (kubectl) 开始,则不应转换为结构化类型。使用 swagger。
<!--
* Security context
*
* Administrators can restrict who can run privileged containers or require specific unix uids
* Kubelet will be able to get pull credentials from apiserver
* Policy proposal coming in the next week or so
-->
* Security context
*
* 管理员可以限制谁可以运行特权容器或需要特定的 unix uid
* kubelet 将能够从 apiserver 获取证书
* 政策提案将于下周左右出台
<!--
* Discussing upstreaming of users, etc. into Kubernetes, at least as optional
* 1.0 Roadmap
* Focus is performance, stability, cluster upgrades
* TJ has been making some edits to [roadmap.md][4] but hasnt sent out a PR yet
* Kubernetes UI
* Dependencies broken out into third-party
* @lavalamp is reviewer
-->
* 讨论用户的上游,等等进入Kubernetes,至少是可选的
* 1.0 路线图
* 重点是性能,稳定性,集群升级
* TJ 一直在对[roadmap.md][4]进行一些编辑,但尚未发布PR
* Kubernetes UI
* 依赖关系分解为第三方
* @lavalamp 是评论家
[1]: http://kubernetes.io/images/nav_logo.svg
[2]: http://kubernetes.io/docs/
[3]: https://kubernetes.io/blog/
[4]: https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/roadmap.md
[5]: https://kubernetes.io/blog/2015/04/weekly-kubernetes-community-hangout_17 "permanent link"
[6]: https://resources.blogblog.com/img/icon18_edit_allbkg.gif
[7]: https://www.blogger.com/post-edit.g?blogID=112706738355446097&postID=630924463010638300&from=pencil "Edit Post"
[8]: https://www.blogger.com/share-post.g?blogID=112706738355446097&postID=630924463010638300&target=email "Email This"
[9]: https://www.blogger.com/share-post.g?blogID=112706738355446097&postID=630924463010638300&target=blog "BlogThis!"
[10]: https://www.blogger.com/share-post.g?blogID=112706738355446097&postID=630924463010638300&target=twitter "Share to Twitter"
[11]: https://www.blogger.com/share-post.g?blogID=112706738355446097&postID=630924463010638300&target=facebook "Share to Facebook"
[12]: https://www.blogger.com/share-post.g?blogID=112706738355446097&postID=630924463010638300&target=pinterest "Share to Pinterest"
[13]: https://kubernetes.io/blog/search/label/community%20meetings
[14]: https://kubernetes.io/blog/search/label/containers
[15]: https://kubernetes.io/blog/search/label/docker
[16]: https://kubernetes.io/blog/search/label/k8s
[17]: https://kubernetes.io/blog/search/label/kubernetes
[18]: https://kubernetes.io/blog/search/label/open%20source
[19]: https://kubernetes.io/blog/2015/04/kubernetes-and-mesosphere-dcos "Newer Post"
[20]: https://kubernetes.io/blog/2015/04/introducing-kubernetes-v1beta3 "Older Post"
[21]: https://kubernetes.io/blog/feeds/630924463010638300/comments/default
[22]: https://img2.blogblog.com/img/widgets/arrow_dropdown.gif
[23]: https://img1.blogblog.com/img/icon_feed12.png
[24]: https://img1.blogblog.com/img/widgets/subscribe-netvibes.png
[25]: https://www.netvibes.com/subscribe.php?url=http%3A%2F%2Fblog.kubernetes.io%2Ffeeds%2Fposts%2Fdefault
[26]: https://img1.blogblog.com/img/widgets/subscribe-yahoo.png
[27]: https://add.my.yahoo.com/content?url=http%3A%2F%2Fblog.kubernetes.io%2Ffeeds%2Fposts%2Fdefault
[28]: https://kubernetes.io/blog/feeds/posts/default
[29]: https://www.netvibes.com/subscribe.php?url=http%3A%2F%2Fblog.kubernetes.io%2Ffeeds%2F630924463010638300%2Fcomments%2Fdefault
[30]: https://add.my.yahoo.com/content?url=http%3A%2F%2Fblog.kubernetes.io%2Ffeeds%2F630924463010638300%2Fcomments%2Fdefault
[31]: https://resources.blogblog.com/img/icon18_wrench_allbkg.png
[32]: //www.blogger.com/rearrange?blogID=112706738355446097&widgetType=Subscribe&widgetId=Subscribe1&action=editWidget§ionId=sidebar-right-1 "Edit"
[33]: https://twitter.com/kubernetesio
[34]: https://github.com/kubernetes/kubernetes
[35]: http://slack.k8s.io/
[36]: http://stackoverflow.com/questions/tagged/kubernetes
[37]: http://get.k8s.io/
[38]: //www.blogger.com/rearrange?blogID=112706738355446097&widgetType=HTML&widgetId=HTML2&action=editWidget§ionId=sidebar-right-1 "Edit"
[39]: javascript:void(0)
[40]: https://kubernetes.io/blog/2018/
[41]: https://kubernetes.io/blog/2018/01/
[42]: https://kubernetes.io/blog/2017/
[43]: https://kubernetes.io/blog/2017/12/
[44]: https://kubernetes.io/blog/2017/11/
[45]: https://kubernetes.io/blog/2017/10/
[46]: https://kubernetes.io/blog/2017/09/
[47]: https://kubernetes.io/blog/2017/08/
[48]: https://kubernetes.io/blog/2017/07/
[49]: https://kubernetes.io/blog/2017/06/
[50]: https://kubernetes.io/blog/2017/05/
[51]: https://kubernetes.io/blog/2017/04/
[52]: https://kubernetes.io/blog/2017/03/
[53]: https://kubernetes.io/blog/2017/02/
[54]: https://kubernetes.io/blog/2017/01/
[55]: https://kubernetes.io/blog/2016/
[56]: https://kubernetes.io/blog/2016/12/
[57]: https://kubernetes.io/blog/2016/11/
[58]: https://kubernetes.io/blog/2016/10/
[59]: https://kubernetes.io/blog/2016/09/
[60]: https://kubernetes.io/blog/2016/08/
[61]: https://kubernetes.io/blog/2016/07/
[62]: https://kubernetes.io/blog/2016/06/
[63]: https://kubernetes.io/blog/2016/05/
[64]: https://kubernetes.io/blog/2016/04/
[65]: https://kubernetes.io/blog/2016/03/
[66]: https://kubernetes.io/blog/2016/02/
[67]: https://kubernetes.io/blog/2016/01/
[68]: https://kubernetes.io/blog/2015/
[69]: https://kubernetes.io/blog/2015/12/
[70]: https://kubernetes.io/blog/2015/11/
[71]: https://kubernetes.io/blog/2015/10/
[72]: https://kubernetes.io/blog/2015/09/
[73]: https://kubernetes.io/blog/2015/08/
[74]: https://kubernetes.io/blog/2015/07/
[75]: https://kubernetes.io/blog/2015/06/
[76]: https://kubernetes.io/blog/2015/05/
[77]: https://kubernetes.io/blog/2015/04/
[78]: https://kubernetes.io/blog/2015/04/weekly-kubernetes-community-hangout_29
[79]: https://kubernetes.io/blog/2015/04/borg-predecessor-to-kubernetes
[80]: https://kubernetes.io/blog/2015/04/kubernetes-and-mesosphere-dcos
[81]: https://kubernetes.io/blog/2015/04/weekly-kubernetes-community-hangout_17
[82]: https://kubernetes.io/blog/2015/04/introducing-kubernetes-v1beta3
[83]: https://kubernetes.io/blog/2015/04/kubernetes-release-0150
[84]: https://kubernetes.io/blog/2015/04/weekly-kubernetes-community-hangout_11
[85]: https://kubernetes.io/blog/2015/04/faster-than-speeding-latte
[86]: https://kubernetes.io/blog/2015/04/weekly-kubernetes-community-hangout
[87]: https://kubernetes.io/blog/2015/03/
[88]: //www.blogger.com/rearrange?blogID=112706738355446097&widgetType=BlogArchive&widgetId=BlogArchive1&action=editWidget§ionId=sidebar-right-1 "Edit"
[89]: //www.blogger.com/rearrange?blogID=112706738355446097&widgetType=HTML&widgetId=HTML1&action=editWidget§ionId=sidebar-right-1 "Edit"
[90]: https://www.blogger.com
[91]: //www.blogger.com/rearrange?blogID=112706738355446097&widgetType=Attribution&widgetId=Attribution1&action=editWidget§ionId=footer-3 "Edit"
[*[3:27 PM]: 2015-04-17T15:27:00-07:00
@@ -0,0 +1,143 @@
---
title: " Kubernetes 社区每周聚会笔记- 2015年4月24日 "
date: 2015-04-30
slug: weekly-kubernetes-community-hangout_29
url: /blog/2015/04/Weekly-Kubernetes-Community-Hangout_29
---
<!--
---
title: " Weekly Kubernetes Community Hangout Notes - April 24 2015 "
date: 2015-04-30
slug: weekly-kubernetes-community-hangout_29
url: /blog/2015/04/Weekly-Kubernetes-Community-Hangout_29
---
-->
<!--
Every week the Kubernetes contributing community meet virtually over Google Hangouts. We want anyone who's interested to know what's discussed in this forum.
-->
每个星期,Kubernetes 贡献者社区几乎都会在谷歌 Hangouts 上聚会。我们希望任何对此感兴趣的人都能了解这个论坛的讨论内容。
<!--
Agenda:
* Flocker and Kubernetes integration demo
-->
日程安排:
* Flocker 和 Kubernetes 集成演示
<!--
Notes:
* flocker and kubernetes integration demo
* * Flocker Q/A
* Does the file still exists on node1 after migration?
* Brendan: Any plan this to make it a volume? So we don't need powerstrip?
* Luke: Need to figure out interest to decide if we want to make it a first-class persistent disk provider in kube.
* Brendan: Removing need for powerstrip would make it simple to use. Totally go for it.
* Tim: Should take no more than 45 minutes to add it to kubernetes:)
-->
笔记:
* flocker 和 kubernetes 集成演示
* * Flocker Q/A
* 迁移后文件是否仍存在于node1上?
* Brendan: 有没有计划把它做成一本书?我们不需要 powerstrip?
* Luke: 需要找出感兴趣的来决定我们是否想让它成为 kube 中的一个一流的持久性磁盘提供商。
* Brendan: 删除对 powerstrip 的需求会使其易于使用。完全去做。
* Tim: 将它添加到 kubernetes 应该不超过45分钟:)
<!--
* Derek: Contrast this with persistent volumes and claims?
* Luke: Not much difference, except for the novel ZFS based backend. Makes workloads really portable.
* Tim: very different than network-based volumes. Its interesting that it is the only offering that allows upgrading media.
* Brendan: claims, how does it look for replicated claims? eg Cassandra wants to have replicated data underneath. It would be efficient to scale up and down. Create storage on the fly based on load dynamically. Its step beyond taking snapshots - programmatically creating replicas with preallocation.
* Tim: helps with auto-provisioning.
-->
* Derek: 持久卷和请求相比呢?
* Luke: 除了基于 ZFS 的新后端之外,差别不大。使工作负载真正可移植。
* Tim: 与基于网络的卷非常不同。有趣的是,它是唯一允许升级媒体的产品。
* Brendan: 请求,它如何查找重复请求?Cassandra 希望在底层复制数据。向上和向下扩缩是有效的。根据负载动态地创建存储。它的步骤不仅仅是快照——通过编程使用预分配创建副本。
* Tim: 帮助自动配置。
<!--
* Brian: Does flocker requires any other component?
* Kai: Flocker control service co-located with the master. (dia on blog post). Powerstrip + Powerstrip Flocker. Very interested in mpersisting state in etcd. It keeps metadata about each volume.
* Brendan: In future, flocker can be a plugin and we'll take care of persistence. Post v1.0.
* Brian: Interested in adding generic plugin for services like flocker.
* Luke: Zfs can become really valuable when scaling to lot of containers on a single node.
-->
* Brian: flocker 是否需要其他组件?
* Kai: Flocker 控制服务与主服务器位于同一位置。(dia 在博客上)。Powerstrip + Powerstrip Flocker。对在 etcd 中持久化状态非常有趣。它保存关于每个卷的元数据。
* Brendan: 在未来,flocker 可以是一个插件,我们将负责持久性。发布 v1.0。
* Brian: 有兴趣为 flocker 等服务添加通用插件。
* Luke: 当扩展到单个节点上的许多容器时,Zfs 会变得非常有价值。
<!--
* Alex: Can flocker service can be run as a pod?
* Kai: Yes, only requirement is the flocker control service should be able to talk to zfs agent. zfs agent needs to be installed on the host and zfs binaries need to be accessible.
* Brendan: In theory, all zfs bits can be put it into a container with devices.
* Luke: Yes, still working through cross-container mounting issue.
* Tim: pmorie is working through it to make kubelet work in a container. Possible re-use.
* Kai: Cinder support is coming. Few days away.
* Bob: What's the process of pushing kube to GKE? Need more visibility for confidence.
-->
* Alex: flocker 服务可以作为 pod 运行吗?
* Kai: 是的,唯一的要求是 flocker 控制服务应该能够与 zfs 代理对话。需要在主机上安装 zfs 代理,并且需要访问 zfs 二进制文件。
* Brendan: 从理论上讲,所有 zfs 位都可以与设备一起放入容器中。
* Luke: 是的,仍然在处理跨容器安装问题。
* Tim: pmorie 正在通过它使 kubelet 在容器中工作。可能重复使用。
* Kai: Cinder 支持即将到来。几天之后。
* Bob: 向 GKE 推送 kube 的过程是怎样的?需要更多的可见度。
@@ -0,0 +1,112 @@
---
title: " OpenStack 上的 Kubernetes "
date: 2015-05-19
slug: kubernetes-on-openstack
url: /blog/2015/05/Kubernetes-On-Openstack
---
<!--
---
title: " Kubernetes on OpenStack "
date: 2015-05-19
slug: kubernetes-on-openstack
url: /blog/2015/05/Kubernetes-On-Openstack
---
-->
[![](https://3.bp.blogspot.com/-EOrCHChZJZE/VVZzq43g6CI/AAAAAAAAF-E/JUilRHk369E/s400/Untitled%2Bdrawing.jpg)](https://3.bp.blogspot.com/-EOrCHChZJZE/VVZzq43g6CI/AAAAAAAAF-E/JUilRHk369E/s1600/Untitled%2Bdrawing.jpg)
<!--
Today, the [OpenStack foundation](https://www.openstack.org/foundation/) made it even easier for you deploy and manage clusters of Docker containers on OpenStack clouds by including Kubernetes in its [Community App Catalog](http://apps.openstack.org/). &nbsp;At a keynote today at the OpenStack Summit in Vancouver, Mark Collier, COO of the OpenStack Foundation, and Craig Peters, &nbsp;[Mirantis](https://www.mirantis.com/) product line manager, demonstrated the Community App Catalog workflow by launching a Kubernetes cluster in a matter of seconds by leveraging the compute, storage, networking and identity systems already present in an OpenStack cloud.
-->
今天,[OpenStack 基金会](https://www.openstack.org/foundation/)通过在其[社区应用程序目录](http://apps.openstack.org/)中包含 Kubernetes,使您更容易在 OpenStack 云上部署和管理 Docker 容器集群。
今天在温哥华 OpenStack 峰会上的主题演讲中,OpenStack 基金会的首席运营官:Mark Collier 和 [Mirantis](https://www.mirantis.com/) 产品线经理 Craig Peters 通过利用 OpenStack 云中已经存在的计算、存储、网络和标识系统,在几秒钟内启动了 Kubernetes 集群,展示了社区应用程序目录的工作流。
<!--
The entries in the catalog include not just the ability to [start a Kubernetes cluster](http://apps.openstack.org/#tab=murano-apps&asset=Kubernetes%20Cluster), but also a range of applications deployed in Docker containers managed by Kubernetes. These applications include:
-->
目录中的条目不仅包括[启动 Kubernetes 集群](http://apps.openstack.org/#tab=murano-apps&asset=Kubernetes%20Cluster)的功能,还包括部署在 Kubernetes 管理的 Docker 容器中的一系列应用程序。这些应用包括:
<!--
-
Apache web server
-
Nginx web server
-
Crate - The Distributed Database for Docker
-
GlassFish - Java EE 7 Application Server
-
Tomcat - An open-source web server and servlet container
-
InfluxDB - An open-source, distributed, time series database
-
Grafana - Metrics dashboard for InfluxDB
-
Jenkins - An extensible open source continuous integration server
-
MariaDB database
-
MySql database
-
Redis - Key-value cache and store
-
PostgreSQL database
-
MongoDB NoSQL database
-
Zend Server - The Complete PHP Application Platform
-->
-
Apache web 服务器
-
Nginx web 服务器
-
Crate - Docker的分布式数据库
-
GlassFish - Java EE 7 应用服务器
-
Tomcat - 一个开源的 web 服务器和 servlet 容器
-
InfluxDB - 一个开源的、分布式的、时间序列数据库
-
Grafana - InfluxDB 的度量仪表板
-
Jenkins - 一个可扩展的开放源码持续集成服务器
-
MariaDB 数据库
-
MySql 数据库
-
Redis - 键-值缓存和存储
-
PostgreSQL 数据库
-
MongoDB NoSQL 数据库
-
Zend 服务器 - 完整的 PHP 应用程序平台
<!--
This list will grow, and is curated [here](https://github.com/openstack/murano-apps/tree/master/Docker/Kubernetes). You can examine (and contribute to) the YAML file that tells Murano how to install and start the Kubernetes cluster [here](https://github.com/openstack/murano-apps/blob/master/Docker/Kubernetes/KubernetesCluster/package/Classes/KubernetesCluster.yaml).
-->
此列表将会增长,并在[此处](https://github.com/openstack/murano-apps/tree/master/Docker/Kubernetes)进行策划。您可以检查(并参与)YAML 文件,该文件告诉 Murano 如何根据[此处](https://github.com/openstack/murano-apps/blob/master/Docker/Kubernetes/KubernetesCluster/package/Classes/KubernetesCluster.yaml)定义来安装和启动 ...apps/blob/master/Docker/Kubernetes/KubernetesCluster/package/Classes/KubernetesCluster.yaml)安装和启动 Kubernetes 集群。
<!--
[The Kubernetes open source project](https://github.com/GoogleCloudPlatform/kubernetes) has continued to see fantastic community adoption and increasing momentum, with over 11,000 commits and 7,648 stars on GitHub. With supporters ranging from Red Hat and Intel to CoreOS and Box.net, it has come to represent a range of customer interests ranging from enterprise IT to cutting edge startups. We encourage you to give it a try, give us your feedback, and get involved in our growing community.
-->
[Kubernetes 开源项目](https://github.com/GoogleCloudPlatform/kubernetes)继续受到社区的欢迎,并且势头越来越好,GitHub 上有超过 11000 个提交和 7648 颗星。从 Red Hat 和 Intel 到 CoreOS 和 Box.net,它已经代表了从企业 IT 到前沿创业企业的一系列客户。我们鼓励您尝试一下,给我们您的反馈,并参与到我们不断增长的社区中来。
<!--
- Martin Buhr, Product Manager, Kubernetes Open Source Project
-->
- Martin Buhr, Kubernetes 开源项目产品经理
@@ -0,0 +1,121 @@
---
title: " Kubernetes 社区每周聚会笔记- 2015年5月1日 "
date: 2015-05-11
slug: weekly-kubernetes-community-hangout
url: /blog/2015/05/Weekly-Kubernetes-Community-Hangout
---
<!--
---
title: " Weekly Kubernetes Community Hangout Notes - May 1 2015 "
date: 2015-05-11
slug: weekly-kubernetes-community-hangout
url: /blog/2015/05/Weekly-Kubernetes-Community-Hangout
---
-->
<!--
Every week the Kubernetes contributing community meet virtually over Google Hangouts. We want anyone who's interested to know what's discussed in this forum.
-->
每个星期,Kubernetes 贡献者社区几乎都会在谷歌 Hangouts 上聚会。我们希望任何对此感兴趣的人都能了解这个论坛的讨论内容。
<!--
* Simple rolling update - Brendan
* Rolling update = nice example of why RCs and Pods are good.
* ...pause… (Brendan needs demo recovery tips from Kelsey)
* Rolling update has recovery: Cancel update and restart, update continues from where it stopped.
* New controller gets name of old controller, so appearance is pure update.
* Can also name versions in update (won't do rename at the end).
-->
* 简单的滚动更新 - Brendan
* 滚动更新 = RCs和Pods很好的例子。
* ...pause… (Brendan 需要 Kelsey 的演示恢复技巧)
* 滚动更新具有恢复功能:取消更新并重新启动,更新从停止的地方继续。
* 新控制器获取旧控制器的名称,因此外观是纯粹的更新。
* 还可以在 update 中命名版本(最后不会重命名)。
<!--
* Rocket demo - CoreOS folks
* 2 major differences between rocket & docker: Rocket is daemonless & pod-centric.
* Rocket has AppContainer format as native, but also supports docker image format.
* Can run AppContainer and docker containers in same pod.
* Changes are close to merged.
-->
* Rocket 演示 - CoreOS 的伙计们
* Rocket 和 docker 之间的主要区别: Rocket 是无守护进程和以 pod 为中心。。
* Rocket 具有原生的 AppContainer 格式,但也支持 docker 镜像格式。
* 可以在同一个 pod 中运行 AppContainer 和 docker 容器。
* 变更接近于合并。
<!--
* demo service accounts and secrets being added to pods - Jordan
* Problem: It's hard to get a token to talk to the API.
* New API object: "ServiceAccount"
* ServiceAccount is namespaced, controller makes sure that at least 1 default service account exists in a namespace.
* Typed secret "ServiceAccountToken", controller makes sure there is at least 1 default token.
* DEMO
* * Can create new service account with ServiceAccountToken. Controller will create token for it.
* Can create a pod with service account, pods will have service account secret mounted at /var/run/secrets/kubernetes.io/…
-->
* 演示 service accounts 和 secrets 被添加到 pod - Jordan
* 问题:很难获得与API通信的令牌。
* 新的API对象:"ServiceAccount"
* ServiceAccount 是命名空间,控制器确保命名空间中至少存在一个个默认 service account。
* 键入 "ServiceAccountToken",控制器确保至少有一个默认令牌。
* 演示
* * 可以使用 ServiceAccountToken 创建新的 service account。控制器将为它创建令牌。
* 可以创建一个带有 service account 的 pod, pod 将在 /var/run/secrets/kubernets.io/…
<!--
* Kubelet running in a container - Paul
* Kubelet successfully ran pod w/ mounted secret.
-->
* Kubelet 在容器中运行 - Paul
* Kubelet 成功地运行了带有 secret 的 pod。
@@ -0,0 +1,25 @@
---
title: "幻灯片:Kubernetes 集群管理,爱丁堡大学演讲"
date: 2015-06-26
slug: slides-cluster-management-with
url: /blog/2015/06/Slides-Cluster-Management-With
---
<!--
---
title: " Slides: Cluster Management with Kubernetes, talk given at the University of Edinburgh "
date: 2015-06-26
slug: slides-cluster-management-with
url: /blog/2015/06/Slides-Cluster-Management-With
---
-->
<!--
On Friday 5 June 2015 I gave a talk called [Cluster Management with Kubernetes](https://docs.google.com/presentation/d/1H4ywDb4vAJeg8KEjpYfhNqFSig0Q8e_X5I36kM9S6q0/pub?start=false&loop=false&delayms=3000) to a general audience at the University of Edinburgh. The talk includes an example of a music store system with a Kibana front end UI and an Elasticsearch based back end which helps to make concrete concepts like pods, replication controllers and services.
[Cluster Management with Kubernetes](https://docs.google.com/presentation/d/1H4ywDb4vAJeg8KEjpYfhNqFSig0Q8e_X5I36kM9S6q0/pub?start=false&loop=false&delayms=3000).
-->
2015年6月5日星期五,我在爱丁堡大学给普通听众做了一个演讲,题目是[使用 Kubernetes 进行集群管理](https://docs.google.com/presentation/d/1H4ywDb4vAJeg8KEjpYfhNqFSig0Q8e_X5I36kM9S6q0/pub?start=false&loop=false&delayms=3000)。这次演讲包括一个带有 Kibana 前端 UI 的音乐存储系统的例子,以及一个基于 Elasticsearch 的后端,该后端有助于生成具体的概念,如 pods、复制控制器和服务。
[Kubernetes 集群管理](https://docs.google.com/presentation/d/1H4ywDb4vAJeg8KEjpYfhNqFSig0Q8e_X5I36kM9S6q0/pub?start=false&loop=false&delayms=3000)。
@@ -0,0 +1,84 @@
---
title: " KubeCon EU 2016:伦敦 Kubernetes 社区 "
date: 2016-02-24
slug: kubecon-eu-2016-kubernetes-community-in
url: /blog/2016/02/Kubecon-Eu-2016-Kubernetes-Community-In
---
<!--
---
title: " KubeCon EU 2016: Kubernetes Community in London "
date: 2016-02-24
slug: kubecon-eu-2016-kubernetes-community-in
url: /blog/2016/02/Kubecon-Eu-2016-Kubernetes-Community-In
---
-->
<!--
KubeCon EU 2016 is the inaugural [European Kubernetes](http://kubernetes.io/) community conference that follows on the American launch in November 2015. KubeCon is fully dedicated to education and community engagement for[Kubernetes](http://kubernetes.io/) enthusiasts, production users and the surrounding ecosystem.
-->
KubeCon EU 2016 是首届[欧洲 Kubernetes](http://kubernetes.io/) 社区会议,紧随 2015 年 11 月召开的北美会议。KubeCon 致力于为 [Kubernetes](http://kubernetes.io/) 爱好者、产品用户和周围的生态系统提供教育和社区参与。
<!--
Come join us in London and hang out with hundreds from the Kubernetes community and experience a wide variety of deep technical expert talks and use cases.
-->
快来加入我们在伦敦,与 Kubernetes 社区的数百人一起出去,体验各种深入的技术专家讲座和用例。
<!--
Dont miss these great speaker sessions at the conference:
-->
不要错过这些优质的演讲:
<!--
* “Kubernetes Hardware Hacks: Exploring the Kubernetes API Through Knobs, Faders, and Sliders” by Ian Lewis and Brian Dorsey, Developer Advocate, Google -* [http://sched.co/6Bl3](http://sched.co/6Bl3)
* “rktnetes: what's new with container runtimes and Kubernetes” by Jonathan Boulle, Developer and Team Lead at CoreOS -* [http://sched.co/6BY7](http://sched.co/6BY7)
* “Kubernetes Documentation: Contributing, fixing issues, collecting bounties” by John Mulhausen, Lead Technical Writer, Google -* [http://sched.co/6BUP](http://sched.co/6BUP)&nbsp;
* “[What is OpenStack's role in a Kubernetes world?](https://kubeconeurope2016.sched.org/event/6BYC/what-is-openstacks-role-in-a-kubernetes-world?iframe=yes&w=i:0;&sidebar=yes&bg=no#?iframe=yes&w=i:100;&sidebar=yes&bg=no)” By Thierry Carrez, Director of Engineering, OpenStack Foundation -* http://sched.co/6BYC
* “A Practical Guide to Container Scheduling” by Mandy Waite, Developer Advocate, Google -* [http://sched.co/6BZa](http://sched.co/6BZa)
* “[Kubernetes in Production in The New York Times newsroom](https://kubeconeurope2016.sched.org/event/67f2/kubernetes-in-production-in-the-new-york-times-newsroom?iframe=yes&w=i:0;&sidebar=yes&bg=no#?iframe=yes&w=i:100;&sidebar=yes&bg=no)” Eric Lewis, Web Developer, New York Times -* [http://sched.co/67f2](http://sched.co/67f2)
* “[Creating an Advanced Load Balancing Solution for Kubernetes with NGINX](https://kubeconeurope2016.sched.org/event/6Bc9/creating-an-advanced-load-balancing-solution-for-kubernetes-with-nginx?iframe=yes&w=i:0;&sidebar=yes&bg=no#?iframe=yes&w=i:100;&sidebar=yes&bg=no)” by Andrew Hutchings, Technical Product Manager, NGINX -* http://sched.co/6Bc9
* And many more http://kubeconeurope2016.sched.org/
-->
* “Kubernetes 硬件黑客:通过旋钮、推杆和滑块探索 Kubernetes API” 演讲者 Ian Lewis 和 Brian Dorsey,谷歌开发布道师* [http://sched.co/6Bl3](http://sched.co/6Bl3)
* “rktnetes: 容器运行时和 Kubernetes 的新功能” 演讲者 Jonathan Boulle, CoreOS 的主程 -* [http://sched.co/6BY7](http://sched.co/6BY7)
* “Kubernetes 文档:贡献、修复问题、收集奖金” 作者:John Mulhausen,首席技术作家,谷歌 -* [http://sched.co/6BUP](http://sched.co/6BUP)&nbsp;
* “[OpenStack 在 Kubernetes 的世界中扮演什么角色?](https://kubeconeurope2016.sched.org/event/6BYC/what-is-openstacks-role-in-a-kubernetes-world?iframe=yes&w=i:0;&sidebar=yes&bg=no#?iframe=yes&w=i:100;&sidebar=yes&bg=no)” 作者:Thierry carez, OpenStack 基金会工程总监 -* http://sched.co/6BYC
* “容器调度的实用指南” 作者:Mandy Waite,开发者倡导者,谷歌 -* [http://sched.co/6BZa](http://sched.co/6BZa)
* “[《纽约时报》编辑部正在制作 Kubernetes](https://kubeconeurope2016.sched.org/event/67f2/kubernetes-in-production-in-the-new-york-times-newsroom?iframe=yes&w=i:0;&sidebar=yes&bg=no#?iframe=yes&w=i:100;&sidebar=yes&bg=no)” Eric Lewis,《纽约时报》网站开发人员 -* [http://sched.co/67f2](http://sched.co/67f2)
* “[使用 NGINX 为 Kubernetes 创建一个高级负载均衡解决方案](https://kubeconeurope2016.sched.org/event/6Bc9/creating-an-advanced-load-balancing-solution-for-kubernetes-with-nginx?iframe=yes&w=i:0;&sidebar=yes&bg=no#?iframe=yes&w=i:100;&sidebar=yes&bg=no)” 作者:Andrew Hutchings, NGINX 技术产品经理 -* http://sched.co/6Bc9
* 还有更多 http://kubeconeurope2016.sched.org/
<!--
Get your KubeCon EU [tickets here](https://ti.to/kubecon/kubecon-eu-2016).
-->
[在这里](https://ti.to/kubecon/kubecon-eu-2016)获取您的 KubeCon EU 门票。
<!--
Venue Location: CodeNode * 10 South Pl, London, United Kingdom
Accommodations: [hotels](https://skillsmatter.com/contact-us#hotels)
Website: [kubecon.io](https://www.kubecon.io/)
Twitter: [@KubeConio](https://twitter.com/kubeconio) #KubeCon
Google is a proud Diamond sponsor of KubeCon EU 2016. Come to London next month, March 10th & 11th, and visit booth #13 to learn all about Kubernetes, Google Container Engine (GKE) and Google Cloud Platform!
-->
会场地址:CodeNode * 英国伦敦南广场 10 号
酒店住宿:[酒店](https://skillsmatter.com/contact-us)
网站:[kubecon.io] (https://www.kubecon.io/)
推特:[@KubeConio] (https://twitter.com/kubeconio)
谷歌是 KubeCon EU 2016 的钻石赞助商。下个月 3 月 10 - 11 号来伦敦,参观 13 号展位,了解 KubernetesGoogle Container EngineGKE),Google Cloud Platform 的所有信息!
<!--
_KubeCon is organized by KubeAcademy, LLC, a community-driven group of developers focused on the education of developers and the promotion of Kubernetes._
-* Sarah Novotny, Kubernetes Community Manager, Google
-->
_KubeCon 是由 KubeAcademy、LLC 组织的,这是一个由社区驱动的开发者团体,专注于开发人员的教育和 kubernet.com 的推广
-* Sarah Novotny, 谷歌的 Kubernetes 社区经理
@@ -1,3 +1,10 @@
---
title: " SIG-Networking: Kubernetes Network Policy APIs Coming in 1.3 "
date: 2016-04-18
slug: kubernetes-network-policy-apis
url: /blog/2016/04/Kubernetes-Network-Policy-APIs
---
<!-- ---
title: " SIG-Networking: Kubernetes Network Policy APIs Coming in 1.3 "
date: 2016-04-18
@@ -5,13 +12,6 @@ slug: kubernetes-network-policy-apis
url: /blog/2016/04/Kubernetes-Network-Policy-APIs
--- -->
---
title: "SIG-Networking: Kubernetes Network Policy APIs Coming in 1.3 "
date: 2016-04-18
slug: kubernetes-network-policy-apis
url: /blog/2016/04/Kubernetes-Network-Policy-APIs
---
<!-- _Editors note: This week were featuring [Kubernetes Special Interest Groups](https://github.com/kubernetes/kubernetes/wiki/Special-Interest-Groups-(SIGs)); Todays post is by the Network-SIG team describing network policy APIs coming in 1.3 - policies for security, isolation and multi-tenancy._ -->
编者按:这一周,我们的封面主题是 [Kubernetes 特别兴趣小组](https://github.com/kubernetes/kubernetes/wiki/Special-Interest-Groups-(SIGs));今天的文章由网络兴趣小组撰写,来谈谈 1.3 版本中即将出现的网络策略 API - 针对安全,隔离和多租户的策略。
@@ -1,10 +1,3 @@
<!-- ---
title: " How to deploy secure, auditable, and reproducible Kubernetes clusters on AWS "
date: 2016-04-15
slug: kubernetes-on-aws_15
url: /blog/2016/04/Kubernetes-On-Aws_15
--- -->
---
title: " 如何在AWS上部署安全,可审计,可复现的k8s集群 "
date: 2016-04-15
@@ -12,6 +5,13 @@ slug: kubernetes-on-aws_15
url: /blog/2016/04/Kubernetes-On-Aws_15
---
<!-- ---
title: " How to deploy secure, auditable, and reproducible Kubernetes clusters on AWS "
date: 2016-04-15
slug: kubernetes-on-aws_15
url: /blog/2016/04/Kubernetes-On-Aws_15
--- -->
<!-- _Todays guest post is written by Colin Hom, infrastructure engineer at [CoreOS](https://coreos.com/), the company delivering Googles Infrastructure for Everyone Else (#GIFEE) and running the world's containers securely on CoreOS Linux, Tectonic and Quay._
_Join us at [CoreOS Fest Berlin](https://coreos.com/fest/), the Open Source Distributed Systems Conference, and learn more about CoreOS and Kubernetes._ -->
@@ -0,0 +1,72 @@
---
title: " Citrix + Kubernetes = 全垒打 "
date: 2016-07-14
slug: citrix-netscaler-and-kubernetes
url: /blog/2016/07/Citrix-Netscaler-And-Kubernetes
---
<!--
---
title: " Citrix + Kubernetes = A Home Run "
date: 2016-07-14
slug: citrix-netscaler-and-kubernetes
url: /blog/2016/07/Citrix-Netscaler-And-Kubernetes
---
-->
<!--
_Editors note: todays guest post is by Mikko Disini, a Director of Product Management at Citrix Systems, sharing their collaboration experience on a Kubernetes integration.&nbsp;_
-->
编者按:今天的客座文章来自 Citrix Systems 的产品管理总监 Mikko Disini,他分享了他们在 Kubernetes 集成上的合作经验。&nbsp;_
<!--
Technical collaboration is like sports. If you work together as a team, you can go down the homestretch and pull through for a win. Thats our experience with the Google Cloud Platform team.
-->
技术合作就像体育运动。如果你能像一个团队一样合作,你就能在最后关头取得胜利。这就是我们对谷歌云平台团队的经验。
<!--
Recently, we approached Google Cloud Platform (GCP) to collaborate on behalf of Citrix customers and the broader enterprise market looking to migrate workloads.&nbsp;This migration required including the [NetScaler Docker load balancer](https://www.citrix.com/blogs/2016/06/20/the-best-docker-load-balancer-at-dockercon-in-seattle-this-week/), CPX, into Kubernetes nodes and resolving any issues with getting traffic into the CPX proxies. &nbsp;
-->
最近,我们与 Google 云平台(GCP)联系,代表 Citrix 客户以及更广泛的企业市场,希望就工作负载的迁移进行协作。此迁移需要将 [NetScaler Docker 负载均衡器]https://www.citrix.com/blogs/2016/06/20/the-best-docker-load-balancer-at-dockercon-in-seattle-this-week/) CPX 包含到 Kubernetes 节点中,并解决将流量引入 CPX 代理的任何问题。
<!--
**Why NetScaler and Kubernetes?**
-->
**为什么是 NetScaler 和 Kubernetes**
<!--
1. Citrix customers want the same Layer 4 to Layer 7 capabilities from NetScaler that they have on-prem as they move to the cloud as they begin deploying their container and microservices architecture with Kubernetes&nbsp;
2. Kubernetes provides a proven infrastructure for running containers and VMs with automated workload delivery
3. NetScaler CPX provides Layer 4 to Layer 7 services and highly efficient telemetry data to a logging and analytics platform, [NetScaler Management and Analytics System](https://www.citrix.com/blogs/2016/05/24/introducing-the-next-generation-netscaler-management-and-analytics-system/)
-->
1. Citrix 的客户希望他们开始使用 Kubernetes 部署他们的容器和微服务体系结构时,能够像当初迁移到云计算时一样,享有 NetScaler 所提供的第 4 层到第 7 层能力&nbsp;
2. Kubernetes 提供了一套经过验证的基础设施,可用来运行容器和虚拟机,并自动交付工作负载;
3. NetScaler CPX 提供第 4 层到第 7 层的服务,并为日志和分析平台 [NetScaler 管理和分析系统](https://www.citrix.com/blogs/2016/05/24/introducing-the-next-generation-netscaler-management-and-analytics-system/) 提供高效的度量数据。
<!--
I wish all our experiences working together with a technical partner were as good as working with GCP. We had a list of issues to enable our use cases and were able to collaborate swiftly on a solution. To resolve these, GCP team offered in depth technical assistance, working with Citrix such that NetScaler CPX can spin up and take over as a client-side proxy running on each host.&nbsp;
-->
我希望我们所有与技术合作伙伴一起工作的经验都能像与 GCP 一起工作一样好。我们有一个列表,包含支持我们的用例所需要解决的问题。我们能够快速协作形成解决方案。为了解决这些问题,GCP 团队提供了深入的技术支持,与 Citrix 合作,从而使得 NetScaler CPX 能够在每台主机上作为客户端代理启动运行。
<!--
Next, NetScaler CPX needed to be inserted in the data path of GCP ingress load balancer so that NetScaler CPX can spread traffic to front end web servers. The NetScaler team made modifications so that NetScaler CPX listens to API server events and configures itself to create a VIP, IP table rules and server rules to take ingress traffic and load balance across front end applications. Google Cloud Platform team provided feedback and assistance to verify modifications made to overcome the technical hurdles. Done!
-->
接下来,需要在 GCP 入口负载均衡器的数据路径中插入 NetScaler CPX,使 NetScaler CPX 能够将流量分散到前端 web 服务器。NetScaler 团队进行了修改,以便 NetScaler CPX 监听 API 服务器事件,并配置自己来创建 VIP、IP 表规则和服务器规则,以便跨前端应用程序接收流量和负载均衡。谷歌云平台团队提供反馈和帮助,验证为克服技术障碍所做的修改。完成了!
<!--
NetScaler CPX use case is supported in [Kubernetes 1.3](https://kubernetes.io/blog/2016/07/kubernetes-1.3-bridging-cloud-native-and-enterprise-workloads). Citrix customers and the broader enterprise market will have the opportunity to leverage NetScaler with Kubernetes, thereby lowering the friction to move workloads to the cloud.&nbsp;
-->
NetScaler CPX 用例在 [Kubernetes 1.3](https://kubernetes.io/blog/2016/07/kubernets-1.3 - bridge -cloud-native-and-enterprise-workload) 中提供支持。Citrix 的客户和更广泛的企业市场将有机会基于 Kubernetes 享用 NetScaler 服务,从而降低将工作负载转移到云平台的阻力。&nbsp;
<!--
You can learn more about&nbsp;NetScaler CPX [here](https://www.citrix.com/networking/microservices.html).
-->
您可以在[此处](https://www.citrix.com/networking/microservices.html)了解有关 NetScaler CPX 的更多信息。
<!--
_&nbsp;-- Mikko Disini, Director of Product Management - NetScaler, Citrix Systems_
-->
_&nbsp;-- Mikko DisiniCitrix Systems NetScaler 产品管理总监
@@ -0,0 +1,72 @@
---
title: " Kubernetes 1.8 的五天 "
date: 2017-10-24
slug: five-days-of-kubernetes-18
url: /blog/2017/10/Five-Days-Of-Kubernetes-18
---
<!--
---
title: " Five Days of Kubernetes 1.8 "
date: 2017-10-24
slug: five-days-of-kubernetes-18
url: /blog/2017/10/Five-Days-Of-Kubernetes-18
---
-->
<!--
Kubernetes 1.8 is live, made possible by hundreds of contributors pushing thousands of commits in this latest releases.
-->
Kubernetes 1.8 是现场直播,数百名贡献者在这个最新版本中推出了成千上万的提交。
<!--
The community has tallied more than 66,000 commits in the main repo and continues rapid growth outside of the main repo, which signals growing maturity and stability for the project. The community has logged more than 120,000 commits across all repos and 17,839 commits across all repos for v1.7.0 to v1.8.0 alone.
-->
社区已经有超过 66,000 个提交在主仓库,并在主仓库之外继续快速增长,这标志着该项目日益成熟和稳定。仅 v1.7.0 到 v1.8.0,社区就记录了所有仓库的超过 120,000 次提交和 17839 次提交。
<!--
With the help of our growing community of 1,400 plus contributors, we issued more than 3,000 PRs and pushed more than 5,000 commits to deliver Kubernetes 1.8 with significant security and workload support updates. This all points to increased stability, a result of our project-wide focus on maturing [process](https://github.com/kubernetes/sig-release), formalizing [architecture](https://github.com/kubernetes/community/tree/master/sig-architecture), and strengthening Kubernetes [governance model](https://github.com/kubernetes/community/tree/master/community/elections/2017).
-->
在拥有 1400 多名贡献者,并且不断发展壮大的社区的帮助下,我们合并了 3000 多个 PR,并发布了 5000 多个提交,最后的 Kubernetes 1.8 在安全和工作负载方面添加了很多的更新。
这一切都表明稳定性的提高,这是我们整个项目关注成熟[流程](https://github.com/kubernetes/sig-release)、形式化[架构](https://github.com/kubernetes/community/tree/master/sig-architecture)和加强 Kubernetes 的[治理模型](https://github.com/kubernetes/community/tree/master/community/elections/2017)的结果。
<!--
While many improvements have been contributed, we highlight key features in this series of in-depth&nbsp;posts listed below. [Follow along](https://twitter.com/kubernetesio) and see whats new and improved with storage, security and more.
-->
虽然有很多改进,但我们在下面列出的这一系列深度文章中突出了一些关键特性。[跟随](https://twitter.com/kubernetesio)并了解存储,安全等方面的新功能和改进功能。
<!--
**Day 1:** [5 Days of Kubernetes 1.8](https://kubernetes.io/blog/2017/10/five-days-of-kubernetes-18)
**Day 2:** [kubeadm v1.8 Introduces Easy Upgrades for Kubernetes Clusters](https://kubernetes.io/blog/2017/10/kubeadm-v18-released)
**Day 3:** [Kubernetes v1.8 Retrospective: It Takes a Village to Raise a Kubernetes](https://kubernetes.io/blog/2017/10/it-takes-village-to-raise-kubernetes)
**Day 4:** [Using RBAC, Generally Available in Kubernetes v1.8](https://kubernetes.io/blog/2017/10/using-rbac-generally-available-18)
**Day 5:** [Enforcing Network Policies in Kubernetes](https://kubernetes.io/blog/2017/10/enforcing-network-policies-in-kubernetes)
-->
**第一天:** [Kubernetes 1.8 的五天](https://kubernetes.io/blog/2017/10/five-days-of-kubernetes-18)
**第二天:** [kubeadm v1.8 为 Kubernetes 集群引入了简单的升级](https://kubernetes.io/blog/2017/10/kubeadm-v18-released)
**第三天:** [Kubernetes v1.8 回顾:提升一个 Kubernetes 需要一个 Village](https://kubernetes.io/blog/2017/10/it-takes-village-to-raise-kubernetes)
**第四天:** [使用 RBAC,一般在 Kubernetes v1.8 中提供](https://kubernetes.io/blog/2017/10/using-rbac-generally-available-18)
**第五天:** [在 Kubernetes 执行网络策略](https://kubernetes.io/blog/2017/10/enforcing-network-policies-in-kubernetes)
<!--
**Connect**
-->
**链接**
<!--
- Post questions (or answer questions) on [Stack Overflow](http://stackoverflow.com/questions/tagged/kubernetes)
- Join the community portal for advocates on [K8sPort](http://k8sport.org/)
- Follow us on Twitter [@Kubernetesio](https://twitter.com/kubernetesio) for latest updates&nbsp;
- Connect with the community on [Slack](http://slack.k8s.io/)
- Get involved with the Kubernetes project on [GitHub](https://github.com/kubernetes/kubernetes)
-->
- 在 [Stack Overflow](http://stackoverflow.com/questions/tagged/kubernetes) 上发布问题(或回答问题)
- 加入 [K8sPort](http://k8sport.org/) 布道师的社区门户网站
- 在 Twitter [@Kubernetesio](https://twitter.com/kubernetesio) 关注我们以获取最新更新
- 与 [Slack](http://slack.k8s.io/) 上的社区联系
- 参与 [GitHub](https://github.com/kubernetes/kubernetes) 上的 Kubernetes 项目
@@ -0,0 +1,32 @@
---
title: " Kubernetes 中自动缩放 "
date: 2017-11-17
slug: autoscaling-in-kubernetes
url: /blog/2017/11/Autoscaling-In-Kubernetes
---
<!--
---
title: " Autoscaling in Kubernetes "
date: 2017-11-17
slug: autoscaling-in-kubernetes
url: /blog/2017/11/Autoscaling-In-Kubernetes
---
-->
<!--
Kubernetes allows developers to automatically adjust cluster sizes and the number of pod replicas based on current traffic and load. These adjustments reduce the amount of unused nodes, saving money and resources. In this talk, Marcin Wielgus of Google walks you through the current state of pod and node autoscaling in Kubernetes: .how it works, and how to use it, including best practices for deployments in production applications.
-->
Kubernetes 允许开发人员根据当前的流量和负载自动调整集群大小和 pod 副本的数量。这些调整减少了未使用节点的数量,节省了资金和资源。
在这次演讲中,谷歌的 Marcin Wielgus 将带领您了解 Kubernetes 中 pod 和 node 自动调焦的当前状态:它是如何工作的,以及如何使用它,包括在生产应用程序中部署的最佳实践。
<!--
Enjoyed this talk? Join us for more exciting sessions on scaling and automating your Kubernetes clusters at KubeCon in Austin on December 6-8. [Register Now](https://www.eventbrite.com/e/kubecon-cloudnativecon-north-america-registration-37824050754?_ga=2.9666039.317115486.1510003873-1623727562.1496428006)
-->
喜欢这个演讲吗? 12 月 6 日至 8 日,在 Austin 参加 KubeCon 关于扩展和自动化您的 Kubernetes 集群的更令人兴奋的会议。[现在注册](https://www.eventbrite.com/e/kubecon-cloudnativecon-north-america-registration-37824050754?_ga=2.9666039.317115486.1510003873-1623727562.1496428006)。
<!--
Be sure to check out [Automating and Testing Production Ready Kubernetes Clusters in the Public Cloud](http://sched.co/CU64) by Ron Lipke, Senior Developer, Platform as a Service, Gannet/USA Today Network.
-->
一定要查看由 Ron Lipke Gannet/USA Today Network, 平台即服务高级开发人员,在[公共云中自动化和测试产品就绪的 Kubernetes 集群](http://sched.co/CU64)。
@@ -0,0 +1,728 @@
---
title: 在 Kubernetes 上开发
date: 2018-05-01
slug: developing-on-kubernetes
---
<!--
---
title: Developing on Kubernetes
date: 2018-05-01
slug: developing-on-kubernetes
---
-->
<!--**Authors**:-->
**作者** [Michael Hausenblas](https://twitter.com/mhausenblas) (Red Hat), [Ilya Dmitrichenko](https://twitter.com/errordeveloper) (Weaveworks)
<!--
How do you develop a Kubernetes app? That is, how do you write and test an app that is supposed to run on Kubernetes? This article focuses on the challenges, tools and methods you might want to be aware of to successfully write Kubernetes apps alone or in a team setting.
-->
您将如何开发一个 Kubernates 应用?也就是说,您如何编写并测试一个要在 Kubernates 上运行的应用程序?本文将重点介绍在独自开发或者团队协作中,您可能希望了解到的为了成功编写 Kubernetes 应用程序而需面临的挑战,工具和方法。
<!--
Were assuming you are a developer, you have a favorite programming language, editor/IDE, and a testing framework available. The overarching goal is to introduce minimal changes to your current workflow when developing the app for Kubernetes. For example, if youre a Node.js developer and are used to a hot-reload setup—that is, on save in your editor the running app gets automagically updated—then dealing with containers and container images, with container registries, Kubernetes deployments, triggers, and more can not only be overwhelming but really take all the fun out if it.
-->
我们假定您是一位开发人员,有您钟爱的编程语言,编辑器/IDE(集成开发环境),以及可用的测试框架。在针对 Kubernates 开发应用时,最重要的目标是减少对当前工作流程的影响,改变越少越好,尽量做到最小。举个例子,如果您是 Node.js 开发人员,习惯于那种热重载的环境 - 也就是说您在编辑器里一做保存,正在运行的程序就会自动更新 - 那么跟容器、容器镜像或者镜像仓库打交道,又或是跟 Kubernetes 部署、triggers 以及更多头疼东西打交道,不仅会让人难以招架也真的会让开发过程完全失去乐趣。
<!--
In the following, well first discuss the overall development setup, then review tools of the trade, and last but not least do a hands-on walkthrough of three exemplary tools that allow for iterative, local app development against Kubernetes.
-->
在下文中,我们将首先讨论 Kubernetes 总体开发环境,然后回顾常用工具,最后进行三个示例性工具的实践演练。这些工具允许针对 Kubernetes 进行本地应用程序的开发和迭代。
<!--
## Where to run your cluster?
-->
## 您的集群运行在哪里?
<!--
As a developer you want to think about where the Kubernetes cluster youre developing against runs as well as where the development environment sits. Conceptually there are four development modes:
-->
作为开发人员,您既需要考虑所针对开发的 Kubernetes 集群运行在哪里,也需要思考开发环境如何配置。概念上,有四种开发模式:
![Dev Modes](/images/blog/2018-05-01-developing-on-kubernetes/dok-devmodes_preview.png)
<!--
A number of tools support pure offline development including Minikube, Docker for Mac/Windows, Minishift, and the ones we discuss in detail below. Sometimes, for example, in a microservices setup where certain microservices already run in the cluster, a proxied setup (forwarding traffic into and from the cluster) is preferable and Telepresence is an example tool in this category. The live mode essentially means youre building and/or deploying against a remote cluster and, finally, the pure online mode means both your development environment and the cluster are remote, as this is the case with, for example, [Eclipse Che](https://www.eclipse.org/che/docs/kubernetes-single-user.html) or [Cloud 9](https://github.com/errordeveloper/k9c). Lets now have a closer look at the basics of offline development: running Kubernetes locally.
-->
许多工具支持纯 offline 开发,包括 Minikube、DockerMac 版/Windows 版)、Minishift 以及下文中我们将详细讨论的几种。有时,比如说在一个微服务系统中,已经有若干微服务在运行,proxied 模式(通过转发把数据流传进传出集群)就非常合适,Telepresence 就是此类工具的一个实例。live 模式,本质上是您基于一个远程集群进行构建和部署。最后,纯 online 模式意味着您的开发环境和运行集群都是远程的,典型的例子是 [Eclipse Che](https://www.eclipse.org/che/docs/kubernetes-single-user.html) 或者 [Cloud 9](https://github.com/errordeveloper/k9c)。现在让我们仔细看看离线开发的基础:在本地运行 Kubernetes。
<!--
[Minikube](/docs/getting-started-guides/minikube/) is a popular choice for those who prefer to run Kubernetes in a local VM. More recently Docker for [Mac](https://docs.docker.com/docker-for-mac/kubernetes/) and [Windows](https://docs.docker.com/docker-for-windows/kubernetes/) started shipping Kubernetes as an experimental package (in the “edge” channel). Some reasons why you may want to prefer using Minikube over the Docker desktop option are:
-->
[Minikube](/docs/getting-started-guides/minikube/) 在更加喜欢于本地 VM 上运行 Kubernetes 的开发人员中,非常受欢迎。不久前,Docker 的 [Mac](https://docs.docker.com/docker-for-mac/kubernetes/) 版和 [Windows](https://docs.docker.com/docker-for-windows/kubernetes/) 版,都试验性地开始自带 Kubernetes(需要下载 “edge” 安装包)。在两者之间,以下原因也许会促使您选择 Minikube 而不是 Docker 桌面版:
<!--
* You already have Minikube installed and running
* You prefer to wait until Docker ships a stable package
* Youre a Linux desktop user
* You are a Windows user who doesnt have Windows 10 Pro with Hyper-V
-->
* 您已经安装了 Minikube 并且它运行良好
* 您想等到 Docker 出稳定版本
* 您是 Linux 桌面用户
* 您是 Windows 用户,但是没有配有 Hyper-V 的 Windows 10 Pro
<!--
Running a local cluster allows folks to work offline and that you dont have to pay for using cloud resources. Cloud provider costs are often rather affordable and free tiers exists, however some folks prefer to avoid having to approve those costs with their manager as well as potentially incur unexpected costs, for example, when leaving cluster running over the weekend.
-->
运行一个本地集群,开发人员可以离线工作,不用支付云服务。云服务收费一般不会太高,并且免费的等级也有,但是一些开发人员不喜欢为了使用云服务而必须得到经理的批准,也不愿意支付意想不到的费用,比如说忘了下线而集群在周末也在运转。
<!--
Some developers prefer to use a remote Kubernetes cluster, and this is usually to allow for larger compute and storage capacity and also enable collaborative workflows more easily. This means its easier for you to pull in a colleague to help with debugging or share access to an app in the team. Additionally, for some developers it can be critical to mirror production environment as closely as possible, especially when it comes down to external cloud services, say, proprietary databases, object stores, message queues, external load balancer, or mail delivery systems.
-->
有些开发人员却更喜欢远程的 Kubernetes 集群,这样他们通常可以获得更大的计算能力和存储容量,也简化了协同工作流程。您可以更容易的拉上一个同事来帮您调试,或者在团队内共享一个应用的使用。再者,对某些开发人员来说,尽可能的让开发环境类似生产环境至关重要,尤其是您依赖外部厂商的云服务时,如:专有数据库、云对象存储、消息队列、外商的负载均衡器或者邮件投递系统。
<!--
In summary, there are good reasons for you to develop against a local cluster as well as a remote one. It very much depends on in which phase you are: from early prototyping and/or developing alone to integrating a set of more stable microservices.
-->
总之,无论您选择本地或者远程集群,理由都足够多。这很大程度上取决于您所处的阶段:从早期的原型设计/单人开发到后期面对一批稳定微服务的集成。
<!--
Now that you have a basic idea of the options around the runtime environment, lets move on to how to iteratively develop and deploy your app.
-->
既然您已经了解到运行环境的基本选项,那么我们就接着讨论如何迭代式的开发并部署您的应用。
<!--
## The tools of the trade
-->
## 常用工具
<!--
We are now going to review tooling allowing you to develop apps on Kubernetes with the focus on having minimal impact on your existing workflow. We strive to provide an unbiased description including implications of using each of the tools in general terms.
-->
我们现在回顾既可以允许您可以在 Kubernetes 上开发应用程序又尽可能最小地改变您现有的工作流程的一些工具。我们致力于提供一份不偏不倚的描述,也会提及使用某个工具将会意味着什么。
<!--
Note that this is a tricky area since even for established technologies such as, for example, JSON vs YAML vs XML or REST vs gRPC vs SOAP a lot depends on your background, your preferences and organizational settings. Its even harder to compare tooling in the Kubernetes ecosystem as things evolve very rapidly and new tools are announced almost on a weekly basis; during the preparation of this post alone, for example, [Gitkube](https://gitkube.sh/) and [Watchpod](https://github.com/MinikubeAddon/watchpod) came out. To cover these new tools as well as related, existing tooling such as [Weave Flux](https://github.com/weaveworks/flux) and OpenShifts [S2I](https://docs.openshift.com/container-platform/3.9/creating_images/s2i.html) we are planning a follow-up blog post to the one youre reading.
-->
请注意这很棘手,因为即使在成熟定型的技术中做选择,比如说在 JSON、YAML、XML、REST、gRPC 或者 SOAP 之间做选择,很大程度也取决于您的背景、喜好以及公司环境。在 Kubernetes 生态系统内比较各种工具就更加困难,因为技术发展太快,几乎每周都有新工具面市;举个例子,仅在准备这篇博客的期间,[Gitkube](https://gitkube.sh/) 和 [Watchpod](https://github.com/MinikubeAddon/watchpod) 相继出品。为了进一步覆盖到这些新的,以及一些相关的已推出的工具,例如 [Weave Flux](https://github.com/weaveworks/flux) 和 OpenShift 的 [S2I](https://docs.openshift.com/container-platform/3.9/creating_images/s2i.html),我们计划再写一篇跟进的博客。
### Draft
<!--
[Draft](https://github.com/Azure/draft) aims to help you get started deploying any app to Kubernetes. It is capable of applying heuristics as to what programming language your app is written in and generates a Dockerfile along with a Helm chart. It then runs the build for you and deploys resulting image to the target cluster via the Helm chart. It also allows user to setup port forwarding to localhost very easily.
-->
[Draft](https://github.com/Azure/draft) 旨在帮助您将任何应用程序部署到 Kubernetes。它能够检测到您的应用所使用的编程语言,并且生成一份 Dockerfile 和 Helm 图表。然后它替您启动构建并且依照 Helm 图表把所生产的镜像部署到目标集群。它也可以让您很容易地设置到 localhost 的端口映射。
<!--
Implications:
-->
这意味着:
<!--
* User can customise the chart and Dockerfile templates however they like, or even create a [custom pack](https://github.com/Azure/draft/blob/master/docs/reference/dep-003.md) (with Dockerfile, the chart and more) for future use
-->
* 用户可以任意地自定义 Helm 图表和 Dockerfile 模版,或者甚至创建一个 [custom pack](https://github.com/Azure/draft/blob/master/docs/reference/dep-003.md)(使用 Dockerfile、Helm 图表以及其他)以备后用
<!--
* Its not very simple to guess how just any app is supposed to be built, in some cases user may need to tweak Dockerfile and the Helm chart that Draft generates
-->
* 要想理解一个应用应该怎么构建并不容易,在某些情况下,用户也许需要修改 Draft 生成的 Dockerfile 和 Heml 图表
<!--
* With [Draft version 0.12.0](https://github.com/Azure/draft/releases/tag/v0.12.0) or older, every time user wants to test a change, they need to wait for Draft to copy the code to the cluster, then run the build, push the image and release updated chart; this can timely, but it results in an image being for every single change made by the user (whether it was committed to git or not)
-->
* 如果使用 [Draft version 0.12.0](https://github.com/Azure/draft/releases/tag/v0.12.0)<sup>1</sup> 或者更老版本,每一次用户想要测试一个改动,他们需要等 Draft 把代码拷贝到集群,运行构建,推送镜像并且发布更新后的图表;这些步骤可能进行得很快,但是每一次用户的改动都会产生一个镜像(无论是否提交到 git )
<!--
* As of Draft version 0.12.0, builds are executed locally
* User doesnt have an option to choose something other than Helm for deployment
* It can watch local changes and trigger deployments, but this feature is not enabled by default
-->
* 在 Draft 0.12.0版本,构建是本地进行的
* 用户不能选择 Helm 以外的工具进行部署
* 它可以监控本地的改动并且触发部署,但是这个功能默认是关闭的
<!--
* It allows developer to use either local or remote Kubernetes cluster
* Deploying to production is up to the user, Draft authors recommend their other project Brigade
* Can be used instead of Skaffold, and along the side of Squash
-->
* 它允许开发人员使用本地或者远程的 Kubernates 集群
* 如何部署到生产环境取决于用户, Draft 的作者推荐了他们的另一个项目 - Brigade
* 可以代替 Skaffold 并且可以和 Squash 一起使用
<!--
More info:
-->
更多信息:
* [Draft: Kubernetes container development made easy](https://kubernetes.io/blog/2017/05/draft-kubernetes-container-development)
* [Getting Started Guide](https://github.com/Azure/draft/blob/master/docs/getting-started.md)
【1】:此处疑为 0.11.0,因为 0.12.0 已经支持本地构建,见下一条
### Skaffold
<!--
[Skaffold](https://github.com/GoogleCloudPlatform/skaffold) is a tool that aims to provide portability for CI integrations with different build system, image registry and deployment tools. It is different from Draft, yet somewhat comparable. It has a basic capability for generating manifests, but its not a prominent feature. Skaffold is extendible and lets user pick tools for use in each of the steps in building and deploying their app.
-->
[Skaffold](https://github.com/GoogleCloudPlatform/skaffold) 让 CI 集成具有可移植性的,它允许用户采用不同的构建系统,镜像仓库和部署工具。它不同于 Draft,同时也具有一定的可比性。它具有生成系统清单的基本能力,但那不是一个重要功能。Skaffold 易于扩展,允许用户在构建和部署应用的每一步选取相应的工具。
<!--
Implications:
-->
这意味着:
<!--
* Modular by design
* Works independently of CI vendor, user doesnt need Docker or Kubernetes plugin
* Works without CI as such, i.e. from the developers laptop
* It can watch local changes and trigger deployments
-->
* 模块化设计
* 不依赖于 CI,用户不需要 Docker 或者 Kubernetes 插件
* 没有 CI 也可以工作,也就是说,可以在开发人员的电脑上工作
* 它可以监控本地的改动并且触发部署
<!--
* It allows developer to use either local or remote Kubernetes cluster
* It can be used to deploy to production, user can configure how exactly they prefer to do it and provide different kind of pipeline for each target environment
* Can be used instead of Draft, and along the side with most other tools
-->
* 它允许开发人员使用本地或者远程的 Kubernetes 集群
* 它可以用于部署生产环境,用户可以精确配置,也可以为每一套目标环境提供不同的生产线
* 可以代替 Draft,并且和其他工具一起使用
<!--
More info:
-->
更多信息:
* [Introducing Skaffold: Easy and repeatable Kubernetes development](https://cloudplatform.googleblog.com/2018/03/introducing-Skaffold-Easy-and-repeatable-Kubernetes-development.html)
* [Getting Started Guide](https://github.com/GoogleCloudPlatform/skaffold#getting-started-with-local-tooling)
### Squash
<!--
[Squash](https://github.com/solo-io/squash) consists of a debug server that is fully integrated with Kubernetes, and a IDE plugin. It allows you to insert breakpoints and do all the fun stuff you are used to doing when debugging an application using an IDE. It bridges IDE debugging experience with your Kubernetes cluster by allowing you to attach the debugger to a pod running in your Kubernetes cluster.
-->
[Squash](https://github.com/solo-io/squash) 包含一个与 Kubernetes 全面集成的调试服务器,以及一个 IDE 插件。它允许您插入断点和所有的调试操作,就像您所习惯的使用 IDE 调试一个程序一般。它允许您将调试器应用到 Kubernetes 集群中运行的 pod 上,从而让您可以使用 IDE 调试 Kubernetes 集群。
<!--
Implications:
-->
这意味着:
<!--
* Can be used independently of other tools you chose
* Requires a privileged DaemonSet
* Integrates with popular IDEs
* Supports Go, Python, Node.js, Java and gdb
-->
* 不依赖您选择的其它工具
* 需要一组特权 DaemonSet
* 可以和流行 IDE 集成
* 支持 Go、Python、Node.js、Java 和 gdb
<!--
* User must ensure application binaries inside the container image are compiled with debug symbols
* Can be used in combination with any other tools described here
* It can be used with either local or remote Kubernetes cluster
-->
* 用户必须确保容器中的应用程序使编译时使用了调试符号
* 可与此处描述的任何其他工具结合使用
* 它可以与本地或远程 Kubernetes 集群一起使用
<!--
More info:
-->
更多信息:
* [Squash: A Debugger for Kubernetes Apps](https://www.youtube.com/watch?v=5TrV3qzXlgI)
* [Getting Started Guide](https://github.com/solo-io/squash/blob/master/docs/getting-started.md)
### Telepresence
<!--
[Telepresence](https://www.telepresence.io/) connects containers running on developers workstation with a remote Kubernetes cluster using a two-way proxy and emulates in-cluster environment as well as provides access to config maps and secrets. It aims to improve iteration time for container app development by eliminating the need for deploying app to the cluster and leverages local container to abstract network and filesystem interface in order to make it appear as if the app was running in the cluster.
-->
[Telepresence](https://www.telepresence.io/) 使用双向代理将开发人员工作站上运行的容器与远程 Kubernetes 集群连接起来,并模拟集群内环境以及提供对配置映射和机密的访问。它消除了将应用部署到集群的需要,并利用本地容器抽象出网络和文件系统接口,以使其看起来应用好像就在集群中运行,从而改进容器应用程序开发的迭代时间。
<!--
Implications:
-->
这意味着:
<!--
* It can be used independently of other tools you chose
* Using together with Squash is possible, although Squash would have to be used for pods in the cluster, while conventional/local debugger would need to be used for debugging local container thats connected to the cluster via Telepresence
* Telepresence imposes some network latency
-->
* 它不依赖于其它您选取的工具
* 可以同 Squash 一起使用,但是 Squash 必须用于调试集群中的 pods,而传统/本地调试器需要用于调试通过 Telepresence 连接到集群的本地容器
* Telepresence 会产生一些网络延迟
<!--
* It provides connectivity via a side-car process - sshuttle, which is based on SSH
* More intrusive dependency injection mode with LD_PRELOAD/DYLD_INSERT_LIBRARIES is also available
* It is most commonly used with a remote Kubernetes cluster, but can be used with a local one also
-->
* 它通过辅助进程提供连接 - sshuttle,基于SSH的一个工具
* 还提供了使用 LD_PRELOAD/DYLD_INSERT_LIBRARIES 的更具侵入性的依赖注入模式
* 它最常用于远程 Kubernetes 集群,但也可以与本地集群一起使用
<!--
More info:
-->
更多信息:
* [Telepresence: fast, realistic local development for Kubernetes microservices](https://www.telepresence.io/)
* [Getting Started Guide](https://www.telepresence.io/tutorials/docker)
* [How It Works](https://www.telepresence.io/discussion/how-it-works)
### Ksync
<!--
[Ksync](https://github.com/vapor-ware/ksync) synchronizes application code (and configuration) between your local machine and the container running in Kubernetes, akin to what [oc rsync](https://docs.openshift.com/container-platform/3.9/dev_guide/copy_files_to_container.html) does in OpenShift. It aims to improve iteration time for app development by eliminating build and deployment steps.
-->
[Ksync](https://github.com/vapor-ware/ksync) 在本地计算机和运行在 Kubernetes 中的容器之间同步应用程序代码(和配置),类似于 [oc rsync](https://docs.openshift.com/container-platform/3.9/dev_guide/copy_files_to_container.html) 在 OpenShift 中的角色。它旨在通过消除构建和部署步骤来缩短应用程序开发的迭代时间。
<!--
Implications:
-->
这意味着:
<!--
* It bypasses container image build and revision control
* Compiled language users have to run builds inside the pod (TBC)
* Two-way sync remote files are copied to local directory
* Container is restarted each time remote filesystem is updated
* No security features development only
-->
* 它绕过容器图像构建和修订控制
* 使用编译语言的用户必须在 pod(TBC)内运行构建
* 双向同步 - 远程文件会复制到本地目录
* 每次更新远程文件系统时都会重启容器
* 无安全功能 - 仅限开发
<!--
* Utilizes [Syncthing](https://github.com/syncthing/syncthing), a Go library for peer-to-peer sync
* Requires a privileged DaemonSet running in the cluster
* Node has to use Docker with overlayfs2 no other CRI implementations are supported at the time of writing
-->
* 使用 [Syncthing](https://github.com/syncthing/syncthing),一个用于点对点同步的 Go 语言库
* 需要一个在集群中运行的特权 DaemonSet
* Node 必须使用带有 overlayfs2 的 Docker - 在写作本文时,尚不支持其他 CRI 实现
<!--
More info:
-->
更多信息:
* [Getting Started Guide](https://github.com/vapor-ware/ksync#getting-started)
* [How It Works](https://github.com/vapor-ware/ksync/blob/master/docs/architecture.md)
* [Katacoda scenario to try out ksync in your browser](https://www.katacoda.com/vaporio/scenarios/ksync)
* [Syncthing Specification](https://docs.syncthing.net/specs/)
<!--
## Hands-on walkthroughs
-->
## 实践演练
<!--
The app we will be using for the hands-on walkthroughs of the tools in the following is a simple [stock market simulator](https://github.com/kubernauts/dok-example-us), consisting of two microservices:
-->
我们接下来用于练习使用工具的应用是一个简单的[股市模拟器](https://github.com/kubernauts/dok-example-us),包含两个微服务:
<!--
* The `stock-gen` microservice is written in Go and generates stock data randomly and exposes it via HTTP endpoint `/stockdata`.
* A second microservice, `stock-con` is a Node.js app that consumes the stream of stock data from `stock-gen` and provides an aggregation in form of a moving average via the HTTP endpoint `/average/$SYMBOL` as well as a health-check endpoint at `/healthz`.
-->
* `stock-gen`(股市数据生成器)微服务是用 Go 编写的,随机生成股票数据并通过 HTTP 端点 `/ stockdata` 公开
* 第二个微服务,`stock-con`(股市数据消费者)是一个 Node.js 应用程序,它使用来自 `stock-gen` 的股票数据流,并通过 HTTP 端点 `/average/$SYMBOL` 提供股价移动平均线,也提供一个健康检查端点 `/healthz`
<!--
Overall, the default setup of the app looks as follows:
-->
总体上,此应用的默认配置如下图所示:
![Default Setup](/images/blog/2018-05-01-developing-on-kubernetes/dok-architecture_preview.png)
<!--
In the following well do a hands-on walkthrough for a representative selection of tools discussed above: ksync, Minikube with local build, as well as Skaffold. For each of the tools we do the following:
-->
在下文中,我们将选取以上讨论的代表性工具进行实践演练:ksync,具有本地构建的 Minikube 以及 Skaffold。对于每个工具,我们执行以下操作:
<!--
* Set up the respective tool incl. preparations for the deployment and local consumption of the `stock-con` microservice.
* Perform a code update, that is, change the source code of the `/healthz` endpoint in the `stock-con` microservice and observe the updates.
-->
* 设置相应的工具,包括部署准备和 `stock-con` 微服务数据的本地读取
* 执行代码更新,即更改 `stock-con` 微服务的 `/healthz` 端点的源代码并观察网页刷新
<!--
Note that for the target Kubernetes cluster weve been using Minikube locally, but you can also a remote cluster for ksync and Skaffold if you want to follow along.
-->
请注意,我们一直使用 Minikube 的本地 Kubernetes 集群,但是您也可以使用 ksync 和 Skaffold 的远程集群跟随练习。
<!--
### Walkthrough: ksync
-->
### 实践演练:ksync
<!--
As a preparation, install [ksync](https://vapor-ware.github.io/ksync/#installation) and then carry out the following steps to prepare the development setup:
-->
作为准备,安装 [ksync](https://vapor-ware.github.io/ksync/#installation),然后执行以下步骤配置开发环境:
```
$ mkdir -p $(pwd)/ksync
$ kubectl create namespace dok
$ ksync init -n dok
```
<!--
With the basic setup completed we're ready to tell ksyncs local client to watch a certain Kubernetes namespace and then we create a spec to define what we want to sync (the directory `$(pwd)/ksync` locally with `/app` in the container). Note that target pod is specified via the selector parameter:
-->
完成基本设置后,我们可以告诉 ksync 的本地客户端监控 Kubernetes 的某个命名空间,然后我们创建一个规范来定义我们想要同步的文件夹(本地的 `$(pwd)/ksync` 和容器中的 `/ app` )。请注意,目标 pod 是用 selector 参数指定:
```
$ ksync watch -n dok
$ ksync create -n dok --selector=app=stock-con $(pwd)/ksync /app
$ ksync get -n dok
```
<!--
Now we deploy the stock generator and the stock consumer microservice:
-->
现在我们部署股价数据生成器和股价数据消费者微服务:
```
$ kubectl -n=dok apply \
-f https://raw.githubusercontent.com/kubernauts/dok-example-us/master/stock-gen/app.yaml
$ kubectl -n=dok apply \
-f https://raw.githubusercontent.com/kubernauts/dok-example-us/master/stock-con/app.yaml
```
<!--
Once both deployments are created and the pods are running, we forward the `stock-con` service for local consumption (in a separate terminal session):
-->
一旦两个部署建好并且 pod 开始运行,我们转发 `stock-con` 服务以供本地读取(另开一个终端窗口):
```
$ kubectl get -n dok po --selector=app=stock-con \
-o=custom-columns=:metadata.name --no-headers | \
xargs -IPOD kubectl -n dok port-forward POD 9898:9898
```
<!--
With that we should be able to consume the `stock-con` service from our local machine; we do this by regularly checking the response of the `healthz` endpoint like so (in a separate terminal session):
-->
这样,通过定期查询 `healthz` 端点,我们就应该能够从本地机器上读取 `stock-con` 服务,查询命令如下(在一个单独的终端窗口):
```
$ watch curl localhost:9898/healthz
```
<!--
Now change the code in the `ksync/stock-con`directory, for example update the [`/healthz` endpoint code in `service.js`](https://github.com/kubernauts/dok-example-us/blob/2334ee8fb11f8813370122bd46285cf45bdd4c48/stock-con/service.js#L52) by adding a field to the JSON response and observe how the pod gets updated and the response of the `curl localhost:9898/healthz` command changes. Overall you should have something like the following in the end:
-->
现在,改动 `ksync/stock-con` 目录中的代码,例如改动 [`service.js` 中定义的 `/healthz` 端点代码](https://github.com/kubernauts/dok-example-us/blob/2334ee8fb11f8813370122bd46285cf45bdd4c48/stock-con/service.js#L52),在其 JSON 形式的响应中新添一个字段并观察 pod 如何更新以及 `curl localhost9898/healthz` 命令的输出发生何种变化。总的来说,您最后应该看到类似的内容:
![Preview](/images/blog/2018-05-01-developing-on-kubernetes/dok-ksync_preview.png)
<!--
### Walkthrough: Minikube with local build
-->
### 实践演练:带本地构建的 Minikube
<!--
For the following you will need to have Minikube up and running and we will leverage the Minikube-internal Docker daemon for building images, locally. As a preparation, do the following
-->
对于以下内容,您需要启动并运行 Minikube,我们将利用 Minikube 自带的 Docker daemon 在本地构建镜像。作为准备,请执行以下操作
```
$ git clone https://github.com/kubernauts/dok-example-us.git && cd dok-example-us
$ eval $(minikube docker-env)
$ kubectl create namespace dok
```
<!--
Now we deploy the stock generator and the stock consumer microservice:
-->
现在我们部署股价数据生成器和股价数据消费者微服务:
```
$ kubectl -n=dok apply -f stock-gen/app.yaml
$ kubectl -n=dok apply -f stock-con/app.yaml
```
<!--
Once both deployments are created and the pods are running, we forward the `stock-con` service for local consumption (in a separate terminal session):
-->
一旦两个部署建好并且 pod 开始运行,我们转发 `stock-con` 服务以供本地读取(另开一个终端窗口):
```
$ kubectl get -n dok po --selector=app=stock-con \
-o=custom-columns=:metadata.name --no-headers | \
xargs -IPOD kubectl -n dok port-forward POD 9898:9898 &
$ watch curl localhost:9898/healthz
```
<!--
Now change the code in the `stock-con`directory, for example, update the [`/healthz` endpoint code in `service.js`](https://github.com/kubernauts/dok-example-us/blob/2334ee8fb11f8813370122bd46285cf45bdd4c48/stock-con/service.js#L52) by adding a field to the JSON response. Once youre done with your code update, the last step is to build a new container image and kick off a new deployment like shown below:
-->
现在,改一下 `ksync/stock-con` 目录中的代码,例如修改 [`service.js` 中定义的 `/healthz` 端点代码](https://github.com/kubernauts/dok-example-us/blob/2334ee8fb11f8813370122bd46285cf45bdd4c48/stock-con/service.js#L52),在其 JSON 形式的响应中添加一个字段。在您更新完代码后,最后一步是构建新的容器镜像并启动新部署,如下所示:
```
$ docker build -t stock-con:dev -f Dockerfile .
$ kubectl -n dok set image deployment/stock-con *=stock-con:dev
```
<!--
Overall you should have something like the following in the end:
-->
总的来说,您最后应该看到类似的内容:
![Local Preview](/images/blog/2018-05-01-developing-on-kubernetes/dok-minikube-localdev_preview.png)
<!--
### Walkthrough: Skaffold
-->
### 实践演练:Skaffold
<!--
To perform this walkthrough you first need to install [Skaffold](https://github.com/GoogleContainerTools/skaffold#installation). Once that is done, you can do the following steps to prepare the development setup:
-->
要进行此演练,首先需要安装 [Skaffold](https://github.com/GoogleContainerTools/skaffold#installation)。完成后,您可以执行以下步骤来配置开发环境:
```
$ git clone https://github.com/kubernauts/dok-example-us.git && cd dok-example-us
$ kubectl create namespace dok
```
<!--
Now we deploy the stock generator (but not the stock consumer microservice, that is done via Skaffold):
-->
现在我们部署股价数据生成器(但是暂不部署股价数据消费者,此服务将使用 Skaffold 完成):
```
$ kubectl -n=dok apply -f stock-gen/app.yaml
```
<!--
Note that initially we experienced an authentication error when doing `skaffold dev` and needed to apply a fix as described in [Issue 322](https://github.com/GoogleContainerTools/skaffold/issues/322). Essentially it means changing the content of `~/.docker/config.json` to:
-->
请注意,最初我们在执行 `skaffold dev` 时发生身份验证错误,为避免此错误需要安装[问题322](https://github.com/GoogleContainerTools/skaffold/issues/322) 中所述的修复。本质上,需要将 `〜/.docker/config.json` 的内容改为:
```
{
"auths": {}
}
```
<!--
Next, we had to patch `stock-con/app.yaml` slightly to make it work with Skaffold:
-->
接下来,我们需要略微改动 `stock-con/app.yaml`,这样 Skaffold 才能正常使用此文件:
<!--
Add a `namespace` field to both the `stock-con` deployment and the service with the value of `dok`.
Change the `image` field of the container spec to `quay.io/mhausenblas/stock-con` since Skaffold manages the container image tag on the fly.
-->
`stock-con` 部署和服务中添加一个 `namespace` 字段,其值为 `dok`
将容器规范的 `image` 字段更改为 `quay.io/mhausenblas/stock-con`,因为 Skaffold 可以即时管理容器镜像标签。
<!--
The resulting `app.yaml` file stock-con looks as follows:
-->
最终的 stock-con 的 `app.yaml` 文件看起来如下:
```
apiVersion: apps/v1beta1
kind: Deployment
metadata:
labels:
app: stock-con
name: stock-con
namespace: dok
spec:
replicas: 1
template:
metadata:
labels:
app: stock-con
spec:
containers:
- name: stock-con
image: quay.io/mhausenblas/stock-con
env:
- name: DOK_STOCKGEN_HOSTNAME
value: stock-gen
- name: DOK_STOCKGEN_PORT
value: "9999"
ports:
- containerPort: 9898
protocol: TCP
livenessProbe:
initialDelaySeconds: 2
periodSeconds: 5
httpGet:
path: /healthz
port: 9898
readinessProbe:
initialDelaySeconds: 2
periodSeconds: 5
httpGet:
path: /healthz
port: 9898
---
apiVersion: v1
kind: Service
metadata:
labels:
app: stock-con
name: stock-con
namespace: dok
spec:
type: ClusterIP
ports:
- name: http
port: 80
protocol: TCP
targetPort: 9898
selector:
app: stock-con
```
<!--
The final step before we can start development is to configure Skaffold. So, create a file `skaffold.yaml` in the `stock-con/` directory with the following content:
-->
我们能够开始开发之前的最后一步是配置 Skaffold。因此,在 `stock-con/` 目录中创建文件 `skaffold.yaml`,其中包含以下内容:
```
apiVersion: skaffold/v1alpha2
kind: Config
build:
artifacts:
- imageName: quay.io/mhausenblas/stock-con
workspace: .
docker: {}
local: {}
deploy:
kubectl:
manifests:
- app.yaml
```
<!--
Now were ready to kick off the development. For that execute the following in the `stock-con/` directory:
-->
现在我们准备好开始开发了。为此,在 `stock-con/` 目录中执行以下命令:
```
$ skaffold dev
```
<!--
Above command triggers a build of the `stock-con` image and then a deployment. Once the pod of the `stock-con` deployment is running, we again forward the `stock-con` service for local consumption (in a separate terminal session) and check the response of the `healthz` endpoint:
-->
上面的命令将触发 `stock-con` 图像的构建和部署。一旦 `stock-con` 部署的 pod 开始运行,我们再次转发 `stock-con` 服务以供本地读取(在单独的终端窗口中)并检查 `healthz` 端点的响应:
```bash
$ kubectl get -n dok po --selector=app=stock-con \
-o=custom-columns=:metadata.name --no-headers | \
xargs -IPOD kubectl -n dok port-forward POD 9898:9898 &
$ watch curl localhost:9898/healthz
```
<!--
If you now change the code in the `stock-con`directory, for example, by updating the [`/healthz` endpoint code in `service.js`](https://github.com/kubernauts/dok-example-us/blob/2334ee8fb11f8813370122bd46285cf45bdd4c48/stock-con/service.js#L52) by adding a field to the JSON response, you should see Skaffold noticing the change and create a new image as well as deploy it. The resulting screen would look something like this:
-->
现在,如果您修改一下 `stock-con` 目录中的代码,例如 [`service.js` 中定义的 `/healthz` 端点代码](https://github.com/kubernauts/dok-example-us/blob/2334ee8fb11f8813370122bd46285cf45bdd4c48/stock-con/service.js#L52),在其 JSON 形式的响应中添加一个字段,您应该看到 Skaffold 可以检测到代码改动并创建新图像以及部署它。您的屏幕看起来应该类似这样:
![Skaffold Preview](/images/blog/2018-05-01-developing-on-kubernetes/dok-skaffold_preview.png)
<!--
By now you should have a feeling how different tools enable you to develop apps on Kubernetes and if youre interested to learn more about tools and or methods, check out the following resources:
-->
至此,您应该对不同的工具如何帮您在 Kubernetes 上开发应用程序有了一定的概念,如果您有兴趣了解有关工具和/或方法的更多信息,请查看以下资源:
* Blog post by Shahidh K Muhammed on [Draft vs Gitkube vs Helm vs Ksonnet vs Metaparticle vs Skaffold](https://blog.hasura.io/draft-vs-gitkube-vs-helm-vs-ksonnet-vs-metaparticle-vs-skaffold-f5aa9561f948) (03/2018)
* Blog post by Gergely Nemeth on [Using Kubernetes for Local Development](https://nemethgergely.com/using-kubernetes-for-local-development/index.html), with a focus on Skaffold (03/2018)
* Blog post by Richard Li on [Locally developing Kubernetes services (without waiting for a deploy)](https://hackernoon.com/locally-developing-kubernetes-services-without-waiting-for-a-deploy-f63995de7b99), with a focus on Telepresence
* Blog post by Abhishek Tiwari on [Local Development Environment for Kubernetes using Minikube](https://abhishek-tiwari.com/local-development-environment-for-kubernetes-using-minikube/) (09/2017)
* Blog post by Aymen El Amri on [Using Kubernetes for Local Development — Minikube](https://medium.com/devopslinks/using-kubernetes-minikube-for-local-development-c37c6e56e3db) (08/2017)
* Blog post by Alexis Richardson on [GitOps - Operations by Pull Request](https://www.weave.works/blog/gitops-operations-by-pull-request) (08/2017)
* Slide deck [GitOps: Drive operations through git](https://docs.google.com/presentation/d/1d3PigRVt_m5rO89Ob2XZ16bW8lRSkHHH5k816-oMzZo/), with a focus on Gitkube by Tirumarai Selvan (03/2018)
* Slide deck [Developing apps on Kubernetes](https://speakerdeck.com/mhausenblas/developing-apps-on-kubernetes), a talk Michael Hausenblas gave at a CNCF Paris meetup (04/2018)
* YouTube videos:
* [TGI Kubernetes 029: Developing Apps with Ksync](https://www.youtube.com/watch?v=QW85Y0Ug3KY )
* [TGI Kubernetes 030: Exploring Skaffold](https://www.youtube.com/watch?v=McwwWhCXMxc)
* [TGI Kubernetes 031: Connecting with Telepresence](https://www.youtube.com/watch?v=zezeBAJ_3w8)
* [TGI Kubernetes 033: Developing with Draft](https://www.youtube.com/watch?v=8B1D7cTMPgA)
* Raw responses to the [Kubernetes Application Survey](https://docs.google.com/spreadsheets/d/12ilRCly2eHKPuicv1P_BD6z__PXAqpiaR-tDYe2eudE/edit) 2018 by SIG Apps
<!--
With that we wrap up this post on how to go about developing apps on Kubernetes, we hope you learned something and if you have feedback and/or want to point out a tool that you found useful, please let us know via Twitter: [Ilya](https://twitter.com/errordeveloper) and [Michael](https://twitter.com/mhausenblas).
-->
有了这些,我们这篇关于如何在 Kubernetes 上开发应用程序的博客就可以收尾了,希望您有所收获,如果您有反馈和/或想要指出您认为有用的工具,请通过 Twitter 告诉我们:[Ilya](https://twitter.com/errordeveloper) 和 [Michael](https://twitter.com/mhausenblas)
@@ -0,0 +1,67 @@
---
title: 'Kubernetes 1 11:向 discuss kubernetes 问好'
layout: blog
date: 2018-05-30
---
<!--
---
title: ' Kubernetes 1 11say-hello-to-discuss-kubernetes '
cn-approvers:
- congfairy
layout: blog
date: 2018-05-30
---
-->
<!--
Author: Jorge Castro (Heptio)
-->
作者: Jorge Castro (Heptio)
<!--
Communication is key when it comes to engaging a community of over 35,000 people in a global and remote environment. Keeping track of everything in the Kubernetes community can be an overwhelming task. On one hand we have our official resources, like Stack Overflow, GitHub, and the mailing lists, and on the other we have more ephemeral resources like Slack, where you can hop in, chat with someone, and then go on your merry way.
-->
就一个超过 35,000 人的全球性社区而言,参与其中时沟通是非常关键的。 跟踪 Kubernetes 社区中的所有内容可能是一项艰巨的任务。 一方面,我们有官方资源,如 Stack OverflowGitHub 和邮件列表,另一方面,我们有更多瞬时性的资源,如 Slack,你可以加入进去、与某人聊天然后各走各路。
<!--
Slack is great for casual and timely conversations and keeping up with other community members, but communication can't be easily referenced in the future. Plus it can be hard to raise your hand in a room filled with 35,000 participants and find a voice. Mailing lists are useful when trying to reach a specific group of people with a particular ask and want to keep track of responses on the thread, but can be daunting with a large amount of people. Stack Overflow and GitHub are ideal for collaborating on projects or questions that involve code and need to be searchable in the future, but certain topics like "What's your favorite CI/CD tool" or "Kubectl tips and tricks" are offtopic there.
While our current assortment of communication channels are valuable in their own rights, we found that there was still a gap between email and real time chat. Across the rest of the web, many other open source projects like Docker, Mozilla, Swift, Ghost, and Chef have had success building communities on top of Discourse, an open source discussion platform. So what if we could use this tool to bring our discussions together under a modern roof, with an open API, and perhaps not let so much of our information fade into the ether? There's only one way to find out: Welcome to discuss.kubernetes.io
-->
Slack 非常适合随意和及时的对话,并与其他社区成员保持联系,但未来很难轻易引用通信。此外,在35,000名参与者中提问并得到回答很难。邮件列表在有问题尝试联系特定人群并且想要跟踪大家的回应时非常有用,但是对于大量人员来说可能是麻烦的。 Stack Overflow 和 GitHub 非常适合在涉及代码的项目或问题上进行协作,并且如果在将来要进行搜索也很有用,但某些主题如“你最喜欢的 CI/CD 工具是什么”或“[Kubectl提示和技巧](http://discuss.kubernetes.io/t/kubectl-tips-and-tricks/192)“在那里是没有意义的。
虽然我们目前的各种沟通渠道对他们自己来说都很有价值,但我们发现电子邮件和实时聊天之间仍然存在差距。在网络的其他部分,许多其他开源项目,如 Docker、Mozilla、Swift、Ghost 和 Chef,已经成功地在[Discourse](http://www.discourse.org/features)之上构建社区,一个开放的讨论平台。那么,如果我们可以使用这个工具将我们的讨论结合在一个平台下,使用开放的API,或许也不会让我们的大部分信息消失在网络中呢?只有一种方法可以找到:欢迎来到[discuss.kubernetes.io](http://discuss.kubernetes.io)
<!--
Right off the bat we have categories that users can browse. Checking and posting in these categories allow users to participate in things they might be interested in without having to commit to subscribing to a list. Granular notification controls allow the users to subscribe to just the category or tag they want, and allow for responding to topics via email.
Ecosystem partners and developers now have a place where they can [announce projects](https://discuss.kubernetes.io/c/announcements) that they're working on to users without wondering if it would be offtopic on an official list. We can make this place be not just about core Kubernetes, but about the hundreds of wonderful tools our community is building.
This new community forum gives people a place to go where they can discuss Kubernetes, and a sounding board for developers to make announcements of things happening around Kubernetes, all while being searchable and easily accessible to a wider audience.
Hop in and take a look. We're just getting started, so you might want to begin by [introducing yourself](https://discuss.kubernetes.io/t/introduce-yourself-here/56) and then browsing around. Apps are also available for [Android](https://play.google.com/store/apps/details?id=com.discourse&hl=en_US&rdid=com.discourse&pli=1)and [iOS](https://itunes.apple.com/us/app/discourse-app/id1173672076?mt=8).
-->
马上,我们有用户可以浏览的类别。检查和发布这些类别允许用户参与他们可能感兴趣的事情,而无需订阅列表。精细的通知控件允许用户只订阅他们想要的类别或标签,并允许通过电子邮件回复主题。
生态系统合作伙伴和开发人员现在有一个地方可以[宣布项目](http://discuss.kubernetes.io/c/announcements),他们正在为用户工作,而不会想知道它是否会在官方列表中脱离主题。我们可以让这个地方不仅仅是关于核心 Kubernetes,而是关于我们社区正在建设的数百个精彩工具。
这个新的社区论坛为人们提供了一个可以讨论 Kubernetes 的地方,也是开发人员在 Kubernetes 周围发布事件的声音板,同时可以搜索并且更容易被更广泛的用户访问。
进来看看。我们刚刚开始,所以,您可能希望从[自我介绍](http://discuss.kubernetes.io/t/introduce-yourself-here/56)开始,到处浏览。也有 [Android](http://play.google.com/store/apps/details?id=com.discourse&hl=en_US&rdid=com.discourse&pli=1) 和 [iOS](http://itunes.apple.com/us/app/discourse-app/id1173672076?mt=8) 应用下载。
@@ -0,0 +1,42 @@
---
title: Kubernetes 这四年
approvers:
cn-approvers:
- congfairy
layout: blog
date: 2018-06-06
---
<!--
**Author**: Joe Beda (CTO and Founder, Heptio)
On June 6, 2014 I checked in the [first commit](https://github.com/kubernetes/kubernetes/commit/2c4b3a562ce34cddc3f8218a2c4d11c7310e6d56) of what would become the public repository for Kubernetes. Many would assume that is where the story starts. It is the beginning of history, right? But that really doesnt tell the whole story.
-->
**作者**Joe Beda( Heptio 首席技术官兼创始人)
2014 年 6 月 6 日,我检查了 Kubernetes 公共代码库的[第一次 commit](https://github.com/kubernetes/kubernetes/commit/2c4b3a562ce34cddc3f8218a2c4d11c7310e6d56) 。许多人会认为这是故事开始的地方。这难道不是一切开始的地方吗?但这的确不能把整个过程说清楚。
![k8s_first_commit](/images/blog/2018-06-06-4-years-of-k8s/k8s-first-commit.png)
<!--
The cast leading up to that commit was large and the success for Kubernetes since then is owed to an ever larger cast.
Kubernetes was built on ideas that had been proven out at Google over the previous ten years with Borg. And Borg, itself, owed its existence to even earlier efforts at Google and beyond.
Concretely, Kubernetes started as some prototypes from Brendan Burns combined with ongoing work from me and Craig McLuckie to better align the internal Google experience with the Google Cloud experience. Brendan, Craig, and I really wanted people to use this, so we made the case to build out this prototype as an open source project that would bring the best ideas from Borg out into the open.
After we got the nod, it was time to actually build the system. We took Brendans prototype (in Java), rewrote it in Go, and built just enough to get the core ideas across. By this time the team had grown to include Ville Aikas, Tim Hockin, Brian Grant, Dawn Chen and Daniel Smith. Once we had something working, someone had to sign up to clean things up to get it ready for public launch. That ended up being me. Not knowing the significance at the time, I created a new repo, moved things over, and checked it in. So while I have the first public commit to the repo, there was work underway well before that.
The version of Kubernetes at that point was really just a shadow of what it was to become. The core concepts were there but it was very raw. For example, Pods were called Tasks. That was changed a day before we went public. All of this led up to the public announcement of Kubernetes on June 10th, 2014 in a keynote from Eric Brewer at the first DockerCon. You can watch that video here:
-->
第一次 commit 涉及的人员众多,自那以后 Kubernetes 的成功归功于更大的开发者阵容。
Kubernetes 建立在过去十年曾经在 Google 的 Borg 集群管理系统中验证过的思路之上。而 Borg 本身也是 Google 和其他公司早期努力的结果。
具体而言,Kubernetes 最初是从 Brendan Burns 的一些原型开始,结合我和 Craig McLuckie 正在进行的工作,以更好地将 Google 内部实践与 Google Cloud 的经验相结合。 Brendan,Craig 和我真的希望人们使用它,所以我们建议将这个原型构建为一个开源项目,将 Borg 的最佳创意带给大家。
在我们所有人同意后,就开始着手构建这个系统了。我们采用了 Brendan 的原型(Java 语言),用 Go 语言重写了它,并且以上述核心思想去构建该系统。到这个时候,团队已经成长为包括 Ville AikasTim HockinBrian GrantDawn Chen 和 Daniel Smith。一旦我们有了一些工作需求,有人必须承担一些脱敏的工作,以便为公开发布做好准备。这个角色最终由我承担。当时,我不知道这件事情的重要性,我创建了一个新的仓库,把代码搬过来,然后进行了检查。所以在我第一次提交 public commit 之前,就有工作已经启动了。
那时 Kubernetes 的版本只是现在版本的简单雏形。核心概念已经有了,但非常原始。例如,Pods 被称为 Tasks,这在我们推广前一天就被替换。2014年6月10日 Eric Brewe 在第一届 DockerCon 上的演讲中正式发布了 Kubernetes 。您可以在此处观看该视频:
<center><iframe width="560" height="315" src="https://www.youtube.com/embed/YrxnVKZeqK8" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe></center>
<!--
But, however raw, that modest start was enough to pique the interest of a community that started strong and has only gotten stronger. Over the past four years Kubernetes has exceeded the expectations of all of us that were there early on. We owe the Kubernetes community a huge debt. The success the project has seen is based not just on code and technology but also the way that an amazing group of people have come together to create something special. The best expression of this is the [set of Kubernetes values](https://github.com/kubernetes/steering/blob/master/values.md) that Sarah Novotny helped curate.
Here is to another 4 years and beyond! 🎉🎉🎉
-->
但是,无论多么原始,这小小的一步足以激起一个开始强大而且变得更强大的社区的兴趣。在过去的四年里,Kubernetes 已经超出了我们所有人的期望。我们对 Kubernetes 社区的所有人员表示感谢。该项目所取得的成功不仅基于代码和技术,还基于一群出色的人聚集在一起所做的有意义的事情。Sarah Novotny 策划的一套 [Kubernetes 价值观](https://github.com/kubernetes/steering/blob/master/values.md)是以上最好的表现形式。
让我们一起期待下一个4年!🎉🎉🎉
@@ -0,0 +1,129 @@
---
title: 'Kubernetes 内的动态 Ingress'
layout: blog
---
<!--
title: Dynamic Ingress in Kubernetes
date: 2018-06-07
Author: Richard Li (Datawire)
-->
作者: Richard Li (Datawire)
<!--
Kubernetes makes it easy to deploy applications that consist of many microservices, but one of the key challenges with this type of architecture is dynamically routing ingress traffic to each of these services. One approach is Ambassador, a Kubernetes-native open source API Gateway built on the Envoy Proxy. Ambassador is designed for dynamic environment where services may come and go frequently.
Ambassador is configured using Kubernetes annotations. Annotations are used to configure specific mappings from a given Kubernetes service to a particular URL. A mapping can include a number of annotations for configuring a route. Examples include rate limiting, protocol, cross-origin request sharing, traffic shadowing, and routing rules.
-->
Kubernetes 可以轻松部署由许多微服务组成的应用程序,但这种架构的关键挑战之一是动态地将流量路由到这些服务中的每一个。
一种方法是使用 [Ambassador](https://www.getambassador.io)
一个基于 [Envoy Proxy](https://www.envoyproxy.io) 构建的 Kubernetes 原生开源 API 网关。
Ambassador 专为动态环境而设计,这类环境中的服务可能被频繁添加或删除。
Ambassador 使用 Kubernetes 注解进行配置。
注解用于配置从给定 Kubernetes 服务到特定 URL 的具体映射关系。
每个映射中可以包括多个注解,用于配置路由。
注解的例子有速率限制、协议、跨源请求共享(CORS)、流量影射和路由规则等。
<!--
## A Basic Ambassador Example
Ambassador is typically installed as a Kubernetes deployment, and is also available as a Helm chart. To configure Ambassador, create a Kubernetes service with the Ambassador annotations. Here is an example that configures Ambassador to route requests to /httpbin/ to the public httpbin.org service:
-->
## 一个简单的 Ambassador 示例
Ambassador 通常作为 Kubernetes Deployment 来安装,也可以作为 Helm Chart 使用。
配置 Ambassador 时,请使用 Ambassador 注解创建 Kubernetes 服务。
下面是一个例子,用来配置 Ambassador,将针对 /httpbin/ 的请求路由到公共的 httpbin.org 服务:
```
apiVersion: v1
kind: Service
metadata:
name: httpbin
annotations:
getambassador.io/config: |
---
apiVersion: ambassador/v0
kind: Mapping
name: httpbin_mapping
prefix: /httpbin/
service: httpbin.org:80
host_rewrite: httpbin.org
spec:
type: ClusterIP
ports:
- port: 80
```
<!--
A mapping object is created with a prefix of /httpbin/ and a service name of httpbin.org. The host_rewrite annotation specifies that the HTTP host header should be set to httpbin.org.
-->
例子中创建了一个 Mapping 对象,其 prefix 设置为 /httpbin/service 名称为 httpbin.org。
其中的 host_rewrite 注解指定 HTTP 的 host 头部字段应设置为 httpbin.org。
<!--
## Kubeflow
Kubeflow provides a simple way to easily deploy machine learning infrastructure on Kubernetes. The Kubeflow team needed a proxy that provided a central point of authentication and routing to the wide range of services used in Kubeflow, many of which are ephemeral in nature.
<center><i>Kubeflow architecture, pre-Ambassador</center></i>
-->
## Kubeflow
[Kubeflow](https://github.com/kubeflow/kubeflow) 提供了一种简单的方法,用于在 Kubernetes 上轻松部署机器学习基础设施。
Kubeflow 团队需要一个代理,为 Kubeflow 中所使用的各种服务提供集中化的认证和路由能力;Kubeflow 中许多服务本质上都是生命期很短的。
<center><i>Kubeflow architecture, pre-Ambassador</center></i>
<!--
## Service configuration
With Ambassador, Kubeflow can use a distributed model for configuration. Instead of a central configuration file, Ambassador allows each service to configure its route in Ambassador via Kubernetes annotations. Here is a simplified example configuration:
-->
## 服务配置
有了 AmbassadorKubeflow 可以使用分布式模型进行配置。
Ambassador 不使用集中的配置文件,而是允许每个服务通过 Kubernetes 注解在 Ambassador 中配置其路由。
下面是一个简化的配置示例:
```
---
apiVersion: ambassador/v0
kind: Mapping
name: tfserving-mapping-test-post
prefix: /models/test/
rewrite: /model/test/:predict
method: POST
service: test.kubeflow:8000
```
<!--
In this example, the “test” service uses Ambassador annotations to dynamically configure a route to the service, triggered only when the HTTP method is a POST, and the annotation also specifies a rewrite rule.
-->
示例中,“test” 服务使用 Ambassador 注解来为服务动态配置路由。
所配置的路由仅在 HTTP 方法是 POST 时触发;注解中同时还给出了一条重写规则。
<!--
With Ambassador, Kubeflow manages routing easily with Kubernetes annotations. Kubeflow configures a single ingress object that directs traffic to Ambassador, then creates services with Ambassador annotations as needed to direct traffic to specific backends. For example, when deploying TensorFlow services, Kubeflow creates and and annotates a K8s service so that the model will be served at https://<ingress host>/models/<model name>/. Kubeflow can also use the Envoy Proxy to do the actual L7 routing. Using Ambassador, Kubeflow takes advantage of additional routing configuration like URL rewriting and method-based routing.
If youre interested in using Ambassador with Kubeflow, the standard Kubeflow install automatically installs and configures Ambassador.
If youre interested in using Ambassador as an API Gateway or Kubernetes ingress solution for your non-Kubeflow services, check out the Getting Started with Ambassador guide.
## Kubeflow and Ambassador
-->
## Kubeflow 和 Ambassador
通过 AmbassadorKubeflow 可以使用 Kubernetes 注解轻松管理路由。
Kubeflow 配置同一个 Ingress 对象,将流量定向到 Ambassador,然后根据需要创建具有 Ambassador 注解的服务,以将流量定向到特定后端。
例如,在部署 TensorFlow 服务时,Kubeflow 会创建 Kubernetes 服务并为其添加注解,
以便用户能够在 `https://<ingress主机>/models/<模型名称>/` 处访问到模型本身。
Kubeflow 还可以使用 Envoy Proxy 来进行实际的 L7 路由。
通过 AmbassadorKubeflow 能够更充分地利用 URL 重写和基于方法的路由等额外的路由配置能力。
如果您对在 Kubeflow 中使用 Ambassador 感兴趣,标准的 Kubeflow 安装会自动安装和配置 Ambassador。
如果您有兴趣将 Ambassador 用作 API 网关或 Kubernetes 的 Ingress 解决方案,
请参阅 [Ambassador 入门指南](https://www.getambassador.io/user-guide/getting-started)。
@@ -0,0 +1,306 @@
---
layout: blog
title: 'KubeDirector:在 Kubernetes 上运行复杂状态应用程序的简单方法'
date: 2018-10-03
---
<!--
layout: blog
title: 'KubeDirector: The easy way to run complex stateful applications on Kubernetes'
date: 2018-10-03
-->
<!--
**Author**: Thomas Phelan (BlueData)
-->
**作者**Thomas PhelanBlueData
<!--
KubeDirector is an open source project designed to make it easy to run complex stateful scale-out application clusters on Kubernetes. KubeDirector is built using the custom resource definition (CRD) framework and leverages the native Kubernetes API extensions and design philosophy. This enables transparent integration with Kubernetes user/resource management as well as existing clients and tools.
-->
KubeDirector 是一个开源项目,旨在简化在 Kubernetes 上运行复杂的有状态扩展应用程序集群。KubeDirector 使用自定义资源定义(CRD)
框架构建,并利用了本地 Kubernetes API 扩展和设计哲学。这支持与 Kubernetes 用户/资源 管理以及现有客户端和工具的透明集成。
<!--
We recently [introduced the KubeDirector project](https://medium.com/@thomas_phelan/operation-stateful-introducing-bluek8s-and-kubernetes-director-aa204952f619/), as part of a broader open source Kubernetes initiative we call BlueK8s. Im happy to announce that the pre-alpha
code for [KubeDirector](https://github.com/bluek8s/kubedirector/) is now available. And in this blog post, Ill show how it works.
-->
我们最近[介绍了 KubeDirector 项目](https://medium.com/@thomas_phelan/operation-stateful-introducing-bluek8s-and-kubernetes-director-aa204952f619/),作为我们称为 BlueK8s 的更广泛的 Kubernetes 开源项目的一部分。我很高兴地宣布 [KubeDirector](https://github.com/bluek8s/kubedirector/) 的
pre-alpha 代码现在已经可用。在这篇博客文章中,我将展示它是如何工作的。
<!--
KubeDirector provides the following capabilities:
-->
KubeDirector 提供以下功能:
<!--
* The ability to run non-cloud native stateful applications on Kubernetes without modifying the code. In other words, its not necessary to decompose these existing applications to fit a microservices design pattern.
* Native support for preserving application-specific configuration and state.
* An application-agnostic deployment pattern, minimizing the time to onboard new stateful applications to Kubernetes.
-->
* 无需修改代码即可在 Kubernetes 上运行非云原生有状态应用程序。换句话说,不需要分解这些现有的应用程序来适应微服务设计模式。
* 本机支持保存特定于应用程序的配置和状态。
* 与应用程序无关的部署模式,最大限度地减少将新的有状态应用程序装载到 Kubernetes 的时间。
<!--
KubeDirector enables data scientists familiar with data-intensive distributed applications such as Hadoop, Spark, Cassandra, TensorFlow, Caffe2, etc. to run these applications on Kubernetes -- with a minimal learning curve and no need to write GO code. The applications controlled by KubeDirector are defined by some basic metadata and an associated package of configuration artifacts. The application metadata is referred to as a KubeDirectorApp resource.
-->
KubeDirector 使熟悉数据密集型分布式应用程序(如 Hadoop、Spark、Cassandra、TensorFlow、Caffe2 等)的数据科学家能够在 Kubernetes 上运行这些应用程序 -- 只需极少的学习曲线,无需编写 GO 代码。由 KubeDirector 控制的应用程序由一些基本元数据和相关的配置工件包定义。应用程序元数据称为 KubeDirectorApp 资源。
<!--
To understand the components of KubeDirector, clone the repository on [GitHub](https://github.com/bluek8s/kubedirector/) using a command similar to:
-->
要了解 KubeDirector 的组件,请使用类似于以下的命令在 [GitHub](https://github.com/bluek8s/kubedirector/) 上克隆存储库:
```
git clone http://<userid>@github.com/bluek8s/kubedirector.
```
<!--
The KubeDirectorApp definition for the Spark 2.2.1 application is located
in the file `kubedirector/deploy/example_catalog/cr-app-spark221e2.json`.
-->
Spark 2.2.1 应用程序的 KubeDirectorApp 定义位于文件 `kubedirector/deploy/example_catalog/cr-app-spark221e2.json` 中。
```
~> cat kubedirector/deploy/example_catalog/cr-app-spark221e2.json
{
"apiVersion": "kubedirector.bluedata.io/v1alpha1",
"kind": "KubeDirectorApp",
"metadata": {
"name" : "spark221e2"
},
"spec" : {
"systemctlMounts": true,
"config": {
"node_services": [
{
"service_ids": [
"ssh",
"spark",
"spark_master",
"spark_worker"
],
```
<!--
The configuration of an application cluster is referred to as a KubeDirectorCluster resource. The
KubeDirectorCluster definition for a sample Spark 2.2.1 cluster is located in the file
`kubedirector/deploy/example_clusters/cr-cluster-spark221.e1.yaml`.
-->
应用程序集群的配置称为 KubeDirectorCluster 资源。示例 Spark 2.2.1 集群的 KubeDirectorCluster 定义位于文件
`kubedirector/deploy/example_clusters/cr-cluster-spark221.e1.yaml` 中。
```
~> cat kubedirector/deploy/example_clusters/cr-cluster-spark221.e1.yaml
apiVersion: "kubedirector.bluedata.io/v1alpha1"
kind: "KubeDirectorCluster"
metadata:
name: "spark221e2"
spec:
app: spark221e2
roles:
- name: controller
replicas: 1
resources:
requests:
memory: "4Gi"
cpu: "2"
limits:
memory: "4Gi"
cpu: "2"
- name: worker
replicas: 2
resources:
requests:
memory: "4Gi"
cpu: "2"
limits:
memory: "4Gi"
cpu: "2"
- name: jupyter
```
<!--
## Running Spark on Kubernetes with KubeDirector
-->
## 使用 KubeDirector 在 Kubernetes 上运行 Spark
<!--
With KubeDirector, its easy to run Spark clusters on Kubernetes.
-->
使用 KubeDirector,可以轻松在 Kubernetes 上运行 Spark 集群。
<!--
First, verify that Kubernetes (version 1.9 or later) is running, using the command `kubectl version`
-->
首先,使用命令 `kubectl version` 验证 Kubernetes(版本 1.9 或更高)是否正在运行
```
~> kubectl version
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.3", GitCommit:"a4529464e4629c21224b3d52edfe0ea91b072862", GitTreeState:"clean", BuildDate:"2018-09-09T18:02:47Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.3", GitCommit:"a4529464e4629c21224b3d52edfe0ea91b072862", GitTreeState:"clean", BuildDate:"2018-09-09T17:53:03Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
```
<!--
Deploy the KubeDirector service and the example KubeDirectorApp resource definitions with the commands:
-->
使用以下命令部署 KubeDirector 服务和示例 KubeDirectorApp 资源定义:
```
cd kubedirector
make deploy
```
<!--
These will start the KubeDirector pod:
-->
这些将启动 KubeDirector pod
```
~> kubectl get pods
NAME READY STATUS RESTARTS AGE
kubedirector-58cf59869-qd9hb 1/1 Running 0 1m
```
<!--
List the installed KubeDirector applications with `kubectl get KubeDirectorApp`
-->
`kubectl get KubeDirectorApp` 列出中已安装的 KubeDirector 应用程序
```
~> kubectl get KubeDirectorApp
NAME AGE
cassandra311 30m
spark211up 30m
spark221e2 30m
```
<!--
Now you can launch a Spark 2.2.1 cluster using the example KubeDirectorCluster file and the
`kubectl create -f deploy/example_clusters/cr-cluster-spark211up.yaml` command.
Verify that the Spark cluster has been started:
-->
现在,您可以使用示例 KubeDirectorCluster 文件和 `kubectl create -f deploy/example_clusters/cr-cluster-spark211up.yaml` 命令
启动 Spark 2.2.1 集群。验证 Spark 集群已经启动:
```
~> kubectl get pods
NAME READY STATUS RESTARTS AGE
kubedirector-58cf59869-djdwl 1/1 Running 0 19m
spark221e2-controller-zbg4d-0 1/1 Running 0 23m
spark221e2-jupyter-2km7q-0 1/1 Running 0 23m
spark221e2-worker-4gzbz-0 1/1 Running 0 23m
spark221e2-worker-4gzbz-1 1/1 Running 0 23m
```
<!--
The running services now include the Spark services:
-->
现在运行的服务包括 Spark 服务:
```
~> kubectl get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubedirector ClusterIP 10.98.234.194 <none> 60000/TCP 1d
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 1d
svc-spark221e2-5tg48 ClusterIP None <none> 8888/TCP 21s
svc-spark221e2-controller-tq8d6-0 NodePort 10.104.181.123 <none> 22:30534/TCP,8080:31533/TCP,7077:32506/TCP,8081:32099/TCP 20s
svc-spark221e2-jupyter-6989v-0 NodePort 10.105.227.249 <none> 22:30632/TCP,8888:30355/TCP 20s
svc-spark221e2-worker-d9892-0 NodePort 10.107.131.165 <none> 22:30358/TCP,8081:32144/TCP 20s
svc-spark221e2-worker-d9892-1 NodePort 10.110.88.221 <none> 22:30294/TCP,8081:31436/TCP 20s
```
<!--
Pointing the browser at port 31533 connects to the Spark Master UI:
-->
将浏览器指向端口 31533 连接到 Spark 主节点 UI
![kubedirector](/images/blog/2018-10-03-kubedirector/kubedirector.png)
<!--
Thats all there is to it!
In fact, in the example above we also deployed a Jupyter notebook along with the Spark cluster.
-->
就是这样!
事实上,在上面的例子中,我们还部署了一个 Jupyter notebook 和 Spark 集群。
<!--
To start another application (e.g. Cassandra), just specify another KubeDirectorApp file:
-->
要启动另一个应用程序(例如 Cassandra),只需指定另一个 KubeDirectorApp 文件:
```
kubectl create -f deploy/example_clusters/cr-cluster-cassandra311.yaml
```
<!--
See the running Cassandra cluster:
-->
查看正在运行的 Cassandra 集群:
```
~> kubectl get pods
NAME READY STATUS RESTARTS AGE
cassandra311-seed-v24r6-0 1/1 Running 0 1m
cassandra311-seed-v24r6-1 1/1 Running 0 1m
cassandra311-worker-rqrhl-0 1/1 Running 0 1m
cassandra311-worker-rqrhl-1 1/1 Running 0 1m
kubedirector-58cf59869-djdwl 1/1 Running 0 1d
spark221e2-controller-tq8d6-0 1/1 Running 0 22m
spark221e2-jupyter-6989v-0 1/1 Running 0 22m
spark221e2-worker-d9892-0 1/1 Running 0 22m
spark221e2-worker-d9892-1 1/1 Running 0 22m
```
<!--
Now you have a Spark cluster (with a Jupyter notebook) and a Cassandra cluster running on Kubernetes.
Use `kubectl get service` to see the set of services.
-->
现在,您有一个 Spark 集群(带有 Jupyter notebook )和一个运行在 Kubernetes 上的 Cassandra 集群。
使用 `kubectl get service` 查看服务集。
```
~> kubectl get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubedirector ClusterIP 10.98.234.194 <none> 60000/TCP 1d
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 1d
svc-cassandra311-seed-v24r6-0 NodePort 10.96.94.204 <none> 22:31131/TCP,9042:30739/TCP 3m
svc-cassandra311-seed-v24r6-1 NodePort 10.106.144.52 <none> 22:30373/TCP,9042:32662/TCP 3m
svc-cassandra311-vhh29 ClusterIP None <none> 8888/TCP 3m
svc-cassandra311-worker-rqrhl-0 NodePort 10.109.61.194 <none> 22:31832/TCP,9042:31962/TCP 3m
svc-cassandra311-worker-rqrhl-1 NodePort 10.97.147.131 <none> 22:31454/TCP,9042:31170/TCP 3m
svc-spark221e2-5tg48 ClusterIP None <none> 8888/TCP 24m
svc-spark221e2-controller-tq8d6-0 NodePort 10.104.181.123 <none> 22:30534/TCP,8080:31533/TCP,7077:32506/TCP,8081:32099/TCP 24m
svc-spark221e2-jupyter-6989v-0 NodePort 10.105.227.249 <none> 22:30632/TCP,8888:30355/TCP 24m
svc-spark221e2-worker-d9892-0 NodePort 10.107.131.165 <none> 22:30358/TCP,8081:32144/TCP 24m
svc-spark221e2-worker-d9892-1 NodePort 10.110.88.221 <none> 22:30294/TCP,8081:31436/TCP 24m
```
<!--
## Get Involved
-->
## 参与其中
<!--
KubeDirector is a fully open source, Apache v2 licensed, project the first of multiple open source projects within a broader initiative we call BlueK8s.
The pre-alpha code for KubeDirector has just been released and we would love for you to join the growing community of developers, contributors, and adopters.
Follow [@BlueK8s](https://twitter.com/BlueK8s/) on Twitter and get involved through these channels:
-->
KubeDirector 是一个完全开放源码的 Apache v2 授权项目 – 在我们称为 BlueK8s 的更广泛的计划中,它是多个开放源码项目中的第一个。
KubeDirector 的 pre-alpha 代码刚刚发布,我们希望您加入到不断增长的开发人员、贡献者和使用者社区。
在 Twitter 上关注 [@BlueK8s](https://twitter.com/BlueK8s/),并通过以下渠道参与:
<!--
* KubeDirector [chat room on Slack](https://join.slack.com/t/bluek8s/shared_invite/enQtNDUwMzkwODY5OTM4LTRhYmRmZmE4YzY3OGUzMjA1NDg0MDVhNDQ2MGNkYjRhM2RlMDNjMTI1NDQyMjAzZGVlMDFkNThkNGFjZGZjMGY/)
* KubeDirector [GitHub repo](https://github.com/bluek8s/kubedirector/)
-->
* KubeDirector [Slack 聊天室](https://join.slack.com/t/bluek8s/shared_invite/enQtNDUwMzkwODY5OTM4LTRhYmRmZmE4YzY3OGUzMjA1NDg0MDVhNDQ2MGNkYjRhM2RlMDNjMTI1NDQyMjAzZGVlMDFkNThkNGFjZGZjMGY/)
* KubeDirector [GitHub 仓库](https://github.com/bluek8s/kubedirector/)
@@ -0,0 +1,127 @@
---
layout: blog
title: 非代码类贡献者指南介绍
date: 2018-10-04
---
<!--
---
layout: blog
title: 'Introducing the Non-Code Contributors Guide'
date: 2018-10-04
---
-->
<!--
**Author**: [Noah Abrahams](https://twitter.com/noah_abrahams) (InfoSiftr), [Jonas Rosland](https://twitter.com/jonasrosland) (VMware), [Ihor Dvoretskyi](https://twitter.com/idvoretskyi) (CNCF)
-->
**作者**: [Noah Abrahams](https://twitter.com/noah_abrahams) (InfoSiftr)[Jonas Rosland](https://twitter.com/jonasrosland) (VMware), [Ihor Dvoretskyi](https://twitter.com/idvoretskyi) (CNCF)
<!--
It was May 2018 in Copenhagen, and the Kubernetes community was enjoying the contributor summit at KubeCon/CloudNativeCon, complete with the first run of the New Contributor Workshop. As a time of tremendous collaboration between contributors, the topics covered ranged from signing the CLA to deep technical conversations. Along with the vast exchange of information and ideas, however, came continued scrutiny of the topics at hand to ensure that the community was being as inclusive and accommodating as possible. Over that spring week, some of the pieces under the microscope included the many themes being covered, and how they were being presented, but also the overarching characteristics of the people contributing and the skill sets involved. From the discussions and analysis that followed grew the idea that the community was not benefiting as much as it could from the many people who wanted to contribute, but whose strengths were in areas other than writing code.
-->
2018 年 5 月 Kubernetes 社区在哥本哈根 KubeCon/CloudNativeCon 期间组织了贡献者峰会,并完成了首次新贡献者研讨会。
在贡献者们大力协作下,讨论的主题既包含如何签署 CLA,也包含深入的技术对话。
在大家广泛交流信息和思想的同时,也再次出现了对手头的主题的批评,其目的是确保社区尽可能具有接纳性和包容性。
在那个春天的一周时间里,被详细讨论的既有许多主题以及它们是如何呈现的,也包括人们贡献的总体特征和所涉及的技能。
基于随后的讨论和分析,大家得到的一个结论是社区并未因为有许多人想要参与并贡献而获益,相反,社区获益最多之处是另外一些人,这些人的优势并不是编写代码。
<!--
**This all led to an effort called the [Non-Code Contributors Guide](https://github.com/kubernetes/community/blob/master/contributors/guide/non-code-contributions.md).**
-->
**在上述诸多因素的推动下,[非代码贡献指南](https://github.com/kubernetes/community/blob/master/contributors/guide/non-code-contributions.md)出现了。**
<!--
Now, its important to note that Kubernetes is rare, if not unique, in the open source world, in that it was defined very early on as both a project and a community. While the project itself is focused on the codebase, it is the community of people driving it forward that makes the project successful. The community works together with an explicit set of [community values](https://github.com/kubernetes/steering/blob/master/values.md), guiding the day-to-day behavior of contributors whether on GitHub, Slack, Discourse, or sitting together over tea or coffee.
-->
现在,重要的是要了解 Kubernetes 在很早就被定义为是既是一个项目也是一个社区,这在开源界即便不是独一无二的,也是不常见的。
作为一个项目,其自身聚焦于代码库;而作为一个社区,是其中的人们推动着它使它成功。
社区基于一组明确的[社区价值观](https://github.com/kubernetes/steering/blob/master/values.md)共同协作。
这些价值观既体现在 GitHub、Slack、演讲形式的交流上, 也体现在坐在一起喝咖啡或喝茶时,它们指导着贡献者们日常的行为。
<!--
By having a community that values people first, and explicitly values a diversity of people, the Kubernetes project is building a product to serve people with diverse needs. The different backgrounds of the contributors bring different approaches to the problem solving, with different methods of collaboration, and all those different viewpoints ultimately create a better project.
-->
通过建造一个以人为本的社区,并重视人群的多元化,Kubernetes 项目正在建造一个服务于需求各异的人群的产品。
不同背景的贡献者带来了解决问题的不同方法以及进行协作的多种方式,所有这些不同的视角最终共同使这个项目变得更好。
<!-- The Non-Code Contributors Guide aims to make it easy for anyone to contribute to the Kubernetes project in a way that makes sense for them. This can be in many forms, technical and non-technical, based on the person's knowledge of the project and their available time. Most individuals are not developers, and most of the worlds developers are not paid to fully work on open source projects. Based on this we have started an ever-growing list of possible ways to contribute to the Kubernetes project in a Non-Code way!
-->
非代码贡献者指南旨在使任何人都能以合理的方式轻松地为 Kubernetes 项目作出贡献。
贡献可以有多种形式,可以是技术的也可以是非技术的,完全取决于个人对项目的了解和他们可用的时间。
大部分人都不是开发者,并且大部分的开发者都不是受雇佣的全职开源项目开发人员。
基于这种情况,我们已经有了一个不断增长的列表,列出了以非代码形式为 Kubernetes 项目做出贡献的可能途径!
<!--
## Get Involved
-->
## 参与其中
<!--
Some of the ways that you can contribute to the Kubernetes community without writing a single line of code include:
-->
下面是一些可以参与 Kubernetes 社区贡献,而不用写任何一行代码的方法:
<!--
- Community education, answering questions on [Discuss](https://discuss.kubernetes.io/), [StackOverflow](https://stackoverflow.com/questions/tagged/kubernetes), and [Slack](http://slack.k8s.io/)
- Outward facing community work such as [hosting meetups](https://www.meetup.com/pro/cncf/) and events
- Writing [project documentation](https://github.com/kubernetes/community/tree/master/sig-docs)
- Writing operational manuals, helping users understand how to run Kubernetes
- Helping deliver Kubernetes, as a part of the [release team](https://github.com/kubernetes/sig-release/blob/master/release-team/README.md)
- Project, program, and [product management](https://github.com/kubernetes/community/blob/master/sig-pm/README.md)
- And many more!
-->
- 社区教育,在 [Discuss](https://discuss.kubernetes.io/)[StackOverflow](https://stackoverflow.com/questions/tagged/kubernetes),和 [Slack](http://slack.k8s.io/) 上回答问题
- 对外的面对面社区工作,比如 [主持 meetup](https://www.meetup.com/pro/cncf/) 和各类活动
- 撰写[项目文档](https://github.com/kubernetes/community/tree/master/sig-docs)
- 撰写操作手册,帮助用户理解如何运行 Kubernetes
- 帮助交付 Kubernetes,作为[发布团队](https://github.com/kubernetes/sig-release/blob/master/release-team/README.md)的一部分
- 项目、编码和[产品管理](https://github.com/kubernetes/community/blob/master/sig-pm/README.md)
- 还有更多!
<!--
The guide to get started with Kubernetes project contribution is [documented on Github](https://github.com/kubernetes/community/tree/master/contributors/guide), and as the Non-Code Contributors Guide is a part of that Kubernetes Contributors Guide, it can be found [here](https://github.com/kubernetes/community/blob/master/contributors/guide/non-code-contributions.md). As stated earlier, this list is not exhaustive and will continue to be a work in progress.
-->
Kubernetes 项目贡献的起步指南在 [Github 上](https://github.com/kubernetes/community/tree/master/contributors/guide)。
由于非代码贡献指南是贡献者指南的一部分,内容同样可以在[这里](https://github.com/kubernetes/community/blob/master/contributors/guide/non-code-contributions.md)找到。
如前所述,该清单并非详尽无遗,它会是一项持续继续进行的工作。
<!--
To date, the typical Non-Code contributions fall into the following categories:
-->
迄今为止,典型的非代码贡献分为以下几类:
<!--
- Roles that are based on skill sets other than “software developer”
- Non-Code contributions in primarily code-based roles
- “Post-Code” roles, that are not code-based, but require knowledge of either the code base or management of the code base
-->
- 基于“软件开发人员”以外的技能组合的角色
- 主要基于代码的角色中的非代码贡献
- “代码提交”角色,它不是基于代码的,但需要知道代码库或代码库的管理
<!--
If you, dear reader, have any additional ideas for a Non-Code way to contribute, whether or not it fits in an existing category, the team will always appreciate if you could help us expand the list.
-->
亲爱的读者,如果您对非代码方式的贡献有任何其他想法,无论它是否适合现有类别,团队将始终感谢您如果可以帮助我们扩展列表。
<!--
If a contribution of the Non-Code nature appeals to you, please read the Non-Code Contributions document, and then check the [Contributor Role Board](https://discuss.kubernetes.io/c/contributors/role-board) to see if there are any open positions where your expertise could be best used! If there are no listed open positions that match your skill set, drop on by the [#sig-contribex](https://kubernetes.slack.com/messages/sig-contribex) channel on Slack, and well point you in the right direction.
-->
如果非代码性质的贡献对您有吸引力,请阅读非代码贡献文档,然后查阅[贡献角色面板](https://discuss.kubernetes.io/c/contributors/role-board)看看是否有任何空缺职位可以最好地利用您的专业知识!如果列表中没有与您的技能组合匹配的职位,请加入 Slack 上的 [#sig-contribex](https://kubernetes.slack.com/messages/sig-contribex) 频道,我们会为您指明正确的方向。
<!--
We hope to see you contributing to the Kubernetes community soon!
-->
我们希望很快能见到您对 Kubernetes 社区对贡献!
@@ -0,0 +1,268 @@
---
layout: blog
title: 'Kubernetes 中的拓扑感知数据卷供应'
date: 2018-10-11
---
<!--
---
layout: blog
title: 'Topology-Aware Volume Provisioning in Kubernetes'
date: 2018-10-11
---
-->
<!--
**Author**: Michelle Au (Google)
-->
**作者**: Michelle Au(谷歌)
<!--
The multi-zone cluster experience with persistent volumes is improving in Kubernetes 1.12 with the topology-aware dynamic provisioning beta feature. This feature allows Kubernetes to make intelligent decisions when dynamically provisioning volumes by getting scheduler input on the best place to provision a volume for a pod. In multi-zone clusters, this means that volumes will get provisioned in an appropriate zone that can run your pod, allowing you to easily deploy and scale your stateful workloads across failure domains to provide high availability and fault tolerance.
-->
通过提供拓扑感知动态卷供应功能,具有持久卷的多区域集群体验在 Kubernetes 1.12 中得到了改进。此功能使得 Kubernetes 在动态供应卷时能做出明智的决策,方法是从调度器获得为 Pod 提供数据卷的最佳位置。在多区域集群环境,这意味着数据卷能够在满足你的 Pod 运行需要的合适的区域被供应,从而允许您跨故障域轻松部署和扩展有状态工作负载,从而提供高可用性和容错能力。
<!--
## Previous challenges
-->
## 以前的挑战
<!--
Before this feature, running stateful workloads with zonal persistent disks (such as AWS ElasticBlockStore, Azure Disk, GCE PersistentDisk) in multi-zone clusters had many challenges. Dynamic provisioning was handled independently from pod scheduling, which meant that as soon as you created a PersistentVolumeClaim (PVC), a volume would get provisioned. This meant that the provisioner had no knowledge of what pods were using the volume, and any pod constraints it had that could impact scheduling.
-->
在此功能被提供之前,在多区域集群中使用区域化的持久磁盘(例如 AWS ElasticBlockStoreAzure DiskGCE PersistentDisk)运行有状态工作负载存在许多挑战。动态供应独立于 Pod 调度处理,这意味着只要您创建了一个 PersistentVolumeClaimPVC),一个卷就会被供应。这也意味着供应者不知道哪些 Pod 正在使用该卷,也不清楚任何可能影响调度的 Pod 约束。
<!--
This resulted in unschedulable pods because volumes were provisioned in zones that:
-->
这导致了不可调度的 Pod,因为在以下区域中配置了卷:
<!--
* did not have enough CPU or memory resources to run the pod
* conflicted with node selectors, pod affinity or anti-affinity policies
* could not run the pod due to taints
-->
* 没有足够的 CPU 或内存资源来运行 Pod
* 与节点选择器、Pod 亲和或反亲和策略冲突
* 由于污点(taint)不能运行 Pod
<!--
Another common issue was that a non-StatefulSet pod using multiple persistent volumes could have each volume provisioned in a different zone, again resulting in an unschedulable pod.
-->
另一个常见问题是,使用多个持久卷的非有状态 Pod 可能会在不同的区域中配置每个卷,从而导致一个不可调度的 Pod。
<!--
Suboptimal workarounds included overprovisioning of nodes, or manual creation of volumes in the correct zones, making it difficult to dynamically deploy and scale stateful workloads.
-->
次优的解决方法包括节点超配,或在正确的区域中手动创建卷,但这会造成难以动态部署和扩展有状态工作负载的问题。
<!--
The topology-aware dynamic provisioning feature addresses all of the above issues.
-->
拓扑感知动态供应功能解决了上述所有问题。
<!--
## Supported Volume Types
-->
## 支持的卷类型
<!--
In 1.12, the following drivers support topology-aware dynamic provisioning:
-->
在 1.12 中,以下驱动程序支持拓扑感知动态供应:
<!--
* AWS EBS
* Azure Disk
* GCE PD (including Regional PD)
* CSI (alpha) - currently only the GCE PD CSI driver has implemented topology support
-->
* AWS EBS
* Azure Disk
* GCE PD (包括 Regional PD
* CSIalpha - 目前只有 GCE PD CSI 驱动实现了拓扑支持
<!--
## Design Principles
-->
## 设计原则
<!--
While the initial set of supported plugins are all zonal-based, we designed this feature to adhere to the Kubernetes principle of portability across environments. Topology specification is generalized and uses a similar label-based specification like in Pod nodeSelectors and nodeAffinity. This mechanism allows you to define your own topology boundaries, such as racks in on-premise clusters, without requiring modifications to the scheduler to understand these custom topologies.
-->
虽然最初支持的插件集都是基于区域的,但我们设计此功能时遵循 Kubernetes 跨环境可移植性的原则。
拓扑规范是通用的,并使用类似于基于标签的规范,如 Pod nodeSelectors 和 nodeAffinity。
该机制允许您定义自己的拓扑边界,例如内部部署集群中的机架,而无需修改调度程序以了解这些自定义拓扑。
<!--
In addition, the topology information is abstracted away from the pod specification, so a pod does not need knowledge of the underlying storage systems topology characteristics. This means that you can use the same pod specification across multiple clusters, environments, and storage systems.
-->
此外,拓扑信息是从 Pod 规范中抽象出来的,因此 Pod 不需要了解底层存储系统的拓扑特征。
这意味着您可以在多个集群、环境和存储系统中使用相同的 Pod 规范。
<!--
## Getting Started
-->
## 入门
<!--
To enable this feature, all you need to do is to create a StorageClass with `volumeBindingMode` set to `WaitForFirstConsumer`:
-->
要启用此功能,您需要做的就是创建一个将 `volumeBindingMode` 设置为 `WaitForFirstConsumer` 的 StorageClass
```
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: topology-aware-standard
provisioner: kubernetes.io/gce-pd
volumeBindingMode: WaitForFirstConsumer
parameters:
type: pd-standard
```
<!--
This new setting instructs the volume provisioner to not create a volume immediately, and instead, wait for a pod using an associated PVC to run through scheduling. Note that previous StorageClass `zone` and `zones` parameters do not need to be specified anymore, as pod policies now drive the decision of which zone to provision a volume in.
-->
这个新设置表明卷配置器不立即创建卷,而是等待使用关联的 PVC 的 Pod 通过调度运行。
请注意,不再需要指定以前的 StorageClass `zone``zones` 参数,因为现在在哪个区域中配置卷由 Pod 策略决定。
<!--
Next, create a pod and PVC with this StorageClass. This sequence is the same as before, but with a different StorageClass specified in the PVC. The following is a hypothetical example, demonstrating the capabilities of the new feature by specifying many pod constraints and scheduling policies:
-->
接下来,使用此 StorageClass 创建一个 Pod 和 PVC。
此过程与之前相同,但在 PVC 中指定了不同的 StorageClass。
以下是一个假设示例,通过指定许多 Pod 约束和调度策略来演示新功能特性:
<!--
* multiple PVCs in a pod
* nodeAffinity across a subset of zones
* pod anti-affinity on zones
-->
* 一个 Pod 多个 PVC
* 跨子区域的节点亲和
* 同一区域 Pod 反亲和
```
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: web
spec:
serviceName: "nginx"
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: failure-domain.beta.kubernetes.io/zone
operator: In
values:
- us-central1-a
- us-central1-f
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- nginx
topologyKey: failure-domain.beta.kubernetes.io/zone
containers:
- name: nginx
image: gcr.io/google_containers/nginx-slim:0.8
ports:
- containerPort: 80
name: web
volumeMounts:
- name: www
mountPath: /usr/share/nginx/html
- name: logs
mountPath: /logs
volumeClaimTemplates:
- metadata:
name: www
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: topology-aware-standard
resources:
requests:
storage: 10Gi
- metadata:
name: logs
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: topology-aware-standard
resources:
requests:
storage: 1Gi
```
<!--
Afterwards, you can see that the volumes were provisioned in zones according to the policies set by the pod:
-->
之后,您可以看到根据 Pod 设置的策略在区域中配置卷:
```
$ kubectl get pv -o=jsonpath='{range .items[*]}{.spec.claimRef.name}{"\t"}{.metadata.labels.failure\-domain\.beta\.kubernetes\.io/zone}{"\n"}{end}'
www-web-0 us-central1-f
logs-web-0 us-central1-f
www-web-1 us-central1-a
logs-web-1 us-central1-a
```
<!--
## How can I learn more?
-->
## 我怎样才能了解更多?
<!--
Official documentation on the topology-aware dynamic provisioning feature is available here:https://kubernetes.io/docs/concepts/storage/storage-classes/#volume-binding-mode
-->
有关拓扑感知动态供应功能的官方文档可在此处获取:https://kubernetes.io/docs/concepts/storage/storage-classes/#volume-binding-mode
<!--
Documentation for CSI drivers is available at https://kubernetes-csi.github.io/docs/
-->
有关 CSI 驱动程序的文档,请访问:https://kubernetes-csi.github.io/docs/
<!--
## Whats next?
-->
## 下一步是什么?
<!--
We are actively working on improving this feature to support:
-->
我们正积极致力于改进此功能以支持:
<!--
* more volume types, including dynamic provisioning for local volumes
* dynamic volume attachable count and capacity limits per node
-->
* 更多卷类型,包括本地卷的动态供应
* 动态容量可附加计数和每个节点的容量限制
<!--
## How do I get involved?
-->
## 我如何参与?
<!--
If you have feedback for this feature or are interested in getting involved with the design and development, join the [Kubernetes Storage Special-Interest-Group](https://github.com/kubernetes/community/tree/master/sig-storage) (SIG). Were rapidly growing and always welcome new contributors.
-->
如果您对此功能有反馈意见或有兴趣参与设计和开发,请加入 [Kubernetes 存储特别兴趣小组](https://github.com/kubernetes/community/tree/master/sig-storage)(SIG)。我们正在快速成长,并始终欢迎新的贡献者。
<!--
Special thanks to all the contributors that helped bring this feature to beta, including Cheng Xing ([verult](https://github.com/verult)), Chuqiang Li ([lichuqiang](https://github.com/lichuqiang)), David Zhu ([davidz627](https://github.com/davidz627)), Deep Debroy ([ddebroy](https://github.com/ddebroy)), Jan Šafránek ([jsafrane](https://github.com/jsafrane)), Jordan Liggitt ([liggitt](https://github.com/liggitt)), Michelle Au ([msau42](https://github.com/msau42)), Pengfei Ni ([feiskyer](https://github.com/feiskyer)), Saad Ali ([saad-ali](https://github.com/saad-ali)), Tim Hockin ([thockin](https://github.com/thockin)), and Yecheng Fu ([cofyc](https://github.com/cofyc)).
-->
特别感谢帮助推出此功能的所有贡献者,包括 Cheng Xing ([verult](https://github.com/verult))、Chuqiang Li ([lichuqiang](https://github.com/lichuqiang))、David Zhu ([davidz627](https://github.com/davidz627))、Deep Debroy ([ddebroy](https://github.com/ddebroy))、Jan Šafránek ([jsafrane](https://github.com/jsafrane))、Jordan Liggitt ([liggitt](https://github.com/liggitt))、Michelle Au ([msau42](https://github.com/msau42))、Pengfei Ni ([feiskyer](https://github.com/feiskyer))、Saad Ali ([saad-ali](https://github.com/saad-ali))、Tim Hockin ([thockin](https://github.com/thockin)),以及 Yecheng Fu ([cofyc](https://github.com/cofyc))。
@@ -0,0 +1,73 @@
---
layout: blog
title: '2018 年督导委员会选举结果'
date: 2018-10-15
---
<!--
---
layout: blog
title: '2018 Steering Committee Election Results'
date: 2018-10-15
---
-->
<!-- **Authors**: Jorge Castro (Heptio), Ihor Dvoretskyi (CNCF), Paris Pittman (Google) -->
**作者**: Jorge Castro (Heptio), Ihor Dvoretskyi (CNCF), Paris Pittman (Google)
<!--
## Results
-->
## 结果
<!--
The [Kubernetes Steering Committee Election](https://kubernetes.io/blog/2018/09/06/2018-steering-committee-election-cycle-kicks-off/) is now complete and the following candidates came ahead to secure two year terms that start immediately:
-->
[Kubernetes 督导委员会选举](https://kubernetes.io/blog/2018/09/06/2018-steering-committee-election-cycle-kicks-off/)现已完成,以下候选人获得了立即开始的两年任期:
* Aaron Crickenberger, Google, [@spiffxp](https://github.com/spiffxp)
* Davanum Srinivas, Huawei, [@dims](https://github.com/dims)
* Tim St. Clair, Heptio, [@timothysc](https://github.com/timothysc)
<!--
## Big Thanks!
-->
## 十分感谢!
<!--
* Steering Committee Member Emeritus [Quinton Hoole](https://github.com/quinton-hoole) for his service to the community over the past year. We look forward to
* The candidates that came forward to run for election. May we always have a strong set of people who want to push community forward like yours in every election.
* All 307 voters who cast a ballot.
* And last but not least...Cornell University for hosting [CIVS](https://civs.cs.cornell.edu/)!
-->
* 督导委员会荣誉退休成员 [Quinton Hoole](https://github.com/quinton-hoole),表扬他在过去一年为社区所作的贡献。我们期待着
* 参加竞选的候选人。愿我们永远拥有一群强大的人,他们希望在每一次选举中都能像你们一样推动社区向前发展。
* 共计 307 名选民参与投票。
* 本次选举由康奈尔大学主办 [CIVS](https://civs.cs.cornell.edu/)
<!--
## Get Involved with the Steering Committee
-->
## 加入督导委员会
<!--
You can follow along to Steering Committee [backlog items](https://git.k8s.io/steering/backlog.md) and weigh in by filing an issue or creating a PR against their [repo](https://github.com/kubernetes/steering). They meet bi-weekly on [Wednesdays at 8pm UTC](https://github.com/kubernetes/steering) and regularly attend Meet Our Contributors.
-->
你可以关注督导委员会的[任务清单](https://git.k8s.io/steering/backlog.md),并通过向他们的[代码仓库](https://github.com/kubernetes/steering)提交 issue 或 PR 的方式来参与。他们也会在[UTC 时间每周三晚 8 点](https://github.com/kubernetes/steering)举行会议,并定期与我们的贡献者见面。
<!--
Steering Committee Meetings:
-->
督导委员会会议:
* [YouTube 播放列表](https://www.youtube.com/playlist?list=PL69nYSiGNLP1yP1B_nd9-drjoxp0Q14qM)
<!--
Meet Our Contributors Steering AMAs:
-->
与我们的贡献者会面:
<!--
* [Oct 3 2018](https://youtu.be/x6Jm8p0K-IQ)
* [Sept 5 2018](https://youtu.be/UbxWV12Or58)
-->
* [2018 年 10 月 3 日](https://youtu.be/x6Jm8p0K-IQ)
* [2018 年 7 月 5 日](https://youtu.be/UbxWV12Or58)
@@ -0,0 +1,118 @@
---
layout: "Blog"
title: "Kubernetes 2018 年北美贡献者峰会"
date: 2018-10-16
---
<!--
---
layout: "Blog"
title: "Kubernetes 2018 North American Contributor Summit"
date: 2018-10-16
---
-->
<!--
**Authors:**
-->
**作者:**
<!--
[Bob Killen][bob] (University of Michigan)
[Sahdev Zala][sahdev] (IBM),
[Ihor Dvoretskyi][ihor] (CNCF)
-->
[Bob Killen][bob](密歇根大学)
[Sahdev Zala][sahdev]IBM),
[Ihor Dvoretskyi][ihor]CNCF
<!--
The 2018 North American Kubernetes Contributor Summit to be hosted right before
[KubeCon + CloudNativeCon][kubecon] Seattle is shaping up to be the largest yet.
-->
2018 年北美 Kubernetes 贡献者峰会将在西雅图 [KubeCon + CloudNativeCon][kubecon] 会议之前举办,这将是迄今为止规模最大的一次盛会。
<!--
It is an event that brings together new and current contributors alike to
connect and share face-to-face; and serves as an opportunity for existing
contributors to help shape the future of community development. For new
community members, it offers a welcoming space to learn, explore and put the
contributor workflow to practice.
-->
这是一个将新老贡献者聚集在一起,面对面交流和分享的活动;并为现有的贡献者提供一个机会,帮助塑造社区发展的未来。它为新的社区成员提供了一个学习、探索和实践贡献工作流程的良好空间。
<!--
Unlike previous Contributor Summits, the event now spans two-days with a more
relaxed hallway track and general Contributor get-together to be hosted from
5-8pm on Sunday December 9th at the [Garage Lounge and Gaming Hall][garage], just
a short walk away from the Convention Center. There, contributors can enjoy
billiards, bowling, trivia and more; accompanied by a variety of food and drink.
-->
与之前的贡献者峰会不同,本次活动为期两天,有一个更为轻松的行程安排,一般贡献者将于 12 月 9 日(周日)下午 5 点至 8 点在距离会议中心仅几步远的 [Garage Lounge and Gaming Hall][garage] 举办峰会。在那里,贡献者也可以进行台球、保龄球等娱乐活动,而且还有各种食品和饮料。
<!--
Things pick up the following day, Monday the 10th with three separate tracks:
-->
接下来的一天,也就是 10 号星期一,有三个独立的会议你可以选择参与:
<!--
### New Contributor Workshop:
A half day workshop aimed at getting new and first time contributors onboarded
and comfortable with working within the Kubernetes Community. Staying for the
duration is required; this is not a workshop you can drop into.
-->
### 新贡献者研讨会:
为期半天的研讨会旨在让新贡献者加入社区,并营造一个良好的 Kubernetes 社区工作环境。
请在开会期间保持在场,该讨论会不允许随意进出。
<!--
### Current Contributor Track:
Reserved for those that are actively engaged with the development of the
project; the Current Contributor Track includes Talks, Workshops, Birds of a
Feather, Unconferences, Steering Committee Sessions, and more! Keep an eye on
the [schedule in GitHub][schedule] as content is frequently being updated.
-->
### 当前贡献者追踪:
保留给那些积极参与项目开发的贡献者;目前的贡献者追踪包括讲座、研讨会、聚会、Unconferences 会议、指导委员会会议等等!
请留意 [GitHub 中的时间表][时间表],因为内容经常更新。
<!--
### Docs Sprint:
SIG-Docs will have a curated list of issues and challenges to be tackled closer
to the event date.
-->
### Docs 冲刺:
SIG-Docs 将在活动日期临近的时候列出一个需要处理的问题和挑战列表。
<!--
## To Register:
To register for the Contributor Summit, see the [Registration section of the
Event Details in GitHub][register]. Please note that registrations are being
reviewed. If you select the “Current Contributor Track” and are not an active
contributor, you will be asked to attend the New Contributor Workshop, or asked
to be put on a waitlist. With thousands of contributors and only 300 spots, we
need to make sure the right folks are in the room.
-->
## 注册:
要注册贡献者峰会,请参阅 Git Hub 上的[活动详情注册部分][注册]。请注意报名正在审核中。
如果您选择了 “当前贡献者追踪”,而您却不是一个活跃的贡献者,您将被要求参加新贡献者研讨会,或者被要求进入候补名单。
成千上万的贡献者只有 300 个位置,我们需要确保正确的人被安排席位。
<!--
If you have any questions or concerns, please dont hesitate to reach out to
the Contributor Summit Events Team at community@kubernetes.io.
-->
如果您有任何问题或疑虑,请随时通过 community@kubernetes.io 联系贡献者峰会组织团队。
<!--
Look forward to seeing everyone there!
-->
期待在那里看到每个人!
[bob]: https://twitter.com/mrbobbytables
[sahdev]: https://twitter.com/sp_zala
[ihor]: https://twitter.com/idvoretskyi
[kubecon]: https://events.linuxfoundation.org/events/kubecon-cloudnativecon-north-america-2018/
[garage]: https://www.garagebilliards.com/
[时间表]: https://git.k8s.io/community/events/2018/12-contributor-summit#agenda
[注册]: https://git.k8s.io/community/events/2018/12-contributor-summit#registration
@@ -0,0 +1,89 @@
---
layout: blog
title: 'Kubernetes 文档更新,国际版'
date: 2018-11-08
---
<!--
---
layout: blog
title: 'Kubernetes Docs Updates, International Edition'
date: 2018-11-08
---
-->
<!-- **Author**: Zach Corleissen (Linux Foundation) -->
**作者**Zach Corleissen Linux 基金会)
<!-- As a co-chair of SIG Docs, I'm excited to share that Kubernetes docs have a fully mature workflow for localization (l10n). -->
作为文档特别兴趣小组(SIG Docs)的联合主席,我很高兴能与大家分享 Kubernetes 文档在本地化(l10n)方面所拥有的一个完全成熟的工作流。
<!-- ## Abbreviations galore -->
## 丰富的缩写
<!-- L10n is an abbreviation for _localization_. -->
L10n 是 _localization_ 的缩写。
<!-- I18n is an abbreviation for _internationalization_. -->
I18n 是 _internationalization_ 的缩写。
<!-- I18n is [what you do](https://www.w3.org/International/questions/qa-i18n) to make l10n easier. L10n is a fuller, more comprehensive process than translation (_t9n_). -->
I18n 定义了[做什么](https://www.w3.org/International/questions/qa-i18n) 能让 l10n 更容易。而 L10n 更全面,相比翻译( _t9n_ )具备更完善的流程。
<!-- ## Why localization matters -->
## 为什么本地化很重要
<!-- The goal of SIG Docs is to make Kubernetes easier to use for as many people as possible. -->
SIG Docs 的目标是让 Kubernetes 更容易为尽可能多的人使用。
<!-- One year ago, we looked at whether it was possible to host the output of a Chinese team working independently to translate the Kubernetes docs. After many conversations (including experts on OpenStack l10n), [much transformation](https://kubernetes.io/blog/2018/05/05/hugo-migration/), and [renewed commitment to easier localization](https://github.com/kubernetes/website/pull/10485), we realized that open source documentation is, like open source software, an ongoing exercise at the edges of what's possible. -->
一年前,我们研究了是否有可能由一个独立翻译 Kubernetes 文档的中国团队来主持文档输出。经过多次交谈(包括 OpenStack l10n 的专家),[多次转变](https://kubernetes.io/blog/2018/05/05/hugo-migration/),以及[重新致力于更轻松的本地化](https://github.com/kubernetes/website/pull/10485),我们意识到,开源文档就像开源软件一样,是在可能的边缘不断进行实践。
<!-- Consolidating workflows, language labels, and team-level ownership may seem like simple improvements, but these features make l10n scalable for increasing numbers of l10n teams. While SIG Docs continues to iterate improvements, we've paid off a significant amount of technical debt and streamlined l10n in a single workflow. That's great for the future as well as the present. -->
整合工作流程、语言标签和团队级所有权可能看起来像是十分简单的改进,但是这些功能使 l10n 可以扩展到规模越来越大的 l10n 团队。随着 SIG Docs 不断改进,我们已经在单一工作流程中偿还了大量技术债务并简化了 l10n。这对未来和现在都很有益。
<!-- ## Consolidated workflow -->
## 整合的工作流程
<!-- Localization is now consolidated in the [kubernetes/website](https://github.com/kubernetes/website) repository. We've configured the Kubernetes CI/CD system, [Prow](https://github.com/kubernetes/test-infra/tree/master/prow), to handle automatic language label assignment as well as team-level PR review and approval. -->
现在,本地化已整合到 [kubernetes/website](https://github.com/kubernetes/website) 存储库。我们已经配置了 Kubernetes CI/CD 系统,[Prow](https://github.com/kubernetes/test-infra/tree/master/prow) 来处理自动语言标签分配以及团队级 PR 审查和批准。
<!-- ### Language labels -->
### 语言标签
<!-- Prow automatically applies language labels based on file path. Thanks to SIG Docs contributor [June Yi](https://github.com/kubernetes/test-infra/pull/9835), folks can also manually assign language labels in pull request (PR) comments. For example, when left as a comment on an issue or PR, this command assigns the label `language/ko` (Korean). -->
Prow 根据文件路径自动添加语言标签。感谢 SIG Docs 贡献者 [June Yi](https://github.com/kubernetes/test-infra/pull/9835),他让人们还可以在 pull request(PR)注释中手动分配语言标签。例如,当为 issue 或 PR 留下下述注释时,将为之分配标签 `language/ko`Korean)。
```
/language ko
```
<!-- These repo labels let reviewers filter for PRs and issues by language. For example, you can now filter the k/website dashboard for [PRs with Chinese content](https://github.com/kubernetes/website/pulls?utf8=%E2%9C%93&q=is%3Aopen+is%3Apr+label%3Alanguage%2Fzh). -->
这些存储库标签允许审阅者按语言过滤 PR 和 issue。例如,您现在可以过滤 kubernetes/website 面板中[具有中文内容的 PR](https://github.com/kubernetes/website/pulls?utf8=%E2%9C%93&q=is%3Aopen+is%3Apr+label%3Alanguage%2Fzh)。
<!-- ### Team review -->
### 团队审核
<!-- L10n teams can now review and approve their own PRs. For example, review and approval permissions for English are [assigned in an OWNERS file](https://github.com/kubernetes/website/blob/master/content/en/OWNERS) in the top subfolder for English content. -->
L10n 团队现在可以审查和批准他们自己的 PR。例如,英语的审核和批准权限在位于用于显示英语内容的顶级子文件夹中的 [OWNERS 文件中指定](https://github.com/kubernetes/website/blob/master/content/en/OWNERS)。
<!-- Adding `OWNERS` files to subdirectories lets localization teams review and approve changes without requiring a rubber stamp approval from reviewers who may lack fluency. -->
`OWNERS` 文件添加到子目录可以让本地化团队审查和批准更改,而无需由可能并不擅长该门语言的审阅者进行批准。
<!-- ## What's next -->
## 下一步是什么
<!-- We're looking forward to the [doc sprint in Shanghai](https://kccncchina2018english.sched.com/event/HVb2/contributor-summit-doc-sprint-additional-registration-required) to serve as a resource for the Chinese l10n team. -->
我们期待着[上海的 doc sprint](https://kccncchina2018english.sched.com/event/HVb2/contributor-summit-doc-sprint-additional-registration-required) 能作为中国 l10n 团队的资源。
<!-- We're excited to continue supporting the Japanese and Korean l10n teams, who are making excellent progress. -->
我们很高兴继续支持正在取得良好进展的日本和韩国 l10n 队伍。
<!-- If you're interested in localizing Kubernetes for your own language or region, check out our [guide to localizing Kubernetes docs](https://kubernetes.io/docs/contribute/localization/) and reach out to a [SIG Docs chair](https://github.com/kubernetes/community/tree/master/sig-docs#leadership) for support. -->
如果您有兴趣将 Kubernetes 本地化为您自己的语言或地区,请查看我们的[本地化 Kubernetes 文档指南](https://kubernetes.io/docs/contribute/localization/),并联系 [SIG Docs 主席团](https://github.com/kubernetes/community/tree/master/sig-docs#leadership)获取支持。
<!-- ### Get involved with SIG Docs -->
### 加入SIG Docs
<!-- If you're interested in Kubernetes documentation, come to a SIG Docs [weekly meeting](https://github.com/kubernetes/community/tree/master/sig-docs#meetings), or join [#sig-docs in Kubernetes Slack](https://kubernetes.slack.com/messages/C1J0BPD2M/details/). -->
如果您对 Kubernetes 文档感兴趣,请参加 SIG Docs [每周会议](https://github.com/kubernetes/community/tree/master/sig-docs#meetings),或在 [Kubernetes Slack 加入 #sig-docs](https://kubernetes.slack.com/messages/C1J0BPD2M/details/)。
@@ -0,0 +1,119 @@
---
layout: blog
title: '新贡献者工作坊上海站'
date: 2018-12-05
---
<!--
---
layout: blog
title: 'New Contributor Workshop Shanghai'
date: 2018-12-05
---
-->
<!--
**Authors**: Josh Berkus (Red Hat), Yang Li (The Plant), Puja Abbassi (Giant Swarm), XiangPeng Zhao (ZTE)
-->
**作者**: Josh Berkus (红帽), Yang Li (The Plant), Puja Abbassi (Giant Swarm), XiangPeng Zhao (中兴通讯)
<!--
{{< figure src="/images/blog/2018-12-05-new-contributor-shanghai/attendees.png" caption="KubeCon Shanghai New Contributor Summit attendees. Photo by Jerry Zhang" >}}
-->
{{< figure src="/images/blog/2018-12-05-new-contributor-shanghai/attendees.png" caption="KubeCon 上海站新贡献者峰会与会者,摄影:Jerry Zhang" >}}
<!--
We recently completed our first New Contributor Summit in China, at the first KubeCon in China. It was very exciting to see all of the Chinese and Asian developers (plus a few folks from around the world) interested in becoming contributors. Over the course of a long day, they learned how, why, and where to contribute to Kubernetes, created pull requests, attended a panel of current contributors, and got their CLAs signed.
-->
最近,在中国的首次 KubeCon 上,我们完成了在中国的首次新贡献者峰会。看到所有中国和亚洲的开发者(以及来自世界各地的一些人)有兴趣成为贡献者,这令人非常兴奋。在长达一天的课程中,他们了解了如何、为什么以及在何处为 Kubernetes 作出贡献,创建了 PR,参加了贡献者圆桌讨论,并签署了他们的 CLA。
<!--
This was our second New Contributor Workshop (NCW), building on the one created and led by SIG Contributor Experience members in Copenhagen. Because of the audience, it was held in both Chinese and English, taking advantage of the superb simultaneous interpretation services the CNCF sponsored. Likewise, the NCW team included both English and Chinese-speaking members of the community: Yang Li, XiangPeng Zhao, Puja Abbassi, Noah Abrahams, Tim Pepper, Zach Corleissen, Sen Lu, and Josh Berkus. In addition to presenting and helping students, the bilingual members of the team translated all of the slides into Chinese. Fifty-one students attended.
-->
这是我们的第二届新贡献者工作坊(NCW),它由前一次贡献者体验 SIG 成员创建和领导的哥本哈根研讨会延伸而来。根据受众情况,本次活动采用了中英文两种语言,充分利用了 CNCF 赞助的一流的同声传译服务。同样,NCW 团队由社区成员组成,既有说英语的,也有说汉语的:Yang Li、XiangPeng Zhao、Puja Abbassi、Noah Abrahams、Tim Pepper、Zach Corleissen、Sen Lu 和 Josh Berkus。除了演讲和帮助学员外,团队的双语成员还将所有幻灯片翻译成了中文。共有五十一名学员参加。
<!--
{{< figure src="/images/blog/2018-12-05-new-contributor-shanghai/noahabrahams.png" caption="Noah Abrahams explains Kubernetes communications channels. Photo by Jerry Zhang" >}}
-->
{{< figure src="/images/blog/2018-12-05-new-contributor-shanghai/noahabrahams.png" caption="Noah Abrahams 讲解 Kubernetes 沟通渠道。摄影:Jerry Zhang" >}}
<!--
The NCW takes participants through the stages of contributing to Kubernetes, starting from deciding where to contribute, followed by an introduction to the SIG system and our repository structure. We also have "guest speakers" from Docs and Test Infrastructure who cover contributing in those areas. We finally wind up with some hands-on exercises in filing issues and creating and approving PRs.
-->
NCW 让参与者完成了为 Kubernetes 作出贡献的各个阶段,从决定在哪里作出贡献开始,接着介绍了 SIG 系统和我们的代码仓库结构。我们还有来自文档和测试基础设施领域的「客座讲者」,他们负责讲解有关的贡献。最后,我们在创建 issue、提交并批准 PR 的实践练习后,结束了工作坊。
<!--
Those hands-on exercises use a repository known as [the contributor playground](https://github.com/kubernetes-sigs/contributor-playground), created by SIG Contributor Experience as a place for new contributors to try out performing various actions on a Kubernetes repo. It has modified Prow and Tide automation, uses Owners files like in the real repositories. This lets students learn how the mechanics of contributing to our repositories work without disrupting normal development.
-->
这些实践练习使用一个名为[贡献者游乐场](https://github.com/kubernetes-sigs/contributor-playground)的代码仓库,由贡献者体验 SIG 创建,让新贡献者尝试在一个 Kubernetes 仓库中执行各种操作。它修改了 Prow 和 Tide 自动化,使用与真实代码仓库类似的 Owners 文件。这可以让学员了解为我们的仓库做出贡献的有关机制,同时又不妨碍正常的开发流程。
<!--
{{< figure src="/images/blog/2018-12-05-new-contributor-shanghai/yangli.png" caption="Yang Li talks about getting your PRs reviewed. Photo by Josh Berkus" >}}
-->
{{< figure src="/images/blog/2018-12-05-new-contributor-shanghai/yangli.png" caption="Yang Li 讲到如何让你的 PR 通过评审。摄影:Josh Berkus" >}}
<!--
Both the "Great Firewall" and the language barrier prevent contributing Kubernetes from China from being straightforward. What's more, because open source business models are not mature in China, the time for employees work on open source projects is limited.
-->
「防火长城」和语言障碍都使得在中国为 Kubernetes 作出贡献变得困难。而且,中国的开源商业模式并不成熟,员工在开源项目上工作的时间有限。
<!--
Chinese engineers are eager to participate in the development of Kubernetes, but many of them don't know where to start since Kubernetes is such a large project. With this workshop, we hope to help those who want to contribute, whether they wish to fix some bugs they encountered, improve or localize documentation, or they need to work with Kubernetes at their work. We are glad to see more and more Chinese contributors joining the community in the past few years, and we hope to see more of them in the future.
-->
中国工程师渴望参与 Kubernetes 的研发,但他们中的许多人不知道从何处开始,因为 Kubernetes 是一个如此庞大的项目。通过本次工作坊,我们希望帮助那些想要参与贡献的人,不论他们希望修复他们遇到的一些错误、改进或本地化文档,或者他们需要在工作中用到 Kubernetes。我们很高兴看到越来越多的中国贡献者在过去几年里加入社区,我们也希望将来可以看到更多。
<!--
"I have been participating in the Kubernetes community for about three years," said XiangPeng Zhao. "In the community, I notice that more and more Chinese developers are showing their interest in contributing to Kubernetes. However, it's not easy to start contributing to such a project. I tried my best to help those who I met in the community, but I think there might still be some new contributors leaving the community due to not knowing where to get help when in trouble. Fortunately, the community initiated NCW at KubeCon Copenhagen and held a second one at KubeCon Shanghai. I was so excited to be invited by Josh Berkus to help organize this workshop. During the workshop, I met community friends in person, mentored attendees in the exercises, and so on. All of this was a memorable experience for me. I also learned a lot as a contributor who already has years of contributing experience. I wish I had attended such a workshop when I started contributing to Kubernetes years ago."
-->
「我已经参与了 Kubernetes 社区大约三年」,XiangPeng Zhao 说,「在社区,我注意到越来越多的中国开发者表现出对 Kubernetes 贡献的兴趣。但是,开始为这样一个项目做贡献并不容易。我尽力帮助那些我在社区遇到的人,但是,我认为可能仍有一些新的贡献者离开社区,因为他们在遇到麻烦时不知道从哪里获得帮助。幸运的是,社区在 KubeCon 哥本哈根站发起了 NCW,并在 KubeCon 上海站举办了第二届。我很高兴受到 Josh Berkus 的邀请,帮助组织这个工作坊。在工作坊期间,我当面见到了社区里的朋友,在练习中指导了与会者,等等。所有这些对我来说都是难忘的经历。作为有着多年贡献者经验的我,也学习到了很多。我希望几年前我开始为 Kubernetes 做贡献时参加过这样的工作坊」。
<!--
{{< figure src="/images/blog/2018-12-05-new-contributor-shanghai/panel.png" caption="Panel of contributors. Photo by Jerry Zhang" >}}
-->
{{< figure src="/images/blog/2018-12-05-new-contributor-shanghai/panel.png" caption="贡献者圆桌讨论。摄影:Jerry Zhang" >}}
<!--
The workshop ended with a panel of current contributors, featuring Lucas Käldström, Janet Kuo, Da Ma, Pengfei Ni, Zefeng Wang, and Chao Xu. The panel aimed to give both new and current contributors a look behind the scenes on the day-to-day of some of the most active contributors and maintainers, both from China and around the world. Panelists talked about where to begin your contributor's journey, but also how to interact with reviewers and maintainers. They further touched upon the main issues of contributing from China and gave attendees an outlook into exciting features they can look forward to in upcoming releases of Kubernetes.
-->
工作坊以现有贡献者圆桌讨论结束,嘉宾包括 Lucas Käldström、Janet Kuo、Da Ma、Pengfei Ni、Zefeng Wang 和 Chao Xu。这场圆桌讨论旨在让新的和现有的贡献者了解一些最活跃的贡献者和维护者的幕后日常工作,不论他们来自中国还是世界各地。嘉宾们讨论了从哪里开始贡献者的旅程,以及如何与评审者和维护者进行互动。他们进一步探讨了在中国参与贡献的主要问题,并向与会者预告了在 Kubernetes 的未来版本中可以期待的令人兴奋的功能。
<!--
After the workshop, XiangPeng Zhao chatted with some attendees on WeChat and Twitter about their experiences. They were very glad to have attended the NCW and had some suggestions on improving the workshop. One attendee, Mohammad, said, "I had a great time at the workshop and learned a lot about the entire process of k8s for a contributor." Another attendee, Jie Jia, said, "The workshop was wonderful. It systematically explained how to contribute to Kubernetes. The attendee could understand the process even if s/he knew nothing about that before. For those who were already contributors, they could also learn something new. Furthermore, I could make new friends from inside or outside of China in the workshop. It was awesome!"
-->
工作坊结束后,XiangPeng Zhao 和一些与会者就他们的经历在微信和 Twitter 上进行了交谈。他们很高兴参加了 NCW,并就改进工作坊提出了一些建议。一位名叫 Mohammad 的与会者说:「我在工作坊上玩得很开心,学习了参与 k8s 贡献的整个过程。」另一位与会者 Jie Jia 说:「工作坊非常精彩。它系统地解释了如何为 Kubernetes 做出贡献。即使参与者之前对此一无所知,他(她)也可以理解这个过程。对于那些已经是贡献者的人,他们也可以学习到新东西。此外,我还可以在工作坊上结识来自国内外的新朋友。真是棒极了!」
<!--
SIG Contributor Experience will continue to run New Contributor Workshops at each upcoming KubeCon, including Seattle, Barcelona, and the return to Shanghai in June 2019. If you failed to get into one this year, register for one at a future KubeCon. And, when you meet an NCW attendee, make sure to welcome them to the community.
-->
贡献者体验 SIG 将继续在未来的 KubeCon 上举办新贡献者工作坊,包括西雅图站、巴塞罗那站,然后在 2019 年六月回到上海。如果你今年未能参加,请在未来的 KubeCon 上注册。并且,如果你遇到工作坊的与会者,请务必欢迎他们加入社区。
<!--
Links:
-->
链接:
<!--
* English versions of the slides: [PDF](https://gist.github.com/jberkus/889be25c234b01761ce44eccff816380#file-kubernetes-shanghai-english-pdf) or [Google Docs with speaker notes](https://docs.google.com/presentation/d/1l5f_iAFsKg50LFq3N80KbZKUIEL_tyCaUoWPzSxColo/edit?usp=sharing)
* Chinese version of the slides: [PDF](https://gist.github.com/jberkus/889be25c234b01761ce44eccff816380#file-kubernetes-shanghai-cihinese-pdf)
* [Contributor playground](https://github.com/kubernetes-sigs/contributor-playground)
-->
* 中文版幻灯片:[PDF](https://gist.github.com/jberkus/889be25c234b01761ce44eccff816380#file-kubernetes-shanghai-cihinese-pdf)
* 英文版幻灯片:[PDF](https://gist.github.com/jberkus/889be25c234b01761ce44eccff816380#file-kubernetes-shanghai-english-pdf) 或 [带有演讲者笔记的 Google Docs](https://docs.google.com/presentation/d/1l5f_iAFsKg50LFq3N80KbZKUIEL_tyCaUoWPzSxColo/edit?usp=sharing)
* [贡献者游乐场](https://github.com/kubernetes-sigs/contributor-playground)
+21 -23
View File
@@ -1,23 +1,21 @@
---
title: 案例研究
linkTitle: 案例研究
bigheader: Kubernetes 用户案例研究
abstract: 在生产环境中运行 Kubernetes 的用户集合。
layout: basic
class: gridPage
cid: caseStudies
---
<!--
---
title: Case Studies
linkTitle: Case Studies
bigheader: Kubernetes User Case Studies
abstract: A collection of users running Kubernetes in production.
layout: basic
class: gridPage
cid: caseStudies
---
-->
---
title: 案例分析
linkTitle: 案例分析
bigheader: Kubernetes 用户案例分析
abstract: 在生产环境下使用 Kubernetes 的案例集
layout: basic
class: gridPage
cid: caseStudies
---
<!--
---
title: Case Studies
linkTitle: Case Studies
bigheader: Kubernetes User Case Studies
abstract: A collection of users running Kubernetes in production.
layout: basic
class: gridPage
cid: caseStudies
---
-->
Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

@@ -0,0 +1,4 @@
---
title: CCP Games
content_url: https://cloud.google.com/customers/ccp-games/
---
Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

@@ -0,0 +1,4 @@
---
title: Goldman Sachs
content_url: http://blogs.wsj.com/cio/2016/02/24/big-changes-in-goldmans-software-emerge-from-small-containers/
---
Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

+433
View File
@@ -0,0 +1,433 @@
---
title: 华为案例分析
case_study_styles: true
cid: caseStudies
css: /css/style_huawei.css
---
<!--
---
title: Huawei Case Study
case_study_styles: true
cid: caseStudies
css: /css/style_huawei.css
---
-->
<div class="banner1">
<h1> 案例分析:<img src="/images/huawei_logo.png" class="header_logo"><br> <div class="subhead">以用户和供应商身份拥抱云原生</div></h1>
<!--
<h1> CASE STUDY:<img src="/images/huawei_logo.png" class="header_logo"><br> <div class="subhead">Embracing Cloud Native as a User and a Vendor</div></h1>
-->
</div>
<div class="details">
公司 &nbsp;<b>华为</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;地点 &nbsp;<b>中国深圳</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;产业 &nbsp;<b>通信设备</b>
<!--
Company &nbsp;<b>Huawei</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Location &nbsp;<b>Shenzhen, China</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Industry &nbsp;<b>Telecommunications Equipment</b>
-->
</div>
<hr>
<section class="section1">
<div class="cols">
<div class="col1">
<h2>挑战</h2>
<!--
<h2>Challenge</h2>
-->
华为是世界上最大的电信设备制造商,拥有超过 18 万名员工。
<!--
A multinational company thats the largest telecommunications equipment manufacturer in the world,
Huawei has more than 180,000 employees.
-->
为了支持华为在全球的快速业务发展,<a href="http://www.huawei.com/">华为</a>内部 IT 部门有 8 个数据中心,
这些数据中心在 100K+ VMs 上运行了 800 多个应用程序,服务于这 18 万用户。
<!--
In order to support its fast business development around the globe,
<a href="http://www.huawei.com/">Huawei</a> has eight data centers for its internal I.T. department,
which have been running 800+ applications in 100K+ VMs to serve these 180,000 users.
-->
随着新应用程序的快速增长,基于 VM 的应用程序的管理和部署的成本和效率都成为业务敏捷性的关键挑战。
<!--
With the rapid increase of new applications, the cost and efficiency of management and
deployment of VM-based apps all became critical challenges for business agility.
-->
该公司首席软件架构师、开源社区总监侯培新表示:
“这是一个超大的分布式系统,因此我们发现,以更一致的方式管理所有任务始终是一个挑战。
我们希望进入一种更敏捷、更得体的实践”。
<!--
"Its very much a distributed system so we found that managing all of the tasks
in a more consistent way is always a challenge," says Peixin Hou,
the companys Chief Software Architect and Community Director for Open Source.
"We wanted to move into a more agile and decent practice."
-->
</div>
<div class="col2">
<h2>解决方案</h2>
<!--
<h2>Solution</h2>
-->
在决定使用容器技术后,华为开始将内部 IT 部门的应用程序迁移到<a href="http://kubernetes.io/"> Kubernetes </a>上运行。
到目前为止,大约 30% 的应用程序已经转移为云原生程序。
<!--
After deciding to use container technology, Huawei began moving the internal I.T. departments applications
to run on <a href="http://kubernetes.io/">Kubernetes</a>.
So far, about 30 percent of these applications have been transferred to cloud native.
-->
<br>
<br>
<h2>影响</h2>
<!--
<h2>Impact</h2>
-->
“到 2016 年底,华为的内部 IT 部门使用基于 Kubernetes 的平台即服务(PaaS)解决方案管理了 4000 多个节点和数万个容器。
全局部署周期从一周缩短到几分钟,应用程序交付效率提高了 10 倍”。
<!--
"By the end of 2016, Huaweis internal I.T. department managed more than 4,000 nodes with tens of thousands containers
using a Kubernetes-based Platform as a Service (PaaS) solution," says Hou.
"The global deployment cycles decreased from a week to minutes, and the efficiency of application delivery has been improved 10 fold."
-->
对于底线,侯培新表示,“我们还看到运营开支大幅削减,在某些情况下可削减 20% 到 30%,我们认为这对我们的业务非常有帮助”。
<!--
For the bottom line, he says, "We also see significant operating expense spending cut, in some circumstances 20-30 percent,
which we think is very helpful for our business."
-->
这里给出一些华为内部结果资料、外部需求,也是公司的技术包装产品<a href="http://developer.huawei.com/ict/en/site-paas"> FusionStage™ </a>
它被作为一套 PaaS 解决方案提供给其客户。
<!--
Given the results Huawei has had internally and the demand it is seeing externally the company has also built the technologies
into <a href="http://developer.huawei.com/ict/en/site-paas">FusionStage™</a>, the PaaS solution it offers its customers.
-->
</div>
</div>
</section>
<div class="banner2">
<div class="banner2text">
“如果你是一个供应商,为了说服你的客户,你应该自己使用它。
幸运的是,因为华为有很多员工,我们可以利用这种技术来展示我们所能构建的云的规模。”
<!--
"If youre a vendor, in order to convince your customer, you should use it yourself.
Luckily because Huawei has a lot of employees,
we can demonstrate the scale of cloud we can build using this technology."
-->
<br style="height:25px">
<span style="font-size:14px;letter-spacing:2px;text-transform:uppercase;margin-top:5% !important;">
<br>- 侯培新,首席软件架构师、开源社区总监
<!--
<br>- Peixin Hou, chief software architect and community director for open source
-->
</span>
</div>
</div>
<section class="section2">
<div class="fullcol">
华为的 Kubernetes 之旅始于一位开发者。
<!--
Huaweis Kubernetes journey began with one developer.
-->
两年前,这家网络和电信巨头雇佣的一名工程师对<a href="http://kubernetes.io/"> Kubernetes </a>
这一跨主机集群的管理应用程序容器的技术产生了兴趣,并开始为其开源社区作出贡献。
<!--
Over two years ago, one of the engineers employed by the networking and telecommunications giant became interested
in <a href="http://kubernetes.io/">Kubernetes</a>,
the technology for managing application containers across clusters of hosts,
and started contributing to its open source community.
-->
随着技术和社区的发展,他不断地将这门技术告诉他的经理们。<br><br>
<!--
As the technology developed and the community grew, he kept telling his managers about it.<br><br>
-->
与此同时,华为也在为其内部的企业 IT 部门寻找更好的编排系统,该系统应该支持每一个业务的流程处理。
<!--
And as fate would have it, at the same time,
Huawei was looking for a better orchestration system for its internal enterprise I.T. department,
which supports every business flow processing.
-->
华为首席软件架构师、开源社区总监侯培新表示,
“我们在全球拥有逾 18 万名员工,内部流程复杂,所以这个部门可能每周都需要开发一些新的应用程序。
<!--
"We have more than 180,000 employees worldwide, and a complicated internal procedure,
so probably every week this department needs to develop some new applications," says Peixin Hou,
Huaweis Chief Software Architect and Community Director for Open Source.
-->
我们的 IT 部门经常需要启动数万个容器,任务要跨越全球数千个节点。
这是一个超大的分布式的系统,所以我们发现以更一致的方式管理所有的任务总是一个挑战”。<br><br>
<!--
"Very often our I.T. departments need to launch tens of thousands of containers,
with tasks running across thousands of nodes across the world.
Its very much a distributed system, so we found that managing all of the tasks
in a more consistent way is always a challenge."<br><br>
-->
过去,华为曾使用虚拟机来封装应用程序,但是,“每次我们启动虚拟机时”,侯培新说,
“无论是因为它是一项新服务,还是因为它是一项由于节点功能异常而被关闭的服务,都需要花费大量时间”。
<!--
In the past, Huawei had used virtual machines to encapsulate applications,
but "every time when we start a VM," Hou says,
"whether because its a new service or because it was a service that was shut down
because of some abnormal node functioning, it takes a lot of time."
-->
华为转向了容器化,所以是时候尝试 Kubernetes 了。
采纳了这位工程师的建议花费了一年的时间,这个过程“不是一蹴而就的”,侯说,
<!--
Huawei turned to containerization, so the timing was right to try Kubernetes.
It took a year to adopt that engineers suggestion the process "is not overnight," says Hou
-->
但一旦投入使用,“Kubernetes 基本上解决了我们的大部分问题。
以前,部署时间大约需要一周,现在只需几分钟。
<!--
but once in use, he says, "Kubernetes basically solved most of our problems.
Before, the time of deployment took about a week, now it only takes minutes.
-->
开发人员非常高兴。使用 Kubernetes 的那个部门也十分高兴”。<br><br>
<!--
The developers are happy. That department is also quite happy."<br><br>
-->
侯培新看到了使用这项技术给公司带来的巨大好处,
“Kubernetes 为基于云的应用程序带来了敏捷性、扩展能力和 DevOps 实践”,他说,
<!--
Hou sees great benefits to the company that come with using this technology:
"Kubernetes brings agility, scale-out capability,
and DevOps practice to the cloud-based applications," he says.
-->
“它为我们提供了自定义调度体系结构的能力,这使得容器任务之间的关联性成为可能,从而提高了效率。
它支持多种容器格式,同时广泛支持各种容器网络解决方案和容器存储方案”。
<!--
"It provides us with the ability to customize the scheduling architecture,
which makes possible the affinity between container tasks that gives greater efficiency.
It supports multiple container formats. It has extensive support for various container
networking solutions and container storage."
-->
</div>
</section>
<div class="banner3">
<div class="banner3text">
“Kubernetes 基本上解决了我们的大部分问题。
以前,部署时间大约需要一周,现在只需几分钟。
开发人员很高兴。使用 Kubernetes 的部门也很高兴。”
<!--
"Kubernetes basically solved most of our problems.
Before, the time of deployment took about a week, now it only takes minutes.
The developers are happy. That department is also quite happy."
-->
</div>
</div>
<section class="section3">
<div class="fullcol">
最重要的是,这对底线有影响。侯培新说,
“我们还看到,在某些情况下,运营开支会大幅削减 20% 到 30%,这对我们的业务非常有帮助”。<br><br>
<!--
And not least of all, theres an impact on the bottom line.
Says Hou: "We also see significant operating expense spending cut in some circumstances 20-30 percent,
which is very helpful for our business."<br><br>
-->
华为对这些初步结果感到满意,并看到客户对云原生技术的需求,因此加大了 Kubernetes 的投入。
2016 年春,公司不仅成为用户,而且成为了供应商。<br><br>
<!--
Pleased with those initial results, and seeing a demand for cloud native technologies from its customers,
Huawei doubled down on Kubernetes.
In the spring of 2016, the company became not only a user but also a vendor.<br><br>
-->
“我们构建了 Kubernetes 技术解决方案”,侯培新说,
指的是华为的<a href="http://developer.huawei.com/ict/en/site-paas"> FusionStage™ </a> PaaS 输出。
<!--
"We built the Kubernetes technologies into our solutions," says Hou, referring to Huaweis
<a href="http://developer.huawei.com/ict/en/site-paas">FusionStage™</a> PaaS offering.
-->
“我们的客户,从非常大的电信运营商到银行,都喜欢云原生的想法。他们喜欢 Kubernetes 的技术。
但是他们需要花费大量的时间来分解他们的应用程序,将它们转换为微服务体系结构。
作为解决方案提供者,我们帮助他们。
<!--
"Our customers, from very big telecommunications operators to banks, love the idea of cloud native.
They like Kubernetes technology. But they need to spend a lot of time to decompose their applications
to turn them into microservice architecture, and as a solution provider, we help them.
-->
我们已经开始与一些中国银行合作,我们看到中国移动(China Mobile)和德国电信(Deutsche Telekom)等客户对我们很感兴趣”。<br><br>
<!--
Weve started to work with some Chinese banks, and we see a lot of interest from our customers
like <a href="http://www.chinamobileltd.com/">China Mobile</a> and
<a href="https://www.telekom.com/en">Deutsche Telekom</a>."<br><br>
-->
“如果你是一个用户,你就仅仅是个用户”,侯培新补充道,“但如果你是一个供应商,为了说服你的客户,你应该自己使用它。
<!--
"If youre just a user, youre just a user," adds Hou.
"But if youre a vendor, in order to even convince your customers, you should use it yourself.
-->
幸运的是,因为华为有很多员工,我们可以利用这种技术来展示我们所能构建的云的规模,向客户提供智慧服务”。
<!--
Luckily because Huawei has a lot of employees, we can demonstrate the scale of cloud we can build using this technology.
We provide customer wisdom."
-->
尽管华为拥有自己的私有云,但其许多客户使用华为的解决方案运行跨云应用程序。
这是一个很大的卖点,大多数公共云提供商现在都支持 Kubernetes。
侯培新说,“这使得跨云转换比其他解决方案更容易”。<br><br>
<!--
While Huawei has its own private cloud, many of its customers run cross-cloud applications using Huaweis solutions.
Its a big selling point that most of the public cloud providers now support Kubernetes.
"This makes the cross-cloud transition much easier than with other solutions," says Hou.<br><br>
-->
</div>
</section>
<div class="banner4">
<div class="banner4text">
“我们的客户,从非常大的电信运营商到银行,都喜欢云原生的想法。他们喜欢 Kubernetes 的技术。
但是他们需要花很多时间来分解他们的应用程序,把它们变成微服务体系结构,作为一个解决方案提供商,我们帮助他们。”
<!--
"Our customers, from very big telecommunications operators to banks, love the idea of cloud native.
They like Kubernetes technology. But they need to spend a lot of time to decompose their applications
to turn them into microservice architecture, and as a solution provider, we help them."
-->
</div>
</div>
<section class="section4">
<div class="fullcol">
在华为内部,一旦他的团队完成内部业务流程部门向 Kubernetes 的转型,侯培新希望说服更多部门转向云原生开发和实践。
<!--
Within Huawei itself, once his team completes the transition of the internal business procedure department to Kubernetes,
Hou is looking to convince more departments to move over to the cloud native development cycle and practice.
-->
“我们有很多软件开发人员,所以我们将为他们提供我们的平台作为服务解决方案,我们自己的产品”,
他说,“我们希望在他们的迭代周期中看到显著的成本削减”。<br><br>
<!--
"We have a lot of software developers,
so we will provide them with our platform as a service solution, our own product," he says.
"We would like to see significant cuts in their iteration cycle."<br><br>
-->
在见证了华为最开始的向 Kubernetes 的转型之后,侯培新为其他考虑该技术的公司提供了建议,
“当你开始设计应用程序的架构时,首先考虑云原生,然后再考虑微服务架构”,他说,“我想你会从中受益”。<br><br>
<!--
Having overseen the initial move to Kubernetes at Huawei, Hou has advice for other companies considering the technology:
"When you start to design the architecture of your application, think about cloud native,
think about microservice architecture from the beginning," he says.
"I think you will benefit from that."<br><br>
-->
但是如果您已经有了遗留应用程序,“首先从这些应用程序中一些对微服务友好的部分开始,
这些部分相对容易分解成更简单的部分,并且相对轻量级”,侯培新说,
<!--
But if you already have legacy applications, "start from some microservice-friendly part of those applications first,
parts that are relatively easy to be decomposed into simpler pieces and are relatively lightweight," Hou says.
-->
“不要从一开始就认为我想在几天内将整个架构或所有东西都迁移到微服务中。
不要把它当作目标。你应该循序渐进地做这件事。
我想说的是,对于遗留应用程序,并不是每个部分都适合微服务架构”。<br><br>
<!--
"Dont think from day one that within how many days I want to move the whole architecture,
or move everything into microservices. Dont put that as a kind of target.
You should do it in a gradual manner. And I would say for legacy applications,
not every piece would be suitable for microservice architecture. No need to force it."<br><br>
-->
毕竟,尽管侯培新对华为的 Kubernetes 充满热情,但他估计,
“未来 10 年,或许 80% 的工作负载可以分布式地在云原生环境中运行,但仍然有 20% 不是,但是没关系。
如果我们能够让 80% 的工作负载真正是云原生的、敏捷的,那么最终会有一个更好的世界”。
<!--
After all, as enthusiastic as Hou is about Kubernetes at Huawei, he estimates that "in the next 10 years,
maybe 80 percent of the workload can be distributed, can be run on the cloud native environments.
Theres still 20 percent thats not, but its fine.
If we can make 80 percent of our workload really be cloud native, to have agility,
its a much better world at the end of the day."
-->
</div>
</section>
<div class="banner5">
<div class="banner5text">
“未来 10 年,可能 80% 的工作负载可以分布式地在云原生环境中运行,但仍然有 20% 不是,不过没关系。
如果我们能够让 80% 的工作负载真正是云原生的、敏捷的,那么最终会有一个更好的世界。”
<!--
"In the next 10 years, maybe 80 percent of the workload can be distributed,
can be run on the cloud native environments.
Theres still 20 percent thats not, but its fine.
If we can make 80 percent of our workload really be cloud native, to have agility,
its a much better world at the end of the day."
-->
</div>
</div>
<section class="section5">
<div class="fullcol">
在不久的将来,侯培新期待着围绕着 Kubernetes 开发的新功能,尤其是华为正在开发的那些功能。
<!--
In the nearer future, Hou is looking forward to new features that are being developed around Kubernetes,
not least of all the ones that Huawei is contributing to.
-->
华为的工程师已经在为联邦功能(将多个 Kubernetes 集群放在一个框架中进行无缝管理)、调度、容器网络和存储,以及刚刚发布的一项名为
<a href="http://containerops.org/"> Container Ops </a>的技术工作,这是一个 DevOps 管道引擎。
<!--
Huawei engineers have worked on the federation feature
(which puts multiple Kubernetes clusters in a single framework to be managed seamlessly), scheduling,
container networking and storage, and a just-announced technology called
<a href="http://containerops.org/">Container Ops</a>, which is a DevOps pipeline engine.
-->
“这将把每个 DevOps 作业放到一个容器中”,他解释说,“这种容器机制使用 Kubernetes 运行,也用于测试 Kubernetes。
有了这种机制,我们可以比以前更容易地创建、共享和管理容器化 DevOps 作业”。<br><br>
<!--
"This will put every DevOps job into a container," he explains.
"And then this container mechanism is running using Kubernetes, but is also used to test Kubernetes.
With that mechanism, we can make the containerized DevOps jobs be created,
shared and managed much more easily than before."<br><br>
-->
尽管如此,侯培新认为这项技术只是实现其全部潜力的一半。
首先,也是最重要的,他想要扩大它可以协调的规模,
这对于华为这样的超大规模公司以及它的一些客户来说非常重要。<br><br>
<!--
Still, Hou sees this technology as only halfway to its full potential.
First and foremost, hed like to expand the scale it can orchestrate,
which is important for supersized companies like Huawei as well as some of its customers.<br><br>
-->
侯培新自豪地指出,在华为第一位工程师成为 Kubernetes 的贡献者和传道者两年后,华为现在是这个社区的最大贡献者。
他说,“我们发现,你对社区的贡献越大,你得到的回报也就越多”。
<!--
Hou proudly notes that two years after that first Huawei engineer became a contributor to and evangelist for Kubernetes,
Huawei is now a top contributor to the community. "Weve learned that the more you contribute to the community,"
he says, "the more you get back."
-->
</div>
</section>
@@ -0,0 +1,4 @@
---
title: LivePerson
content_url: https://www.openstack.org/videos/video/running-kubernetes-on-openstack-at-liveperson
---
Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

+4
View File
@@ -0,0 +1,4 @@
---
title: Monzo
content_url: https://youtu.be/YkOY7DgXKyw
---
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

@@ -0,0 +1,4 @@
---
title: Philips
content_url: https://cloud.google.com/customers/philips/
---
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

@@ -0,0 +1,4 @@
---
title: Pokemon GO
content_url: https://cloudplatform.googleblog.com/2016/09/bringing-Pokemon-GO-to-life-on-Google-Cloud.html
---
Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

@@ -0,0 +1,4 @@
---
title: Samsung SDS
content_url: http://www.nextplatform.com/2016/05/24/samsung-experts-put-kubernetes-paces/
---
Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

@@ -0,0 +1,4 @@
---
title: SoundCloud
content_url: https://www.youtube.com/watch?v=5378N5iLb2Q
---
Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

@@ -0,0 +1,224 @@
---
title: Squarespace 案例分析
case_study_styles: true
cid: caseStudies
css: /css/style_case_studies.css
---
<!--
---
title: Squarespace Case Study
case_study_styles: true
cid: caseStudies
css: /css/style_case_studies.css
---
-->
<!-- <div class="banner1 desktop" style="background-image: url('/images/CaseStudy_squarespace_banner1.jpg')">
<h1> CASE STUDY:<img src="/images/squarespace_logo.png" class="header_logo"><br>
<div class="subhead">Squarespace: Gaining Productivity and Resilience with Kubernetes</div>
</h1>
</div> -->
<div class="banner1 desktop" style="background-image: url('/images/CaseStudy_squarespace_banner1.jpg')">
<h1> 案例分析:<img src="/images/squarespace_logo.png" class="header_logo"><br>
<div class="subhead">Squarespace: 借力 Kubernetes 提升效率和可靠性</div>
</h1>
</div>
<!-- <div class="details">
Company &nbsp;<b>Squarespace</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Location &nbsp;<b>New York, N.Y.</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Industry &nbsp;<b>Software as a Service, Website-Building Platform</b>
</div> -->
<div class="details">
公司名 &nbsp;<b>Squarespace</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;地址 &nbsp;<b>纽约市,纽约州</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;行业 &nbsp;<b>软件服务,网站构建平台</b>
</div>
<hr>
<section class="section1">
<div class="cols">
<div class="col1">
<!-- <h2>Challenge</h2>
Moving from a monolith to microservices in 2014 "solved a problem on the development side, but it pushed that problem to the infrastructure team," says Kevin Lynch, Staff Engineer on the Site Reliability team at Squarespace. "The infrastructure deployment process on our 5,000 VM hosts was slowing everyone down." -->
<h2>挑战</h2>
自从 2014 年,我们从 monolith 架构移植到微服务架构,
“虽然解决了开发端的问题,但却带来了架构组的问题”,Squarespace 网站可靠性组的主任工程师 Kevin Lynch 说道。
“5000 个 VM 主机上的部署过程,让每个人都举步维艰。”
<br>
<!-- <h2>Solution</h2>
The team experimented with container orchestration platforms, and found that Kubernetes "answered all the questions that we had," says Lynch. The company began running Kubernetes in its data centers in&nbsp;2016. -->
<h2>解决方案</h2>
网站可靠性组开始尝试使用不同的容器编排平台,然后发现 Kubernetes “解决了我们所有的既有问题”,Lynch 说道。于是整个公司在 2016 年开始在自己的数据中心中运行 Kubernetes 集群。
</div>
<div class="col2">
<!-- <h2>Impact</h2>
Since Squarespace moved to Kubernetes, in conjunction with modernizing its networking stack, deployment time has been reduced by almost 85%.
Before, their VM deployment would take half an hour; now, says Lynch, "someone can generate a templated application, deploy it within five minutes,
and have actual instances containerized, running in our staging environment at that point." Because of that, "productivity time is the big cost saver,"
he adds. "When we started the Kubernetes project, we had probably a dozen microservices. Today there are twice that in the pipeline being actively worked on."
Resilience has also been improved with Kubernetes: "If a node goes down, its rescheduled immediately and theres no performance&nbsp;impact." -->
<h2>影响</h2>
自从 Squarespace 开始全面使用 Kubernetes,伴随着网络技术栈的革新,部署时间大幅减少85%。
以前,他们的 VM 部署需要耗费半个小时;现在,Lynch 提到,“一个人可以生成一个模板应用,在五分钟内部署,并将实例容器化,并在模拟环境下运行。”正因为如此,“开发效率节省了大量的成本。”
他又补充道,“当我们开始用 Kubernetes 时,我们可能只有十几个微服务。而现在的任务栏里面已经有两倍多的微服务正在进行中。”
Kubernetes 也同样提升了可靠性:“如果一个节点宕掉,马上会重新调度一个新的节点,没有任何性能上的影响。”
</div>
</div>
</section>
<div class="banner2">
<div class="banner2text">
<iframe width="560" height="315" src="https://www.youtube.com/embed/feQkzJkW-SA" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
<br><br>“一旦你验证了 Kubernetes 可以解决一个问题,每个人都会立即着手解决其它的问题,无需你的布道。”
<br style="height:25px"><span style="font-size:14px;letter-spacing:2px;text-transform:uppercase;margin-top:5% !important;"><br>— Kevin LynchSquarespace 网站可靠性组的主任工程师</span>
</div>
</div>
<section class="section2">
<div class="fullcol">
<!-- <h2>Since it was started in a dorm room in 2003, Squarespace has made it simple for millions of people to create their own websites.</h2> -->
<h2>从 2003 年宿舍起步, Squarespace 已经为数百万人提供了网站构建服务。</h2>
<!-- Behind the scenes, though, the companys monolithic Java application was making things not so simple for its developers to keep improving the platform.
So in 2014, the company decided to "go down the microservices path," says Kevin Lynch, staff engineer on Squarespaces Site Reliability team.
"But we were always deploying our applications in vCenter VMware VMs [in our own data centers]. Microservices solved a problem on the development side,
but it pushed that problem to the Infrastructure team. The infrastructure deployment process on our 5,000 VM hosts was slowing everyone down."<br><br> -->
但在幕后,公司的单体应用却让开发人员在平台创新上举步维艰。所以在 2014 年,公司决定”走微服务之路”,Kevin Lynch 提到,Squarespace 网站稳定性组的主任工程师。
“但是我们还是一直在自己的 vCenter VMware 虚拟机[我们自己的数据中心]上部署应用。微服务解决了开发端的问题,但是让问题转变到了基础架构组这一边。我们在5000个虚拟机主机上的部署流程让每个人的开发效率都提高不起来。”
<!-- After experimenting with another container orchestration platform and "breaking it in very painful ways," Lynch says,
the team began experimenting with Kubernetes in mid-2016 and found that it "answered all the questions that we had."
Deploying it in the data center rather than the public cloud was their biggest challenge, and at the time, not a lot of other companies were doing that.
"We had to figure out how to deploy this in our infrastructure for ourselves, and we had to integrate it with our other applications," says Lynch.<br><br> -->
在尝试过另外一个容器编排平台,“非常痛苦地拆解它”,Lynch 说道,我们组开始在 2016 年年中尝试 Kubernetes,发现它“能解决我们所有的问题”。
将 Kubernetes 部署在数据中心,而非公有云上是我们最大的挑战,但在当时,并没有很多其它的公司会这么做。
“我们必须要自己摸索出如何在自己的基础架构中部署它,我们也必须要将其和我们其它的应用做集成,”Lynch补充道。<br><br>
<!-- At the same time, Squarespaces Network Engineering team was modernizing its networking stack, switching from a traditional layer-two network to a layer-three spine-and-leaf network.
"It mapped beautifully with what we wanted to do with Kubernetes," says Lynch. "It gives us the ability to have our servers communicate directly with the top-of-rack switches. We use Calico for
<a href="https://github.com/containernetworking/cnihttps://github.com/containernetworking/cni">CNI networking for Kubernetes</a>,
so we can announce all these individual Kubernetes pod IP addresses and have them integrate seamlessly with our other services that are still provisioned in the VMs." -->
与此同时,Squarespace 的网络工程组也正在革新它们的网络技术栈,从传统的 L2 网络转变为 L3 脊叶网络架构。
“” Lynch 说道,“它给了我们服务器直接通过架顶交换机通信的能力。我们使用 Calico 作为
<a href="https://github.com/containernetworking/cnihttps://github.com/containernetworking/cni">Kubernetes 的 CNI 网络插件</a>”,
因而,我们可以为每个 Kubernetes pod 分配 IP 地址,并将它们和其它仍在虚拟机中创建的服务无缝衔接。
</div>
</section>
<div class="banner3" style="background-image: url('/images/CaseStudy_squarespace_banner3.jpg')">
<!-- <div class="banner3text">
After experimenting with another container orchestration platform and "breaking it in very painful ways,"
Lynch says, the team began experimenting with Kubernetes in mid-2016 and found that it "answered all the questions that we had."
</div> -->
<div class="banner3text">
在尝试过另外一个容器编排平台,“非常痛苦地拆解它”,Lynch 说道,我们组开始在 2016 年年中尝试 Kubernetes,发现它“能解决我们所有的问题”。
</div>
</div>
<section class="section3">
<div class="fullcol">
<!-- Within a couple months, they had a stable cluster for their internal use, and began rolling out Kubernetes for production.
They also added Zipkin and CNCF projects <a href="https://prometheus.io/">Prometheus</a> and <a href="https://www.fluentd.org/">fluentd</a> to their cloud native stack.
"We switched to Kubernetes, a new world, and we revamped all our other tooling as well," says Lynch. "It allowed us to streamline our process,
so we can now easily create an entire microservice project from templates, generate the code and deployment pipeline for that, generate the Docker file,
and then immediately just ship a workable, deployable project to Kubernetes." Deployments across Dev/QA/Stage/Prod were also "simplified drastically," Lynch adds.
"Now there is little configuration variation." -->
几个月的时间,它们就有了一个稳定的集群供内部使用,并开始在生产环境下使用 Kubernetes。
他们同时还在自己的云原生技术栈中用到了 Zipkin 和 CNCF 项目 <a href="https://prometheus.io/">Prometheus</a> and <a href="https://www.fluentd.org/">fluentd</a>
“我们换到 Kubernetes,就像进入了一个新世界,我们也同时改进了其它的工具,” Lynch 说道。“它让我们简化了流程,因而,我们才能更加方便地从模板中创建整个微服务项目,生成代码和部署管道,生成 Docker 文件,
并迅速地将可用的、可部署的项目发布到 Kubernetes 集群上。”在 Dev/QA/Stage/Prod 不同环境间的部署也变得 “异常的简单,” Lynch 补充道。
“现在,环境间的配置差异变得很小。”
<br><br>
<!-- And the whole process takes only five minutes, an almost 85% reduction in time compared to their VM deployment.
"From end to end that probably took half an hour, and thats not accounting for the fact that an infrastructure engineer would be responsible for doing that,
so theres some business delay in there as well." -->
而且整个部署过程只需要五分钟,和虚拟机部署相比,几乎节约了 85% 的时间。
“从端到端可能要半个小时,这还没有考虑可能需要基础架构工程师来做这方面的工作,因而,也还有一些业务上的延时。”
<br><br>
<!-- With faster deployments, "productivity time is the big cost saver," says Lynch. "We had a team that was implementing a new file storage service,
and they just started integrating that with our storage back end without our involvement"—which wouldnt have been possible before Kubernetes.
He adds: "When we started the Kubernetes project, we had probably a dozen microservices. Today there are twice that in the pipeline being actively worked on." -->
部署变快之后,“开发效率节省了大量的成本,” Lynch 提到,“我们有个组想要实现新的文件存储服务,他们就径直和我们的存储后来做了集成,而不需要我们的参与”,这在采用 Kubernetes 之前是不可想象的。
他又补充道:“在我们开始 Kubernetes 项目时,我们可能只有十几个微服务。而现在的任务栏里面已经有两倍多的微服务正在进行中。”
</div>
</section>
<div class="banner4" style="background-image: url('/images/CaseStudy_squarespace_banner4.jpg')">
<div class="banner4text">
<!-- "We switched to Kubernetes, a new world....It allowed us to streamline our process, so we can now easily create an entire microservice project from templates,"
Lynch says. And the whole process takes only five minutes, an almost 85% reduction in time compared to their VM deployment. -->
“我们换到 Kubernetes,就像进入了一个新世界....它让我们简化了流程,因而,我们才能更加方便地从模板中创建整个微服务项目,”
Lynch 说道。整个部署过程只需要五分钟,和虚拟机部署相比,几乎节约了 85% 的时间。
</div>
</div>
<section class="section5" style="padding:0px !important">
<div class="fullcol">
<!-- Theres also been a positive impact on the applications resilience. "When were deploying VMs, we have to build tooling to ensure that a service is
spread across racks appropriately and can withstand failure," he says. "Kubernetes just does it. If a node goes down,
its rescheduled immediately and theres no performance impact." -->
同样在应用程序的可靠性方面也有积极的影响。“当我们在部署虚拟机时,我们需要工具来保障服务散布在机架间,可以承受失败,”他说道,“Kubernetes 正好可以做到这一点。如果节点宕掉,可以马上重新调度,没有性能影响。”
<br><br>
<!-- Another big benefit is autoscaling. "It wasnt really possible with the way weve been using VMware," says Lynch, "but now we can just
add the appropriate autoscaling features via Kubernetes directly, and boom, its scaling up as demand increases. And it worked out of the box." -->
另一个很大的好处就是扩缩容。“按照我们使用 VMware 的方式,扩缩容好像不可能实现,”Lynch 说道,“但现在,我们可以直接通过 Kubernetes 加入合适的扩缩容功能,然后,随着需求的增加而扩容。开箱即用!”
<br><br>
<!-- For others starting out with Kubernetes, Lynch says his best advice is to "fail fast": "Once youve planned things out, just execute.
Kubernetes has been really great for trying something out quickly and seeing if it works or not." -->
针对刚开始使用 Kubernetes 的人,Lynch 说他最后的建议就是“快速失败”:“一旦计划后,马上执行。Kubernetes 真的是非常适合快速实验,看看是否可行。”
</div>
<div class="banner5">
<div class="banner5text">
<!-- "When were deploying VMs, we have to build tooling to ensure that a service is spread across racks appropriately and can withstand failure,"
he says. "Kubernetes just does it. If a node goes down, its rescheduled immediately and theres no performance impact." -->
“当我们在部署虚拟机时,我们需要工具来保障服务散布在机架间,可以承受失败,”他说道,“Kubernetes 正好可以做到这一点。如果节点宕掉,可以马上重新调度,没有性能影响。”
</div>
</div>
<div class="fullcol">
<!-- Lynch and his team are planning to open source some of the tools theyve developed to extend Kubernetes and use it as an API itself.
The first tool injects dependent applications as containers in a pod.
"When you ship an application, usually it comes along with a whole bunch of dependent applications that need to be shipped with that,
for example, fluentd for logging," he explains. With this tool, the developer doesnt need to worry about the configurations. -->
Lynch 和他的小组正准备开源一些他们的工具,这些工具用来延展 Kubernetes,将其作为 API 使用。
第一个工具在 pod 将依赖应用作为容器注入。
“当你在发布应用时,常常需要一系列的依赖应用,例如,日志用的 fluentd,” 他解释道。
有了这个工具,开发人员就不需要担心配置了。
<br><br>
<!-- Going forward, all new services at Squarespace are going into Kubernetes, and the end goal is to convert everything it can. About a quarter of
existing services have been migrated. "Our monolithic application is going to be the last one, just because its so big and complex," says Lynch.
"But now Im seeing other services get moved over, like the file storage service. Someone just did it and it worked—painlessly. So I believe if we tackle it,
its probably going to be a lot easier than we fear. Maybe I should just take my own advice and fail fast!" -->
自此之后,Squarespace 所有新的微服务都将直接部署到 Kubernetes 上,而最终的目标是要扩大到所有的服务上。
现在已经有四分之一的服务已经移植完。“我的单体应用将是最后一个被移植的,仅仅是以为它太大、太复杂,”Lynch 说道。
“但现在我已经看到其它的服务已经被移植到 Kubernetes 上,例如文件存储服务。有人解决了,而且并不复杂。
所以我坚信如果我们着手解决它,很可能回避我们所担心的要轻松许多。也许我应该接受自己的建议,“快速失败”!”
</div>
</section>
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Some files were not shown because too many files have changed in this diff Show More