Compare commits

..

174 Commits

Author SHA1 Message Date
Karen Bradshaw e851c23488 Update static/_redirects, release-1.14 (#19893)
* updates 1.14 static _redirects, netlify bug

* redirects update, remove zh/_redirects
2020-03-27 19:25:53 -07:00
Vineeth Pothulapati 9764a0845c Updated config.toml as part of release-1.18 (#19843)
Signed-off-by: vineeth <vineethpothulapati@outlook.com>
2020-03-26 20:32:23 -07:00
Kubernetes Prow Robot debe52834e Change version selector to retain current page when switching versions (#19469) 2020-03-04 16:46:38 -08:00
Damini Satya db4b4ccbaa Update config.toml(release-1.14) for 1.17 (#18028) 2019-12-09 16:15:30 -08:00
wangcong 90801c2a9a zh trans host-aliases.md (#16781)
* zh trans host-aliases.md

* Update host-aliases.md
2019-10-29 20:06:53 -07:00
wangcong e2ba785624 Pod lifecycle.md (#16782)
* zh trans host-aliases.md

* zh trans pod-lifecycle.md

* Update host-aliases.md

* Update pod-lifecycle.md

* Update host-aliases.md

* Update pod-lifecycle.md
2019-10-29 19:52:53 -07:00
wangcong 34b3331cea zh trans pod-disruption-budget.md (#16780)
* zh trans pod-disruption-budget.md

* Update pod-disruption-budget.md

* Update pod-disruption-budget.md

* Update pod-disruption-budget.md
2019-10-26 00:57:24 -07:00
FlyingOnion bbaf0163b5 update Permalink to RelPermalink (#16033) 2019-10-22 12:08:14 -07:00
Qiming 97cf15bdb2 Override deprecation warning for Chinese localization (#16131)
The Chinese (zh) localization will always fall behind the English main
site by one minor version. This means the 1.14 version at this stage is
the "current" version.

This PR attempts to fix the incorrect "deprecation" warning which is set
globally for release-1.14.
2019-10-22 12:04:14 -07:00
Sophy417 ee7253b3c1 Create configure-gmsa.md (#16816) 2019-10-15 02:19:52 -07:00
wangcong 2c52bc2a89 Preemption (#16820)
* zh trans host-aliases.md

* Update host-aliases.md

* zh trans preemption.md

* Update host-aliases.md
2019-10-15 02:17:52 -07:00
Sophy417 8e6ac13804 Create kubeadm_init_phase_upload-config_kubeadm.md (#16823) 2019-10-15 02:15:52 -07:00
Sophy417 72bf8529a0 Create kubeadm_join_phase.md (#16826) 2019-10-15 02:13:52 -07:00
zhangx501 fb996c1a8c Create kubeadm_join_phase_control-plane-join_mark-control-plane.md (#16842)
* Create kubeadm_join_phase_control-plane-join_mark-control-plane.md

* Update kubeadm_join_phase_control-plane-join_mark-control-plane.md
2019-10-15 02:11:52 -07:00
zhangx501 166b50c003 Create kubeadm_join_phase_control-plane-join_etcd.md (#16849) 2019-10-15 02:09:52 -07:00
zhangx501 023d9059df Create kubeadm_init_phase_upload-config_all.md (#16850) 2019-10-15 02:07:53 -07:00
wangcong ec2166013a zh trans workload.md (#16779)
* zh trans workload.md

* Update workload.md

* Update workload.md

* Update workload.md
2019-10-13 19:16:35 -07:00
yuxiaobo96 0c43fa9c6a zh-translation:assign-cpu-resource.md (#16735)
* zh-translation:assign-cpu-resource.md

* Update assign-cpu-resource.md

* Update assign-cpu-resource.md
2019-10-11 18:24:40 -07:00
陈谭军 5fbc10d8fc add ZH translation /docs/user-journeys/users/application-developer/ (#16674) 2019-10-07 06:15:11 -07:00
陈谭军 36f8418cb5 add ZH translation /docs/tasks/federation/set-up-cluster-federation-kubefed.md (#16672) 2019-10-07 06:13:09 -07:00
陈谭军 d393d8b8e0 add ZH translation /docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_kubeconfig.md (#16690) 2019-10-07 06:11:10 -07:00
Xiaolong He 323ff6e66a Merge pull request #16678 from tanjunchen/ZH-translation-/docs/tasks/federation/federation-service-discovery.md
add ZH translation /docs/tasks/federation/federation-service-discover…
2019-10-07 15:32:17 +08:00
Xiaolong He 596a5ddb34 Merge pull request #16715 from markthink/release-1.14
Fix local build errors
2019-10-07 15:11:16 +08:00
Dragons 64ed4a38f2 fix 2019-10-07 02:55:55 -04:00
Dragons f1e7ec48ab fix build 2019-10-07 02:46:49 -04:00
Zach Corleissen 3d084334b5 Remove shortcode to import deleted file (#16653) 2019-10-06 03:21:10 -07:00
tanjunchen 9e04461c01 add ZH translation /docs/tasks/federation/federation-service-discovery.md 2019-10-04 19:56:29 +08:00
MJ-CJM 5caf703b21 Zh-trans:/docs/concepts/extend-kubernetes/extend-cluster.md (#16537)
* .

* .

* .

* .

* .
2019-10-03 16:41:55 -07:00
zacharysarah 7602871600 Update Hugo version to 0.57.2 2019-10-01 16:50:22 -07:00
aimeeu 9d39014d1e Cherry pick PR - Fix site build (#16531) (#16647)
The `*.profile` file referenced do not need to be provided in a separate
file. Making them separate files is preventing Hugo 0.57.2 from correctly
building the site.
2019-10-01 15:49:08 -07:00
Hongcai Ren ea32037620 [zh] Localize contribute/intermediate (#16496)
* Copy docs/contribute/intermediate.md first

* Finish Review pull requests

* Split huge document: This commit finish review a pull request.

* Split huge document: Work from a local clone

* Split huge document:Triage and categorize issues

* Split huge document: Document new features

* Split huge document:Localize content

* correct title level

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

Co-Authored-By: LiuDui <1693291525@qq.com>
2019-09-29 05:43:37 -07:00
周仁杰 44e4527719 zh-tran-ahanabi-4 (#16601)
* zh-tran-ahanabi-1

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* Update 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* Update 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* Update 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* zh-trans-ahanabi-2

* Update 2015-12-00-Managing-Kubernetes-Pods-Services-And-Replication-Controllers-With-Puppet.md

* Update 2015-12-00-Managing-Kubernetes-Pods-Services-And-Replication-Controllers-With-Puppet.md

* Delete 2015-12-00-Managing-Kubernetes-Pods-Services-And-Replication-Controllers-With-Puppet.md

* Create 2016-07-00-Dashboard-Web-Interface-For-Kubernetes.md

* Update 2016-07-00-Dashboard-Web-Interface-For-Kubernetes.md

* Delete 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* Update 2016-07-00-Dashboard-Web-Interface-For-Kubernetes.md
2019-09-29 05:31:38 -07:00
周仁杰 298abf4608 zh-tran-ahanabi-6 (#16604)
* zh-tran-ahanabi-1

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* Update 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* Update 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* Update 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* zh-trans-ahanabi-2

* Update 2015-12-00-Managing-Kubernetes-Pods-Services-And-Replication-Controllers-With-Puppet.md

* Update 2015-12-00-Managing-Kubernetes-Pods-Services-And-Replication-Controllers-With-Puppet.md

* Delete 2015-12-00-Managing-Kubernetes-Pods-Services-And-Replication-Controllers-With-Puppet.md

* Delete 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* Create 2016-07-00-Oh-The-Places-You-Will-Go.md

* Update 2016-07-00-Oh-The-Places-You-Will-Go.md
2019-09-29 05:19:38 -07:00
陈谭军 0755463b00 translate-/docs/tutorials/clusters/apparmor.md (#16365) 2019-09-25 05:20:00 -07:00
li mengyang 38dc68b5af tran configure-pdb.md (#16241) 2019-09-24 23:11:59 -07:00
陈谭军 2b0f43cc39 zh content/zh/docs/tasks/configure-pod-container/configure-pod-configmap.md (#16539) 2019-09-24 22:46:00 -07:00
陈谭军 0b82730ef9 add zh content/zh/docs/tasks/run-application/run-replicated-stateful-application.md (#16498) 2019-09-23 23:59:26 -07:00
周仁杰 b4c2a3cc87 zh-tran-ahanabi-2 (#16360)
* zh-tran-ahanabi-1

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* Update 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* Update 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* Update 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* zh-trans-ahanabi-2

* Update 2015-12-00-Managing-Kubernetes-Pods-Services-And-Replication-Controllers-With-Puppet.md

* Update 2015-12-00-Managing-Kubernetes-Pods-Services-And-Replication-Controllers-With-Puppet.md

* Delete 2015-12-00-Managing-Kubernetes-Pods-Services-And-Replication-Controllers-With-Puppet.md

* Create 2015-12-00-Managing-Kubernetes-Pods-Services-And-Replication-Controllers-With-Puppet.md

* Delete 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* 修复标题顺序,解决渲染问题
2019-09-22 04:29:23 -07:00
yuxiaobo96 7a2cde87ad zh-translation:reconfigure-kubelet.md (#16275)
* zh-translation:reconfigure-kubelet.md

* zh-translation:reconfigure-kubelet.md
2019-09-22 04:25:22 -07:00
陈谭军 6031a10fa2 add content/zh/docs/sitemap.md translation (#16363) 2019-09-22 04:05:23 -07:00
Hongcai Ren b174ac5476 [zh]Translate contribute/participating.md (#16375)
* Translate participating.md from content/en/docs/contribute/participating.md

* 修复注释块
2019-09-22 03:53:22 -07:00
ten2ton a4123eefdb Zh trans update casestudies ygrene (#16373)
* zh-trans: add /case-studies/nordstorm/index.html

* zh-trans: add /case-studies/buffer/index.html

* zh-trans: update content/zh/case-studies/buffer/index.html

* zh-trans: update content/zh/case-studies/buffer/index.html

* Update index.html

* zh-trans: add content/zh/case-studies/zalando/index.html

* zh-trans: add content/case-studies/ygrene

* add workiva

* add content/case-studies/workiva/index.html

* zh-trans add content/case-studies/wink/index.html

* fix conflict

* update header

* update header

* zh-trans update cotent/case-studies/ygrene/index.html

* zh-trans update cotent/case-studies/ygrene/index.html

* zh-trans update cotent/case-studies/ygrene/index.html

* zh-trans update content/case-studies/workiva/index.html

* zh-trans update content/case-studies/workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update ygrene/index.html

* zh-trans update workiva/index.html

* zh-trans update content/case-studies/buffer/index.html

* zh-trans add content/case-studies/wikimedia

* zh-trans add content/case-studies/netease

* zh-trans add content/case-studies/ibm

* zh-trans update content/case-studies/ibm/index.html

* zh-trans update content/case-studies/netease/index.html

* zh-trans update content/case-studies/wikimedia/index.html

* zh-trans update content/case-studies/ibm

* zh-trans update content/case-studies/ibm

* zh-trans update content/case-studies/ibm

* zh-trans update content/case-studies/ibm

* zh-trans update cotent/case-studies/ibm

* zh-trans update content/case-studies/ibm

* zh-trans update content/case-studies/ygrene
2019-09-22 03:51:22 -07:00
陈谭军 82245e3a3e translate content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_control-plane_apiserver.md (#16381) 2019-09-22 03:43:23 -07:00
wangcong 1dc8c62c58 Zh trans /docs/reference/glossary/rkt.md (#16382)
* zh trans /docs/reference/glossary/rkt.md

* zh trans /docs/reference/glossary/rkt.md

* Update rkt.md

* Rename content/en/docs/reference/glossary/rkt.md to content/zh/docs/reference/glossary/rkt.md
2019-09-22 03:41:22 -07:00
jiajie 6efc90e87a Create kube-controller-manager.md (#16390)
zh-trans kube-controller-manager.md
2019-09-22 03:23:22 -07:00
jiajie 6fd8cd9b5f Create kubeadm_join_phase_control-plane-join.md (#16391)
zh-trans kubeadm_join_phase_control-plane-join.md
2019-09-22 03:21:21 -07:00
zhangx501 f4a75e51ae Create custom-resource-definition-versioning.md (#16392)
* Create custom-resource-definition-versioning.md

* Update custom-resource-definition-versioning.md
2019-09-22 03:17:22 -07:00
jiajie 864b8a19db Create ip-masq-agent.md (#16420)
* Create ip-masq-agent.md

zh-trans

* Update content/zh/docs/tasks/administer-cluster/ip-masq-agent.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>

* Update ip-masq-agent.md

* Update ip-masq-agent.md

transfer en wikipedia links to zh

* Update content/zh/docs/tasks/administer-cluster/ip-masq-agent.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/docs/tasks/administer-cluster/ip-masq-agent.md

Co-Authored-By: LiuDui <1693291525@qq.com>
2019-09-22 03:13:22 -07:00
jiajie 5c7cb0d272 Create kubeadm-upgrade-1-13.md (#16445) 2019-09-22 03:05:23 -07:00
zhangx501 52b7b3b82d Create overview.md (#16473) 2019-09-22 03:03:22 -07:00
周仁杰 f9eed0480b zh-tran-ahanabi-3 (#16491)
* zh-tran-ahanabi-1

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* Update 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* Update 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* Update 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* zh-trans-ahanabi-2

* Update 2015-12-00-Managing-Kubernetes-Pods-Services-And-Replication-Controllers-With-Puppet.md

* Update 2015-12-00-Managing-Kubernetes-Pods-Services-And-Replication-Controllers-With-Puppet.md

* Delete 2015-12-00-Managing-Kubernetes-Pods-Services-And-Replication-Controllers-With-Puppet.md

* Create 2016-01-00-Simple-Leader-Election-With-Kubernetes.md

* Update 2016-01-00-Simple-Leader-Election-With-Kubernetes.md

* Update 2016-01-00-Simple-Leader-Election-With-Kubernetes.md
2019-09-22 02:55:23 -07:00
jiazxjason 0083395571 Create kubeadm_init_phase_certs_etcd-healthcheck-client.md (#16489) 2019-09-22 02:53:23 -07:00
陈谭军 00819f92c7 zh add translation content/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade-1-14.md (#16406) 2019-09-20 11:23:26 -07:00
yuxiaobo96 c10c45579f Delete document:content/en/docs/user-journeys/users/cluster-operator/_advanced.md (#16398) 2019-09-20 11:21:25 -07:00
simplytunde caeef8dc53 Merge pull request #16314 from simplytunde/toml-1.14
Update config.toml(release-1.14) for 1.16
2019-09-18 18:19:27 -05:00
wangcong a9f157efda zh trans device-plugin.md (#16388) 2019-09-17 03:58:23 -07:00
Hongcai Ren 8c7ca25aea Minor change: update file name. (#16368) 2019-09-16 19:14:24 -07:00
simplytunde 40188882d9 Add instructions for switching to iptables-legacy (#16271) (#16370)
(cherry picked from commit 9cdaf4ead1)
2019-09-16 08:52:38 -07:00
li mengyang 6fdc6ca853 trans-Why-Kubernetes-Doesnt-Use-Libnetwork (#16223) 2019-09-15 06:00:38 -07:00
MJ-CJM c0b1a38715 zh-trans:docs/concepts/extend-kubernetes/service-catalog.md (#16229)
* .

* .

* .

* .

* .

* .

* .

* .

* .
2019-09-15 05:58:38 -07:00
yuxiaobo96 225e1825ac zh-translation:2015-07-00-Announcing-First-Kubernetes-Enterprise.md (#16260)
* zh-translation:2015-07-00-Announcing-First-Kubernetes-Enterprise.md

* zh-translation:2015-07-00-Announcing-First-Kubernetes-Enterprise.md
2019-09-15 05:56:38 -07:00
周仁杰 d416835470 zh-tran-ahanabi-1 (#16258)
* zh-tran-ahanabi-1

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* Update 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* Update 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* Update 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* zh-trans-ahanabi-2

* Update 2015-12-00-Managing-Kubernetes-Pods-Services-And-Replication-Controllers-With-Puppet.md

* Update 2015-12-00-Managing-Kubernetes-Pods-Services-And-Replication-Controllers-With-Puppet.md

* Delete 2015-12-00-Managing-Kubernetes-Pods-Services-And-Replication-Controllers-With-Puppet.md
2019-09-15 05:54:38 -07:00
Hongcai Ren ca8c9d0255 Trans zh: debug-application-introspection. (#16264) 2019-09-15 05:52:38 -07:00
zhangx501 30b1610144 Create zh-trans:kubeadm-certs.md (#16274) 2019-09-15 05:46:37 -07:00
ten2ton 2c54762954 zh-trans add content/case-studies/ibm (#16354)
* zh-trans: add /case-studies/nordstorm/index.html

* zh-trans: add /case-studies/buffer/index.html

* zh-trans: update content/zh/case-studies/buffer/index.html

* zh-trans: update content/zh/case-studies/buffer/index.html

* Update index.html

* zh-trans: add content/zh/case-studies/zalando/index.html

* zh-trans: add content/case-studies/ygrene

* add workiva

* add content/case-studies/workiva/index.html

* zh-trans add content/case-studies/wink/index.html

* fix conflict

* update header

* update header

* zh-trans update cotent/case-studies/ygrene/index.html

* zh-trans update cotent/case-studies/ygrene/index.html

* zh-trans update cotent/case-studies/ygrene/index.html

* zh-trans update content/case-studies/workiva/index.html

* zh-trans update content/case-studies/workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update ygrene/index.html

* zh-trans update workiva/index.html

* zh-trans update content/case-studies/buffer/index.html

* zh-trans add content/case-studies/ibm

* zh-trans update content/case-studies/ibm/index.html

* zh-trans update content/case-studies/ibm

* zh-trans update content/case-studies/ibm

* zh-trans update content/case-studies/ibm

* zh-trans update content/case-studies/ibm

* zh-trans update cotent/case-studies/ibm

* zh-trans update content/case-studies/ibm
2019-09-15 05:44:37 -07:00
jiajie 9373bfa5cd Create overview.md (#16311)
zh-trans docs/reference/kubectl/overview.md
2019-09-15 05:42:37 -07:00
jiajie b69e6e9419 zh_trans content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_upload-config_kubelet.md (#16306)
zh_trans content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_upload-config_kubelet.md
2019-09-15 05:40:36 -07:00
ten2ton fc95b07c8c zh-trans add content/case-studies/wikimedia (#16352)
* zh-trans: add /case-studies/nordstorm/index.html

* zh-trans: add /case-studies/buffer/index.html

* zh-trans: update content/zh/case-studies/buffer/index.html

* zh-trans: update content/zh/case-studies/buffer/index.html

* Update index.html

* zh-trans: add content/zh/case-studies/zalando/index.html

* zh-trans: add content/case-studies/ygrene

* add workiva

* add content/case-studies/workiva/index.html

* zh-trans add content/case-studies/wink/index.html

* fix conflict

* update header

* update header

* zh-trans update cotent/case-studies/ygrene/index.html

* zh-trans update cotent/case-studies/ygrene/index.html

* zh-trans update cotent/case-studies/ygrene/index.html

* zh-trans update content/case-studies/workiva/index.html

* zh-trans update content/case-studies/workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update ygrene/index.html

* zh-trans update workiva/index.html

* zh-trans update content/case-studies/buffer/index.html

* zh-trans add content/case-studies/wikimedia

* zh-trans update content/case-studies/wikimedia/index.html
2019-09-15 05:38:37 -07:00
ten2ton 6596ccd7d7 zh-trans add content/case-studies/netease (#16353)
* zh-trans: add /case-studies/nordstorm/index.html

* zh-trans: add /case-studies/buffer/index.html

* zh-trans: update content/zh/case-studies/buffer/index.html

* zh-trans: update content/zh/case-studies/buffer/index.html

* Update index.html

* zh-trans: add content/zh/case-studies/zalando/index.html

* zh-trans: add content/case-studies/ygrene

* add workiva

* add content/case-studies/workiva/index.html

* zh-trans add content/case-studies/wink/index.html

* fix conflict

* update header

* update header

* zh-trans update cotent/case-studies/ygrene/index.html

* zh-trans update cotent/case-studies/ygrene/index.html

* zh-trans update cotent/case-studies/ygrene/index.html

* zh-trans update content/case-studies/workiva/index.html

* zh-trans update content/case-studies/workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update ygrene/index.html

* zh-trans update workiva/index.html

* zh-trans update content/case-studies/buffer/index.html

* zh-trans add content/case-studies/netease

* zh-trans update content/case-studies/netease/index.html
2019-09-15 05:36:37 -07:00
周仁杰 0a87f3438f zh-tran-ahanabi-2 (#16355)
* zh-tran-ahanabi-1

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update content/zh/blog/_posts/2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

Co-Authored-By: LiuDui <1693291525@qq.com>

* Update 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* Update 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* Update 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* Update 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md

* zh-trans-ahanabi-2

* Update 2015-12-00-Managing-Kubernetes-Pods-Services-And-Replication-Controllers-With-Puppet.md

* Update 2015-12-00-Managing-Kubernetes-Pods-Services-And-Replication-Controllers-With-Puppet.md

* Delete 2015-12-00-Managing-Kubernetes-Pods-Services-And-Replication-Controllers-With-Puppet.md

* Create 2015-12-00-Managing-Kubernetes-Pods-Services-And-Replication-Controllers-With-Puppet.md

* Delete 2018-08-29-kubernetes-testing-ci-automating-contributor-experience.md
2019-09-15 05:34:37 -07:00
Tunde Oladipupo 10d4d51815 Update config.toml(release-1.14) for 1.16 2019-09-13 01:17:11 -06:00
Hongcai Ren d3056f747f Add and translate Horizontal scaling. (#16216)
* Add and translate Horizontal scaling.
content/zh/docs/tasks/run-application/horizontal-pod-autoscale.md

* Update content/zh/docs/tasks/run-application/horizontal-pod-autoscale.md

Co-Authored-By: Tim Bannister <tim@scalefactory.com>
2019-09-08 05:35:17 -07:00
Hongcai Ren 3216ab7e4f zh translation: for (#16200)
docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.
2019-09-08 05:33:18 -07:00
LiuDui f29e90852d ZH-trans: add device-plugin.md (#16187) 2019-09-08 05:29:18 -07:00
ten2ton 7a3f10e765 Zh trans content/case studies/wink (#16167)
* zh-trans: add /case-studies/nordstorm/index.html

* zh-trans: add /case-studies/buffer/index.html

* zh-trans: update content/zh/case-studies/buffer/index.html

* zh-trans: update content/zh/case-studies/buffer/index.html

* Update index.html

* zh-trans: add content/zh/case-studies/zalando/index.html

* zh-trans add content/case-studies/wink/index.html

* zh-trans update content/case-studies/buffer/index.html
2019-09-08 05:27:17 -07:00
ten2ton 89e8154e2e Zh trans content/case studies/workiva (#16164)
* zh-trans: add /case-studies/nordstorm/index.html

* zh-trans: add /case-studies/buffer/index.html

* zh-trans: update content/zh/case-studies/buffer/index.html

* zh-trans: update content/zh/case-studies/buffer/index.html

* Update index.html

* zh-trans: add content/zh/case-studies/zalando/index.html

* add workiva

* add content/case-studies/workiva/index.html

* fix conflict

* update header

* zh-trans update content/case-studies/workiva/index.html

* zh-trans update content/case-studies/workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update workiva/index.html

* zh-trans update content/case-studies/buffer/index.html
2019-09-08 05:25:18 -07:00
ten2ton c8002dc0ee Zh trans content/case studies/ygrene (#16163)
* zh-trans: add /case-studies/nordstorm/index.html

* zh-trans: add /case-studies/buffer/index.html

* zh-trans: update content/zh/case-studies/buffer/index.html

* zh-trans: update content/zh/case-studies/buffer/index.html

* Update index.html

* zh-trans: add content/zh/case-studies/zalando/index.html

* zh-trans: add content/case-studies/ygrene

* update header

* zh-trans update cotent/case-studies/ygrene/index.html

* zh-trans update cotent/case-studies/ygrene/index.html

* zh-trans update cotent/case-studies/ygrene/index.html

* zh-trans update ygrene/index.html

* zh-trans update content/case-studies/buffer/index.html
2019-09-08 05:23:17 -07:00
Chen YaQi fb3f734739 Fix: typo in assign-pods-nodes.md (Chinese version) (#16170)
* Fix: typo in assign-pods-nodes.md (Chinese version)

* Add version check in zh.toml (Chinese version)
2019-09-06 01:32:56 -07:00
Hongcai Ren 8c794d7b47 Rename zh-trans files: (#16185)
zh-trans:resource-metrics-pipeline.md to resource-metrics-pipeline.md
zh-trans:Interactive Tutorial - Scaling Your App.md to scale-interactive.html
2019-09-02 19:30:27 -07:00
LiuDui fa30779747 ZH-trans: add kubectl-plugins.md (#16098)
* ZH-trans: add kubectl-plugins.md

* Update kubectl-plugins.md
2019-09-01 05:07:43 -07:00
SataQiu 0c41870205 zh-trans: add content/zh/docs/setup/learning-environment/minikube.md (#16075) 2019-09-01 05:05:42 -07:00
MJ-CJM a01d8ae9a0 zh-trans:/docs/tasks/administer-cluster/dns-horizontal-autoscaling.md (#16035)
* .

* .
2019-09-01 05:03:43 -07:00
zhangx501 9bdbfa4a23 Create zh-trans:docs/user-journeys/users/cluster-operator/foundational.md (#15997)
* Create foundational.md

* Update foundational.md

* Update foundational.md
2019-09-01 05:01:43 -07:00
zhangx501 7c2965d831 Create zh-trans:Interactive Tutorial - Scaling Your App.md (#16073) 2019-09-01 04:59:42 -07:00
zhangx501 4900513982 Create zh-trans:resource-metrics-pipeline.md (#16076)
* Create zh-trans:resource-metrics-pipeline.md

* Update zh-trans:resource-metrics-pipeline.md
2019-09-01 04:57:42 -07:00
SataQiu 0dc54aaf97 zh-trans: add docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm.md (#16118) 2019-09-01 04:51:42 -07:00
Shaw Ho ff8e35b1e4 Fix typo in static pod page (#16130) 2019-08-31 17:13:44 -07:00
SataQiu ec91559874 zh-trans: add zh/docs/setup/learning-environment/_index.md (#16117) 2019-08-28 21:19:55 -07:00
ten2ton 60be42bc1d zh-trans: add content/case-studies/buffer/index.html (#15961)
* zh-trans: add /case-studies/nordstorm/index.html

* zh-trans: add /case-studies/buffer/index.html

* zh-trans: update content/zh/case-studies/buffer/index.html

* Update index.html
2019-08-25 05:12:21 -07:00
zhangx501 3ae6ff5c69 Create update-interactive.html (#15867)
* Create update-interactive.html

* Update update-interactive.html

* Update update-interactive.html

* Update update-interactive.html

* Update update-interactive.html
2019-08-25 04:50:21 -07:00
MJ-CJM 393c50eafe zh-trans:/docs/tasks/administer-cluster/configure-upgrade-etcd.md (#15959)
* .

* .

* .

* .

* .
2019-08-25 04:46:21 -07:00
ten2ton b81e26a516 zh-trans: add content/case-studies/zalando/index.html (#15974)
* zh-trans: add /case-studies/nordstorm/index.html

* zh-trans: add /case-studies/buffer/index.html

* zh-trans: update content/zh/case-studies/buffer/index.html

* zh-trans: update content/zh/case-studies/buffer/index.html

* zh-trans: add content/zh/case-studies/zalando/index.html

* Update content/zh/case-studies/buffer/index.html

Co-Authored-By: Qiming <tengqim@cn.ibm.com>

* Update content/zh/case-studies/buffer/index.html

Co-Authored-By: Qiming <tengqim@cn.ibm.com>

* Update content/zh/case-studies/buffer/index.html

Co-Authored-By: Qiming <tengqim@cn.ibm.com>
2019-08-25 04:32:22 -07:00
zhangx501 aa4e10ac3a zh-trans: website/content/zh/docs/user-journeys/users/cluster-operato… (#15916)
* zh-trans: website/content/zh/docs/user-journeys/users/cluster-operator/intermediate.md

* Update intermediate.md

* Update intermediate.md

* Update intermediate.md
2019-08-23 21:30:25 -07:00
MJ-CJM cea31c6c66 zh-trans:/docs/tasks/federation/administer-federation/daemonset.md (#15839)
* .

* .

* .

* zh-trans:/docs/tasks/federation/administer-federation/configmap.md (#15842)

* .

* .

* Update configmap.md

* .

* zh-trans:/docs/tasks/federation/administer-federation/replicaset.md (#15840)

* .

* .

* .

* .

* .
2019-08-18 04:00:06 -07:00
zhangx501 3a4039ffe7 zh trans :website/content/en/blog/_posts/2016-02-00-Kubernetes-Community-Meeting-Notes.md (#15765)
* Create 2016-02-00-Kubernetes-Community-Meeting-Notes.md

* Update 2016-02-00-Kubernetes-Community-Meeting-Notes.md
2019-08-18 03:58:04 -07:00
LiuDui 36fed0d3ec ZH-trans: add secret.md (#15901)
* ZH-trans: add secret.md

* Update secret.md
2019-08-18 03:48:05 -07:00
MJ-CJM bf02b0879e . (#15885) 2019-08-18 03:46:04 -07:00
ten2ton 6c0de11ea6 zh-trans: add /case-studies/nordstorm/index.html (#15890) 2019-08-18 03:44:04 -07:00
LiuDui fa3eeec98e Update namespaces.md (#15900) 2019-08-18 03:42:04 -07:00
LiuDui c9984fcc07 ZH-trans: add set-up-coredns-provider-federation.md (#15902) 2019-08-18 03:40:04 -07:00
Makdon a68d1926ea Fix: typo in components.md (Chinese version) (#15913) 2019-08-18 03:34:04 -07:00
MJ-CJM a976e68bbe zh-trans:/docs/tasks/federation/administer-federation/replicaset.md (#15840)
* .

* .
2019-08-16 01:56:32 -07:00
MJ-CJM 02570857a9 zh-trans:/docs/tasks/federation/administer-federation/configmap.md (#15842)
* .

* .

* Update configmap.md
2019-08-15 18:02:35 -07:00
SataQiu 1120f6c4a1 zh-trans: add docs/reference/access-authn-authz/abac.md (#15785)
* zh-trans: add docs/reference/access-authn-authz/abac.md

* Update content/zh/docs/reference/access-authn-authz/abac.md

Co-Authored-By: Qiming <tengqim@cn.ibm.com>

* Update content/zh/docs/reference/access-authn-authz/abac.md

Co-Authored-By: Qiming <tengqim@cn.ibm.com>

* Update content/zh/docs/reference/access-authn-authz/abac.md

Co-Authored-By: Qiming <tengqim@cn.ibm.com>

* Update content/zh/docs/reference/access-authn-authz/abac.md

Co-Authored-By: Qiming <tengqim@cn.ibm.com>

* Update content/zh/docs/reference/access-authn-authz/abac.md

Co-Authored-By: Qiming <tengqim@cn.ibm.com>

* Update content/zh/docs/reference/access-authn-authz/abac.md

Co-Authored-By: Qiming <tengqim@cn.ibm.com>

* Update content/zh/docs/reference/access-authn-authz/abac.md

Co-Authored-By: Qiming <tengqim@cn.ibm.com>

* Update content/zh/docs/reference/access-authn-authz/abac.md

Co-Authored-By: Qiming <tengqim@cn.ibm.com>

* Update content/zh/docs/reference/access-authn-authz/abac.md

Co-Authored-By: Qiming <tengqim@cn.ibm.com>

* Update content/zh/docs/reference/access-authn-authz/abac.md

Co-Authored-By: Qiming <tengqim@cn.ibm.com>
2019-08-13 22:26:24 -07:00
LiuDui 9b126e67ca ZH-trans: update Hyperlinks and text (#15807) 2019-08-13 20:36:23 -07:00
SataQiu 9370222ab3 zh-trans: add docs/setup/best-practices/node-conformance.md (#15804)
* zh-trans: add docs/setup/best-practices/node-conformance.md

* Update content/zh/docs/setup/best-practices/node-conformance.md

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

* Update content/zh/docs/setup/best-practices/node-conformance.md

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

* Update content/zh/docs/setup/best-practices/node-conformance.md

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

* Update content/zh/docs/setup/best-practices/node-conformance.md

Co-Authored-By: chenrui <rui@meetup.com>
2019-08-13 08:03:45 -07:00
SataQiu 24f9939187 zh-trans: add docs/getting-started-guides/ubuntu.md (#15801)
* zh-trans: add docs/getting-started-guides/ubuntu.md

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

Co-Authored-By: LiuDui <1693291525@qq.com>
2019-08-11 17:37:11 -07:00
LiuDui c9027de035 ZH-trans:add kubeadm_init_phase_certs_all.md (#15796) 2019-08-11 05:51:11 -07:00
LiuDui 7dd73c1b14 ZH-trans:add kubeadm_init_phase_certs_front-proxy-client.md (#15795) 2019-08-11 05:49:11 -07:00
LiuDui 002e889947 ZH-trans:add configmap.md (#15793) 2019-08-11 05:47:10 -07:00
LiuDui 64b84216ee ZH-trans:add _index.md (#15791)
* ZH-trans:add _index.md

* Update _index.md
2019-08-11 05:45:11 -07:00
LiuDui 7d199a6618 ZH-tarns:add namespaces.md (#15784)
* ZH-tarns:add namespaces.md

* Update namespaces.md

* Update namespaces.md
2019-08-11 05:43:11 -07:00
SataQiu bd811a4452 zh-trans: add content/zh/docs/concepts/workloads/controllers/ttlafterfinished.md (#15783) 2019-08-11 05:41:11 -07:00
LiuDui 3a6b33f20c ZH-trans: add events.md (#15782) 2019-08-11 05:37:11 -07:00
LiuDui 0fe7e02304 ZH-trans: add job.md (#15781)
* ZH-trans: add job.md

* Update job.md

* Update job.md
2019-08-11 05:35:10 -07:00
LiuDui 69e7310ab3 ZH-trans: Update hello-minikube.md (#15780)
* Update hello-minikube.md

* Update hello-minikube.md
2019-08-11 05:33:11 -07:00
SataQiu 2001ee8586 zh-trans: add zh/docs/setup/production-environment/tools/kubeadm/ha-topology.md (#15778) 2019-08-11 05:31:10 -07:00
MJ-CJM 9c49825764 . (#15687) 2019-08-11 05:19:11 -07:00
zhangx501 6faf46460e zh-trans /docs/concepts/extend-kubernetes/api-extension/custom_resou… (#15633)
* zh-trans  /docs/concepts/extend-kubernetes/api-extension/custom_resources.md 

zh-trans  /docs/concepts/extend-kubernetes/api-extension/custom_resources.md

* /docs/concepts/extend-kubernetes/api-extension/ custom_resources.md

/docs/concepts/extend-kubernetes/api-extension/ custom_resources.md

* /docs/concepts/extend-kubernetes/api-extension/ custom_resources.md

/docs/concepts/extend-kubernetes/api-extension/ custom_resources.md

* /docs/concepts/extend-kubernetes/api-extension/ custom_resources.md

/docs/concepts/extend-kubernetes/api-extension/ custom_resources.md

* /docs/concepts/extend-kubernetes/api-extension/ custom_resources.md

/docs/concepts/extend-kubernetes/api-extension/ custom_resources.md

* /docs/concepts/extend-kubernetes/api-extension/ custom_resources.md

/docs/concepts/extend-kubernetes/api-extension/ custom_resources.md

* /docs/concepts/extend-kubernetes/api-extension/ custom_resources.md

/docs/concepts/extend-kubernetes/api-extension/ custom_resources.md

* Update custom_resources.md
2019-08-11 05:11:10 -07:00
SataQiu 62b1e6c65c zh-trans: add docs/setup/production-environment/control-plane-flags.md (#15800) 2019-08-11 02:45:11 -07:00
MJ-CJM e644d78807 zh-trans:/docs/tasks/federation/administer-federation/deployment.md (#15645)
* .

* .

* .
2019-08-05 20:15:54 -07:00
Donghui Wang f0199b0003 translation: /docs/concepts/services-networking/ingress-controllers.md (#15550)
* translation: /docs/concepts/services-networking/ingress-controllers.md

* typo fix

* typo fix
2019-07-28 19:13:52 -07:00
June Yi cd20abd2eb ko: Update outdated files partly in dev-1.14-ko.6 (#15380) (#15443) 2019-07-23 07:06:55 -07:00
Donghui Wang d58e8f1563 zh-trans: add content/zh/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md (#15483)
* zh-trans: add content/zh/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md

* Apply suggestions from code review

Co-Authored-By: Qiming <tengqim@cn.ibm.com>

* typo fix

* typo fix
2019-07-22 02:46:53 -07:00
Donghui Wang 5e674e94ec zh-trans: add content/zh/docs/concepts/workloads/controllers/replicationcontroller.md (#15425)
* zh-trans: add content/zh/docs/concepts/workloads/controllers/replicationcontroller.md

* typo fix

* typo fix

* typo fix

* Apply suggestions from code review

Co-Authored-By: Qiming <tengqim@cn.ibm.com>

* Apply suggestions from code review

Co-Authored-By: Qiming <tengqim@cn.ibm.com>

* Apply suggestions from code review

Co-Authored-By: Qiming <tengqim@cn.ibm.com>

* typo fix
2019-07-21 18:38:51 -07:00
Ryan Yin fda8a89150 fix url broken: use absolute path for resources (#15487) 2019-07-21 04:56:52 -07:00
zshea e7f3b41da2 fix chinese display bugs (#15391) 2019-07-13 20:07:03 -07:00
MJ-CJM 8d2fe94af9 . (#15400) 2019-07-13 20:03:03 -07:00
S.K.Leo 01dd601c57 Update nodes.md to correct descriptions (#15375)
* Update nodes.md to correct descriptions

To correct descriptions of Node Condition like MemoryPressure and DiskPressure.

* Update nodes.md to add the original english

Add the original English to the changes i have made.

original english link:
https://github.com/kubernetes/website/blob/release-1.14/content/en/docs/concepts/architecture/nodes.md
2019-07-12 00:07:06 -07:00
Donghui Wang b5a405cfba typo fix in kubernetes-basics/_index.html (#15371) 2019-07-10 18:58:53 -07:00
MJ-CJM 9f6d58c008 zh-trans:/docs/tasks/tls/managing-tls-in-a-cluster.md (#15350)
* .

* .
2019-07-09 03:50:03 -07:00
BIAOXYZ 5f7b88ddc7 Fix the nodename typo of the untaint command (#15309)
修正删除taint命令中关于节点名称的一处笔误。
2019-07-06 22:22:33 -07:00
Wang Bing b715a8a40f zh-trans: add missing trans from 1.12 branch (#15189) 2019-06-28 20:47:23 -07:00
Hongcai Ren 66e25732bf Fix CoreDNS version restriction for service ExternalName type. (#15084)
* Fix CoreDNS version restriction for service ExternalName type.

before: This requires version 1.7 or higher of `kube-dns`.
after: You need CoreDNS version 1.7 or higher to use the `ExternalName` type.

* Update content/zh/docs/concepts/services-networking/service.md

Thanks.

Co-Authored-By: SataQiu <1527062125@qq.com>
2019-06-28 00:59:39 -07:00
Zach Corleissen fb9b30c426 Disable Italian for v1.14 (#15135) 2019-06-27 13:53:21 -07:00
杨晴 bb75088e81 zh-trans: add /content/zh/docs/tasks/administer-cluster/namespaces-wa… (#14931)
* zh-trans: add /content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md

* 补充缺失文件

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

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

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

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

* update glossary
2019-06-26 23:39:20 -07:00
Jim Angel ae0b15615f (temp) fix broken site generation (#15133)
In prod we fixed this with: https://github.com/kubernetes/website/pull/14252, release branch has a different build command 'make non-prod-build` vs `make prod-build` and we need to address that with this PR.
2019-06-26 14:59:20 -07:00
MJ-CJM 3b21a7826b zh-trans:/docs/tutorials/hello-minikube.md (#14795)
* .

* .

* .

* .

* .

* .
2019-06-23 06:55:54 -07:00
杨晴 a4d9736bfe zh-trans: add /content/zh/docs/tasks/administer-cluster/namespaces.md (#14934)
* zh-trans: add /content/zh/docs/tasks/administer-cluster/namespaces.md

* 补充缺失文件
2019-06-23 06:47:54 -07:00
Hypo db3a74b95a Update translation of file run-single-instance-stateful-application.md (#14979)
* update sample code in run-single-instance-stateful-application.md

* Update translation

* fix

* Update document format

* fix code style

* fix yaml format
2019-06-22 18:33:15 -07:00
杨晴 00d1baf39d zh-trans: add /content/zh/docs/tasks/administer-cluster/kms-provider.md (#14937)
* 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: chenrui <rui@meetup.com>
2019-06-20 13:58:36 -07:00
wangyamei d525853e7e zh-trans: update schedule GPUs (#14943) 2019-06-20 13:54:37 -07:00
Barnabas Makonda 73390344cf updated config.toml for 1.15 (#14990) 2019-06-19 20:48:48 -07:00
Barnabas Makonda a4da59c528 Merge pull request #14995 from makoscafee/release-1.14-master-update
Update release 1.14 with master changes.
2019-06-20 01:16:24 +03:00
Barnabas Makonda 3707039c35 Merge branch 'release-1.14' into release-1.14-master-update 2019-06-20 01:08:00 +03:00
ChongmingDU 51409e3b85 Add content/zh/docs/tutorials/kubernetes-basics/explore/explore-intro.html (#14877)
* Fix syntax.

* Fix difference.

* Create content/zh/docs/tutorials/kubernetes-basics/explore/explore-intro.html

* Fix missing.

* Fix syntax error.

* Fix Node-工作节点.
2019-06-18 05:06:19 -07:00
wangyamei b391c94533 zh-trans: update cpu-management-policies.md (#14902) 2019-06-16 18:50:08 -07:00
杨晴 84b026a597 zh-trans: add /content/zh/docs/tasks/administer-cluster/access-cluster-api.md (#14923) 2019-06-16 06:00:08 -07:00
wangyamei 19d42170f7 zh-trans: update static-pod.md (#14824) 2019-06-12 21:34:13 -07:00
Xiaolong He f4441522e1 Merge pull request #14790 from ChongmingDu/tutorials
Create website/content/zh/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html and deploy-interactive.html
2019-06-12 23:55:05 +08:00
ChongmingDu 977f11863c fix 2019-06-12 23:51:47 +08:00
ChongmingDu 5235790a8e Merge branch 'tutorials' of https://github.com/ChongmingDu/website into tutorials 2019-06-12 23:25:15 +08:00
ChongmingDu 12bfa58335 Fix markdown syntax. 2019-06-12 23:03:08 +08:00
ChongmingDu d65be15f1d Fix markdown syntax. 2019-06-11 11:48:38 +08:00
ChongmingDu e1195a9f9b Fix syntax error. 2019-06-11 02:19:47 +08:00
Hongcai Ren d8dcce20ba Minor change: fix typo for Chinese localization. (#14801) 2019-06-10 02:45:08 -07:00
wangyamei 384f5cedd5 zh-trans:update daemonset.md (#14794) 2019-06-09 07:05:06 -07:00
ChongmingDu a9035ce017 Merge branch 'tutorials' of https://github.com/ChongmingDu/website into tutorials 2019-06-09 04:22:33 +08:00
ChongmingDu d39c847dc6 Create website/content/zh/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html 2019-06-09 04:18:07 +08:00
ChongmingDu b1ed6c0f16 Create website/content/zh/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html 2019-06-09 04:04:12 +08:00
wangyamei dfb85a051d zh-trans: update Manage HugePages (#14738)
* update Manage HugePages

* Update scheduling-hugepages.md

* Update scheduling-hugepages.md

* Update scheduling-hugepages.md

* Update scheduling-hugepages.md

* Update scheduling-hugepages.md
2019-06-05 18:28:12 -07:00
SataQiu eb9c4c96e2 zh-trans: update content/zh/docs/setup/independent/create-cluster-kubeadm.md (#14711) 2019-06-04 02:27:07 -07:00
André Martins 5d78092f1c setup/independent: update cilium documentation to v1.5 (#14412)
Signed-off-by: André Martins <aanm90@gmail.com>
2019-06-04 01:55:08 -07:00
MJ-CJM 63e791ef7e zh-trans:/docs/tasks/federation/administer-federation/cluster.md (#14658)
* .

* Add files via upload
2019-06-03 18:05:00 -07:00
FlyingOnion 8491642a7e edit zh main page, add redirects (#14640) 2019-05-30 09:14:34 -07:00
ChongmingDU 82648a53cf Add kubeadm_init_phase_kubeconfig_controller-manager.md and kubeadm_init_phase_mark-control-plane.md in zh doc. (#14456)
* Add kubeadm_init_phase_mark-control-plane.md

* Add kubeadm_init_phase_kubeconfig_controller-manager.md

* Update err.

* fix error

* Fix error.
2019-05-29 01:14:21 -07:00
fatalc 3ee6603927 zh-trans:content/zh/docs/reference/access-authn-authz/admission-controllers.md (#14443)
Update content/zh/docs/reference/access-authn-authz/extensible-admission-controllers.md

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

Apply suggestions from code review

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

zh-trans:content/zh/docs/reference/access-authn-authz/admission-controllers.md
2019-05-22 02:56:08 -07:00
ChongmingDU 01b38f51b5 Add website/content/zh/docs/reference/glossary/sysctl.md. (#14419)
* Add website/content/zh/docs/reference/glossary/sysctl.md. Update sysctl.md

* Modified format

* Add website/content/zh/docs/reference/glossary/sysctl.md.

* Update format

* Update sysctl.md
2019-05-21 05:22:41 -07:00
ChongmingDU 446fe03555 translation cluster-intro (#14393) 2019-05-20 20:10:40 -07:00
ChongmingDu 00c99e3187 translation cluster-intro 2019-05-20 13:14:04 +08:00
SataQiu ed7e215c22 zh-trans: merge release-1.12 into release-1.14 (#14143)
* 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

* Update calico-network-policy.md (#11857)

* Update quota-pod-namespace.md (#11856)

* ZH-trans: Update http-proxy-access-api.md (#11865)

* ZH-trans: Update http-proxy-access-api.md

* Update http-proxy-access-api.md

* 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

* 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

* 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>

* Update weave-network-policy.md (#11858)

* 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

* Update fine-parallel-processing-work-queue.md (#11863)

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

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

* Update setup-extension-api-server.md (#11864)

* 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

* 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

* Update kubeadm_alpha_phase_controlplane.md (#11878)

* 更新第 115 行翻译

* 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
 

* 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

* zh-trans:add content/zh/docs/reference/issues-security (#11890)

* zh-trans: add content/zh/docs/tutorials/online-training/overview.md (#11892)

* 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

* 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"

* 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

* 根据校对更新翻译

* zh_trans: kubeadm-token.md (#11898)

zh_trans: /docs/reference/setup-tools/kubeadm/kubeadm-token.md

* 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

* 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

* 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

* fix docs format error (#11934)

fix docs format error of https://v1-12.docs.kubernetes.io/zh/docs/reference/setup-tools/kubeadm/kubeadm-join/

* Update cloud-controller.md (#11922)

* zh-trans: /docs/reference/glossary/approver.md (#11924)

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

* 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>

* 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

* 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

* 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

* ZH-trans: Update install-kubeadm.md (#11955)

* fix typo of install-kubeadm.md

fix typo of install-kubeadm.md

* Update install-kubeadm.md

* 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 的翻译更新为续期

* 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

* zh-trans: /docs/contribute/generate-ref-docs/kubectl.md (#11941)

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

* fix docs format error (#11936)

fix docs format error of https://v1-12.docs.kubernetes.io/zh/docs/reference/setup-tools/kubeadm/kubeadm-config/

* Update pull request (#11921)

* Update pull request (#11960)

* ZH-trans: add kubefed-options.md (#11956)

* Update ZH-trans: add kubefed-options.md

* Update kubefed-options.md

* ZH-trans: add generated/... (#11880)

* Update pull request

* Update kubeadm_alpha_phase_certs_renew.md

* Update pull request (#11881)

* ZH-trans: add generated/... (#11879)

* Update pull request

* Resolving file conflicts

* 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

* 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

* 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

* 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>

* 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

* 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

* ZH-trans: add kubeadm_alpha_phase_kubelet_config.md (#11974)

* Create kubeadm_alpha_phase_kubelet_config.md

* Update kubeadm_alpha_phase_kubelet_config.md

* fix Typo "##" -> "## " (#12011)

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

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

* update basic-stateful-set.md

* fix web style error (#12010)

fix web style error

* Create kubeadm_alpha_phase_selfhosting.md (#12006)

* Create kubeadm_alpha_phase_controlplane_apiserver.md (#12005)

* 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

* zh-trans:/docs/tasks/debug-application-cluster/core-metrics-pipeline.md (#11990)

zh-trans:/docs/tasks/debug-application-cluster/core-metrics-pipeline.md

* zh-trans:/docs/tasks/debug-application-cluster/troubleshooting.md (#11989)

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

* 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

* 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

* 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

* 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

* 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

* 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

* 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

* 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  

* zh-trans:add docs/setup/turnkey/alibaba-cloud.md (#11959)

* 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

* 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

* ZH-trans: add kubeadm_alpha_phase_certs_front-proxy-ca.md (#11968)

* 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

* 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

* ZH-trans: Fixed some incorrect translations (#11973)

* 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

* 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

* zh-trans:/docs/tasks/debug-application-cluster/events-stackdriver.md (#11996)

zh-trans:/docs/tasks/debug-application-cluster/events-stackdriver.md

* 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

* zh-trans:/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana.md (#12001)

zh-trans:/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana.md

* 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

* Remove old-generated kubefed docs (generated on 25-march-2018) (#12093)

* Update _index.md (#12061)

* Update kubeadm_reset.md (#12047)

* 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

* 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

* ZH-trans: add kubeadm_alpha_phase_controlplane_scheduler.md (#12031)

* Create kubeadm_alpha_phase_controlplane_scheduler.md

* Update kubeadm_alpha_phase_controlplane_scheduler.md

* 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

* 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

* 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

* Create kubeadm_alpha_phase_bootstrap-token_node_allow-auto-approve.md (#12038)

* Create kubeadm_alpha_phase_etcd.md (#12040)

* 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

* Update advanced.md (#12044)

* 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

* Update kubeadm_version.md (#12046)

* Update _index.md (#12063)

* zh-trans:/docs/reference/setup-tools/kubefed/kubefed_version.md (#12085)

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

* 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

* 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

* zh-trans: add docs/tasks/access-application-cluster/_index.md (#12048)

* zh-trans: update cpu-constraint-namespace.md and cpu-default-namespace.md (#12106)

* ZH-trans: update kubeadm_alpha_phase_upload-config.md (#12110)

* 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

* 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

* 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

* 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

* zh-trans organize-cluster-access-kubeconfig.md (#12094)

* 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

* 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

* 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

* 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

* 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

* .

* .

* .

* .

* zh-trans: add /docs/concepts/cluster-administration/manage-deployment.md (#11899)

* add /docs/concepts/cluster-administration/manage-deployment.md

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

* 更新部分翻译

* 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

* 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

* zh-trans: Fix some blog links issue (#12115)

* zh-trans: Fix some blog links issue

* Revert the space change

* update Set Kubelet parameters via a config file (#12150)

* 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

* 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

* zh-trans: kubeadm/generated/kubeadm_alpha_phase_kubelet_config_upload.md (#12130)

zh-trans: kubeadm/generated/kubeadm_alpha_phase_kubelet_config_upload.md

* zh-trans: kubeadm/generated/kubeadm_alpha_phase_kubeconfig_admin.md (#12131)

zh-trans: kubeadm/generated/kubeadm_alpha_phase_kubeconfig_admin.md

* zh-trans: /docs/contribute/generate-ref-docs/kubernetes-api.md (#12141)

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

* 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

* 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

* 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

* 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

* ZH-trans: add kubeadm_alpha_phase_certs_front-proxy-client.md (#12212)

* fix docs style (#12225)

* fix docs style

fix docs style

* fix docs style

fix docs style

* ZH-trans: add rbac.md (#12263)

* ZH-trans: add rbac.md

* Update rbac.md

* 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

* Update docker-cli-to-kubectl.md (#12288)

* 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

* ZH-trans: add coredns.md (#12282)

* ZH-trans: add coredns.md

* Update coredns.md

* 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

* 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

* ZH-trans: add service-account.md (#12261)

* ZH-trans: add service-account.md

* Update service-account.md

* 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

* fix typo "_必须_" -> "必须" (#12300)

fix typo "_必须_" -> "必须"

* fix docs style error (#12307)

fix docs style error

* Create explore-interactive.html (#12311)

* fix docs style error (#12314)

fix docs style error

* 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

* 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>

* ZH-trans: update tools.md (#12320)

ZH-trans: update tools.md

* ZH-trans: fix "kubead -config" -> "kubeadm-config" (#12319)

* ZH-trans: update kubeadm_config.md

* fix style error

* correct "availability” trans for chinese (#12394)

* 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

* .

* .

* .

* .

* .

* .

* .

* .

* Translate some remnant partials for localization (#12240)

* 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

* update link to SSH tunneling (#12615)

Signed-off-by: PingWang <wang.ping5@zte.com.cn>

* zh-trans: update content/zh/docs/setup/certificates.md (#12620)

* 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

* zh-trans: node-conformance.md (#12356)

* zh-trans: node-conformance.md

zh-trans: node-conformance.md

* better translation

better translation

* 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

* 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

* 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

* zh-trans: /docs/setup/turnkey/azure.md (#12412)

zh-trans: /docs/setup/turnkey/azure.md

* 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

* .

* .

* .

* .

* .

* 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>

* 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

* ZH-trans: add 2018-05-01-developing-on-kubernetes.md (#12814)

* ZH-trans: update encrypt-data.md (#12939)

* ZH-trans: update encrypt-data.md

* Update encrypt-data.md

* ZH-trans: add example-task-template.md (#12940)

* ZH-trans: add example-task-template.md

* Update example-task-template.md

* 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 :-)

* 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>

* ZH-trans: add cloudstack.md (#12967)

* Create cloudstack.md

* Update cloudstack.md

* Update cloudstack.md

* Update cloudstack.md

* ZH-trans: add container-lifecycle-hooks.md (#12941)

* ZH-trans: add container-lifecycle-hooks.md

* Update container-lifecycle-hooks.md

* translate content/zh/docs/tasks/administer-cluster/dns-debugging-resolution.md to chinese (#12904)

* 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

* 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

* zh-trans: update content/zh/docs/concepts/_index.md (#13182)

* zh-trans: update content/zh/docs/reference/access-authn-authz/node.md (#13181)

* Update dns-horizontal-autoscaling.md (#13119)

* Update dns-horizontal-autoscaling.md

* Update dns-horizontal-autoscaling.md

* Update dns-horizontal-autoscaling.md

* 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

* ZH-trans: add guestbook.md (#12953)

* ZH-trans: add guestbook.md

* Update guestbook.md

* Update guestbook.md

* Update guestbook.md

* Update guestbook.md

* 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

* 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

* 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

* 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

* 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

* 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>

* zh-trans: update content/zh/docs/setup/salt.md (#13202)

* zh-trans: add docs/reference/setup-tools/kubeadm/generated/kubeadm_token.md (#13198)

* 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

* zh-trans: update docs/reference/access-authn-authz/authorization.md (#13180)

* zh-trans: update docs/reference/setup-tools/kubeadm/kubeadm-config.md (#13179)

* zh-trans: add docs/concepts/storage/dynamic-provisioning.md (#13171)

* ZH-trans: add 2015-05-00-Kubernetes-On-Openstack.md (#13149)

* ZH-trans: add Kubernetes开源项目产品经理

* Update 2015-05-00-Kubernetes-On-Openstack.md

* 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

* 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

* Create 2015-03-00-Kubernetes-Gathering-Videos.md (#13124)

* 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

* 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

* 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

* ZH-trans: add 2015-04-00-Weekly-Kubernetes-Community-Hangout_29.md (#13147)

* ZH-trans: add 2015-05-00-Weekly-Kubernetes-Community-Hangout.md (#13148)

* 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

* 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

* 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

* .

* .

* .

* .

* .

* .

* 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

* 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>

* Add @xichengliudui to sig-docs-zh-owners (release-1.12) (#13167)

* Add @xichengliudui to sig-docs-zh-owners

* Update OWNERS_ALIASES

* 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

* add SataQiu as a sig-docs-zh-owner (#13271)

* Fix relative links issue in zh content (#13312)

* `http://kubernetes.io/docs/` -> `/docs/`

* `https://kubernetes.io/docs/` -> `/docs/`

* 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

* 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

* Update config.toml (#13408)

* zh-trans: add content/zh/blog/_posts/2018-11-08-kubernetes-docs-update-i18n.md (#13221)

* zh-trans: add content/zh/docs/reference/kubernetes-api/labels-annotations-taints.md (#13236)

* zh-trans: add content/zh/blog/_posts/2018-10-16-kubernetes-2018-north-american-contributor-summit.md (#13274)

* 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

* 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

* zh-trans: add content/zh/docs/tasks/administer-federation/daemonset.md (#13239)

* message

* more message

* remove data.json

* ZH-trans: add aws.md (#13276)

* ZH-trans: add aws.md

* Update aws.md

* Update aws.md

* ZH-trans: add cluster-interactive.html (#13479)

* ZH-trans: add cluster-interactive.html

* Update cluster-interactive.html

* 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

* ZH-trans: add README.md (#13235)

* ZH-trans: add vendoring

* Update README.md

* zh: docs/cocepts/cluster-administration/logging.md (#13541)

* zh: docs/cocepts/cluster-administration/logging.md

* Update logging.md

* zh-trans: update docker-cli-to-kubectl.md (#13591)

* Update docker-cli-to-kubectl.md

* Update docker-cli-to-kubectl.md

* zh-trans: update advanced.md (#13592)

* 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

* ZH-trans: add fedora_manual_config.md (#13439)

* ZH-trans: add fedora_manual_config.md

* Update fedora_manual_config.md

* 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

*  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>

* zh-trans: update docs/reference/setup-tools/kubefed (#13729)

* Update 2017-10-00-Five-Days-Of-Kubernetes-18.md (#13472)

* 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

* 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

* zh-trans: update docs/admin/accessing-the-api.md (#13744)

* zh-trans: add content/zh/blog/_posts/2018-10-11-topology-aware-volume-provisioning.md (#13303)

* 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

* 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

* zh-trans: update docs/admin/bootstrap-tokens.md (#13770)

* zh-trans: update content/zh/docs/admin/cluster-large.md (#13771)

* 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>

* 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

* zh-trans: update node-conformance.md and ovs-networking.md (#13776)

* zh-trans: update high-availability/_index.md and authorization/webhook.md (#13780)

* 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>

* 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

* 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>

* zh-trans: update content/zh/docs/concepts/architecture (#13797)

* ZH-trans: add cluster.md (#13500)

* ZH-trans: add cluster.md

* Update cluster.md

* Update cluster.md

* Update cluster.md

* zh-trans: update docs/concepts/cluster-administration (#13825)

* resolve some conflicts for merge process
2019-05-04 21:05:37 -07:00
lIuDuI 5690f1b903 Fixed small bug in 2017-10-00-Five-Days-Of-Kubernetes-18.md (v1.14) (#13470) 2019-04-09 22:12:12 -07:00
Rahulkrishnan R A 2004d28809 Link will be broken when deprecation is false (#13685)
Link to the latest docs will be broker when deprecation set to false when do the next release
This issue solved in v1.13 with PR #13649
2019-04-08 17:55:04 -07:00
Jim Angel 94eb0be0ec initial commit 2019-03-25 21:52:08 -05:00
7136 changed files with 536872 additions and 1112858 deletions
+1 -4
View File
@@ -5,10 +5,7 @@ charset = utf-8
max_line_length = 80
trim_trailing_whitespace = true
[*.md]
trim_trailing_whitespace = false
[*.{css,html,js,json,sass,md,mmark,toml,yaml}]
[*.{html,js,json,sass,md,mmark,toml,yaml}]
indent_style = space
indent_size = 2
+3 -3
View File
@@ -1,8 +1,8 @@
---
name: Support Request
about: Support request or question relating to Kubernetes Website project
about: Support request or question relating to Kubernetes Dashboard project
labels:
- kind/support
- triage/support
---
**This is Support**
@@ -11,7 +11,7 @@ STOP -- PLEASE READ!
GitHub is not the right place for support requests.
If you're looking for help, check [Server Fault](https://serverfault.com/questions/tagged/kubernetes).
If you're looking for help, check [Stack Overflow](https://stackoverflow.com/questions/tagged/kubernetes)
You can also post your question on the [Kubernetes Slack](http://slack.k8s.io/) or the [Discuss Kubernetes](https://discuss.kubernetes.io/) forum.
-7
View File
@@ -1,7 +0,0 @@
# See the OWNERS docs at https://go.k8s.io/owners
reviewers:
- sig-docs-en-reviews # Defined in OWNERS_ALIASES
approvers:
- sig-docs-en-owners # Defined in OWNERS_ALIASES
+16 -24
View File
@@ -1,24 +1,16 @@
<!-- 🛈
Hello!
Remember to ADD A DESCRIPTION and delete this note before submitting
your pull request. The description should explain what will change,
and why.
PLEASE title the FIRST commit appropriately, so that if you squash all
your commits into one, the combined commit message makes sense.
For overall help on editing and submitting pull requests, visit:
https://kubernetes.io/docs/contribute/start/#improve-existing-content
Use the default base branch, “main”, if you're documenting existing
features in the English localization.
If you're working on a different localization (not English), see
https://kubernetes.io/docs/contribute/new-content/overview/#choose-which-git-branch-to-use
for advice.
If you're documenting a feature that will be part of a future release, see
https://kubernetes.io/docs/contribute/new-content/new-features/ for advice.
-->
>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> Remember to delete this note before submitting your pull request.
>
> For pull requests on 1.15 Features: set Milestone to 1.15 and Base Branch to dev-1.15
>
> For pull requests on Chinese localization, set Base Branch to release-1.14
>
> For pull requests on Korean Localization: set Base Branch to dev-1.14-ko.\<latest team milestone>
>
> If you need Help on editing and submitting pull requests, visit:
> https://kubernetes.io/docs/contribute/start/#improve-existing-content.
>
> If you need Help on choosing which branch to use, visit:
> https://kubernetes.io/docs/contribute/start#choose-which-git-branch-to-use.
>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
-14
View File
@@ -1,14 +0,0 @@
# See the OWNERS docs at https://go.k8s.io/owners
# When modifying this file, consider the security implications of
# allowing listed reviewers / approvals to modify or remove any
# configured GitHub Actions.
#
options:
no_parent_owners: true
reviewers:
- sig-docs-leads
approvers:
- sig-docs-leads
@@ -1,15 +0,0 @@
---
name: Scheduled Netlify site build
on:
schedule: # Build twice daily: shortly after midnight and noon (UTC)
# Offset is to be nice to the build service
- cron: '4 0,12 * * *'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Trigger build on Netlify
env:
TOKEN: ${{ secrets.NETLIFY_BUILD_HOOK_KEY }}
run: >-
curl -s -H "Accept: application/json" -H "Content-Type: application/json" -X POST -d "{}" "https://api.netlify.com/build_hooks/${TOKEN}"
-4
View File
@@ -34,7 +34,3 @@ resources/
package-lock.json
functions/
node_modules/
# Generated files when building with make container-build
.config/
.npm/
-7
View File
@@ -1,7 +0,0 @@
[submodule "themes/docsy"]
path = themes/docsy
url = https://github.com/google/docsy.git
branch = v0.2.0
[submodule "api-ref-generator"]
path = api-ref-generator
url = https://github.com/kubernetes-sigs/reference-docs
-16
View File
@@ -1,16 +0,0 @@
DirectoryPath: public/docs
IgnoreDirectoryMissingTrailingSlash: true
CheckExternal: false
IgnoreAltMissing: true
CheckImages: false
CheckScripts: false
CheckMeta: false
CheckMetaRefresh: false
CheckLinks: false
EnforceHTML5: false
EnforceHTTPS: false
IgnoreDirectoryMissingTrailingSlash: false
IgnoreInternalEmptyHash: true
IgnoreEmptyHref: true
IgnoreDirs:
- "reference/generated/kubernetes-api"
+2 -4
View File
@@ -18,7 +18,7 @@ The [Kubernetes SIG Docs Discussion Group](https://groups.google.com/forum/#!for
### Style Guides and Templates
Before submitting a pull request to create new content, please review the [Kubernetes.io style guide](http://kubernetes.io/docs/home/contribute/style-guide/) and follow the [instructions for using page templates](https://kubernetes.io/docs/contribute/style/page-content-types/).
Before submitting a pull request to create new content, please review the [Kubernetes.io style guide](http://kubernetes.io/docs/home/contribute/style-guide/) and follow the [instructions for using page templates](http://kubernetes.io/docs/home/contribute/page-templates/).
## Contributing to Documentation
@@ -34,6 +34,4 @@ Note that code issues should be filed against the main kubernetes repository, wh
### Submitting Documentation Pull Requests
If you're fixing an issue in the existing documentation, you should submit a PR against the main branch. Follow [these instructions to create a documentation pull request against the kubernetes.io repository](http://kubernetes.io/docs/home/contribute/create-pull-request/).
For more information, see [contributing to Kubernetes docs](https://kubernetes.io/docs/contribute/).
If you're fixing an issue in the existing documentation, you should submit a PR against the master branch. Follow [these instructions to create a documentation pull request against the kubernetes.io repository](http://kubernetes.io/docs/home/contribute/create-pull-request/).
+10 -29
View File
@@ -4,46 +4,27 @@
# change is that the Hugo version is now an overridable argument rather than a fixed
# environment variable.
FROM golang:1.16-alpine
FROM alpine:latest
LABEL maintainer="Luc Perkins <lperkins@linuxfoundation.org>"
MAINTAINER Luc Perkins <lperkins@linuxfoundation.org>
RUN apk add --no-cache \
curl \
gcc \
g++ \
musl-dev \
git \
openssh-client \
rsync \
build-base \
libc6-compat
ARG HUGO_VERSION
RUN mkdir $HOME/src && \
cd $HOME/src && \
curl -L https://github.com/gohugoio/hugo/archive/refs/tags/v${HUGO_VERSION}.tar.gz | tar -xz && \
cd "hugo-${HUGO_VERSION}" && \
go install --tags extended
FROM golang:1.16-alpine
RUN apk add --no-cache \
runuser \
git \
openssh-client \
rsync \
npm && \
npm install -D autoprefixer postcss-cli
RUN mkdir -p /var/hugo && \
RUN mkdir -p /usr/local/src && \
cd /usr/local/src && \
curl -L https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_Linux-64bit.tar.gz | tar -xz && \
mv hugo /usr/local/bin/hugo && \
addgroup -Sg 1000 hugo && \
adduser -Sg hugo -u 1000 -h /var/hugo hugo && \
chown -R hugo: /var/hugo && \
runuser -u hugo -- git config --global --add safe.directory /src
COPY --from=0 /go/bin/hugo /usr/local/bin/hugo
adduser -Sg hugo -u 1000 -h /src hugo
WORKDIR /src
USER hugo:hugo
EXPOSE 1313
+5 -6
View File
@@ -33,7 +33,7 @@ exhaustive, and do not form part of our licenses.
material not subject to the license. This includes other CC-
licensed material, or material used under an exception or
limitation to copyright. More considerations for licensors:
wiki.creativecommons.org/Considerations_for_licensors
wiki.creativecommons.org/Considerations_for_licensors
Considerations for the public: By using one of our public
licenses, a licensor grants the public permission to use the
@@ -48,9 +48,9 @@ exhaustive, and do not form part of our licenses.
rights in the material. A licensor may make special requests,
such as asking that all changes be marked or described.
Although not required by our licenses, you are encouraged to
respect those requests where reasonable. More considerations
for the public:
wiki.creativecommons.org/Considerations_for_licensees
respect those requests where reasonable. More_considerations
for the public:
wiki.creativecommons.org/Considerations_for_licensees
=======================================================================
@@ -378,7 +378,7 @@ Section 8 -- Interpretation.
Creative Commons is not a party to its public
licenses. Notwithstanding, Creative Commons may elect to apply one of
its public licenses to material it publishes and in those instances
will be considered the Licensor. The text of the Creative Commons
will be considered the "Licensor." The text of the Creative Commons
public licenses is dedicated to the public domain under the CC0 Public
Domain Dedication. Except for the limited purpose of indicating that
material is shared under a Creative Commons public license or as
@@ -393,4 +393,3 @@ the avoidance of doubt, this paragraph does not form part of the
public licenses.
Creative Commons may be contacted at creativecommons.org.
+20 -72
View File
@@ -1,41 +1,22 @@
HUGO_VERSION = $(shell grep ^HUGO_VERSION netlify.toml | tail -n 1 | cut -d '=' -f 2 | tr -d " \"\n")
NODE_BIN = node_modules/.bin
NETLIFY_FUNC = $(NODE_BIN)/netlify-lambda
# The CONTAINER_ENGINE variable is used for specifying the container engine. By default 'docker' is used
# but this can be overridden when calling make, e.g.
# CONTAINER_ENGINE=podman make container-image
CONTAINER_ENGINE ?= docker
IMAGE_REGISTRY ?= gcr.io/k8s-staging-sig-docs
IMAGE_VERSION=$(shell scripts/hash-files.sh Dockerfile Makefile | cut -c 1-12)
CONTAINER_IMAGE = $(IMAGE_REGISTRY)/k8s-website-hugo:v$(HUGO_VERSION)-$(IMAGE_VERSION)
CONTAINER_RUN = $(CONTAINER_ENGINE) run --rm --interactive --tty --volume $(CURDIR):/src
CCRED=\033[0;31m
CCEND=\033[0m
DOCKER = docker
HUGO_VERSION = 0.58.3
DOCKER_IMAGE = kubernetes-hugo
DOCKER_RUN = $(DOCKER) run --rm --interactive --tty --volume $(CURDIR):/src
NODE_BIN = node_modules/.bin
NETLIFY_FUNC = $(NODE_BIN)/netlify-lambda
.PHONY: all build build-preview help serve
help: ## Show this help.
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {sub("\\\\n",sprintf("\n%22c"," "), $$2);printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
module-check: ## Check if all of the required submodules are correctly initialized.
@git submodule status --recursive | awk '/^[+-]/ {err = 1; printf "\033[31mWARNING\033[0m Submodule not initialized: \033[34m%s\033[0m\n",$$2} END { if (err != 0) print "You need to run \033[32mmake module-init\033[0m to initialize missing modules first"; exit err }' 1>&2
module-init: ## Initialize required submodules.
@echo "Initializing submodules..." 1>&2
@git submodule update --init --recursive --depth 1
all: build ## Build site with production settings and put deliverables in ./public
build: module-check ## Build site with non-production settings and put deliverables in ./public
hugo --minify --environment development
build: ## Build site with production settings and put deliverables in ./public
hugo --minify
build-preview: module-check ## Build site with drafts and future posts enabled
hugo --buildDrafts --buildFuture --environment preview
deploy-preview: ## Deploy preview site via netlify
hugo --enableGitInfo --buildFuture --environment preview -b $(DEPLOY_PRIME_URL)
build-preview: ## Build site with drafts and future posts enabled
hugo --buildDrafts --buildFuture
functions-build:
$(NETLIFY_FUNC) build functions-src
@@ -43,59 +24,26 @@ functions-build:
check-headers-file:
scripts/check-headers-file.sh
production-build: module-check ## Build the production site and ensure that noindex headers aren't added
hugo --minify --environment production
HUGO_ENV=production $(MAKE) check-headers-file
production-build: check-hugo-versions build check-headers-file ## Build the production site and ensure that noindex headers aren't added
non-production-build: module-check ## Build the non-production site, which adds noindex headers to prevent indexing
hugo --enableGitInfo --environment nonprod
non-production-build: check-hugo-versions ## Build the non-production site, which adds noindex headers to prevent indexing
hugo --enableGitInfo
serve: module-check ## Boot the development server.
hugo server --buildFuture --environment development
serve: ## Boot the development server.
hugo server --buildFuture
docker-image:
@echo -e "$(CCRED)**** The use of docker-image is deprecated. Use container-image instead. ****$(CCEND)"
$(MAKE) container-image
$(DOCKER) build . --tag $(DOCKER_IMAGE) --build-arg HUGO_VERSION=$(HUGO_VERSION)
docker-build:
@echo -e "$(CCRED)**** The use of docker-build is deprecated. Use container-build instead. ****$(CCEND)"
$(MAKE) container-build
$(DOCKER_RUN) $(DOCKER_IMAGE) hugo
docker-serve:
@echo -e "$(CCRED)**** The use of docker-serve is deprecated. Use container-serve instead. ****$(CCEND)"
$(MAKE) container-serve
container-image: ## Build a container image for the preview of the website
$(CONTAINER_ENGINE) build . \
--network=host \
--tag $(CONTAINER_IMAGE) \
--build-arg HUGO_VERSION=$(HUGO_VERSION)
container-build: module-check
$(CONTAINER_RUN) --read-only --mount type=tmpfs,destination=/tmp,tmpfs-mode=01777 $(CONTAINER_IMAGE) sh -c "npm ci && hugo --minify --environment development"
container-serve: module-check ## Boot the development server using container. Run `make container-image` before this.
$(CONTAINER_RUN) --cap-drop=ALL --cap-add=AUDIT_WRITE --read-only --mount type=tmpfs,destination=/tmp,tmpfs-mode=01777 -p 1313:1313 $(CONTAINER_IMAGE) hugo server --buildFuture --environment development --bind 0.0.0.0 --destination /tmp/hugo --cleanDestinationDir
$(DOCKER_RUN) -p 1313:1313 $(DOCKER_IMAGE) hugo server --buildFuture --bind 0.0.0.0
test-examples:
scripts/test_examples.sh install
scripts/test_examples.sh run
.PHONY: link-checker-setup
link-checker-image-pull:
$(CONTAINER_ENGINE) pull wjdp/htmltest
docker-internal-linkcheck:
@echo -e "$(CCRED)**** The use of docker-internal-linkcheck is deprecated. Use container-internal-linkcheck instead. ****$(CCEND)"
$(MAKE) container-internal-linkcheck
container-internal-linkcheck: link-checker-image-pull
$(CONTAINER_RUN) $(CONTAINER_IMAGE) hugo --config config.toml,linkcheck-config.toml --buildFuture --environment test
$(CONTAINER_ENGINE) run --mount type=bind,source=$(CURDIR),target=/test --rm wjdp/htmltest htmltest
clean-api-reference: ## Clean all directories in API reference directory, preserve _index.md
rm -rf content/en/docs/reference/kubernetes-api/*/
api-reference: clean-api-reference ## Build the API reference pages. go needed
cd api-ref-generator/gen-resourcesdocs && \
go run cmd/main.go kwebsite --config-dir ../../api-ref-assets/config/ --file ../../api-ref-assets/api/swagger.json --output-dir ../../content/en/docs/reference/kubernetes-api --templates ../../api-ref-assets/templates
check-hugo-versions:
scripts/hugo-version-check.sh $(HUGO_VERSION)
+1 -10
View File
@@ -6,14 +6,5 @@ reviewers:
approvers:
- sig-docs-en-owners # Defined in OWNERS_ALIASES
emeritus_approvers:
# - chenopis, commented out to disable PR assignments
# - irvifa, commented out to disable PR assignments
# - jaredbhatti, commented out to disable PR assignments
# - kbarnard10, commented out to disable PR assignments
# - steveperry-53, commented out to disable PR assignments
- stewart-yu
# - zacharysarah, commented out to disable PR assignments
labels:
- sig/docs
- sig/docs
+84 -183
View File
@@ -1,13 +1,23 @@
aliases:
sig-docs-blog-owners: # Approvers for blog content
- onlydole
- mrbobbytables
- sftim
sig-docs-blog-reviewers: # Reviewers for blog content
- mrbobbytables
- onlydole
- sftim
- nate-double-u
sig-cluster-lifecycle-kubeadm-approvers: # Approving changes to kubeadm documentation
- timothysc
- lukemarsden
- luxas
- roberthbailey
- fabriziopandini
sig-cluster-lifecycle-kubeadm-reviewers: # Reviewing kubeadm documentation
- timothysc
- lukemarsden
- luxas
- roberthbailey
- fabriziopandini
- kad
- xiangpengzhao
- stealthybox
- liztio
- chuckha
- detiber
- dixudx
sig-docs-de-owners: # Admins for German content
- bene2k1
- mkorbi
@@ -17,41 +27,37 @@ aliases:
- mkorbi
- rlenferink
sig-docs-en-owners: # Admins for English content
- annajung
- bradamant3
- bradtopol
- celestehorgan
- divya-mohan0209
- chenopis
- cody-clark
- jaredbhatti
- jimangel
- jlbutler
- kbhawkey
- natalisucks
- onlydole
- pi-victor
- reylejano
- savitharaghunathan
- sftim
- kbarnard10
- makoscafee
- mistyhacks
- rajakavitha1
- ryanmcginnis
- steveperry-53
- stewart-yu
- tengqm
- tfogo
- zacharysarah
- zhangxiaoyu-zidif
- zparnold
sig-docs-en-reviews: # PR reviews for English content
- bradtopol
- celestehorgan
- daminisatya
- divya-mohan0209
- jimangel
- kbhawkey
- mehabhalodiya
- natalisucks
- onlydole
- rajeshdeshpande02
- sftim
- shannonxtreme
- tengqm
- zacharysarah
- rajakavitha1
- stewart-yu
- xiangpengzhao
- zhangxiaoyu-zidif
sig-docs-es-owners: # Admins for Spanish content
- raelga
- electrocucaracha
- alexbrand
sig-docs-es-reviews: # PR reviews for Spanish content
- raelga
- alexbrand
- glo-pena
- electrocucaracha
sig-docs-fr-owners: # Admins for French content
- remyleone
@@ -65,8 +71,6 @@ aliases:
- jygastaud
- awkif
- oussemos
- anthonydahanne
- feloy
sig-docs-fr-reviews: # PR reviews for French content
- remyleone
- perriea
@@ -79,193 +83,90 @@ aliases:
- jygastaud
- awkif
- oussemos
- anthonydahanne
- feloy
sig-docs-hi-owners: # Admins for Hindi content
- anubha-v-ardhan
- divya-mohan0209
- avidLearnerInProgress
- daminisatya
- mittalyashu
- Rajakavitha1
sig-docs-hi-reviews: # PR reviews for Hindi content
- anubha-v-ardhan
- divya-mohan0209
- avidLearnerInProgress
- daminisatya
- mittalyashu
- verma-kunal
- Rajakavitha1
sig-docs-id-owners: # Admins for Indonesian content
- ariscahyadi
- danninov
- girikuncoro
- habibrosyad
- phanama
- wahyuoi
- irvifa
sig-docs-id-reviews: # PR reviews for Indonesian content
- ariscahyadi
- danninov
- girikuncoro
- habibrosyad
- phanama
- wahyuoi
- irvifa
sig-docs-it-owners: # Admins for Italian content
- fabriziopandini
- Fale
- mattiaperi
- rlenferink
- micheleberardi
sig-docs-it-reviews: # PR reviews for Italian content
- fabriziopandini
- Fale
- mattiaperi
- rlenferink
- micheleberardi
sig-docs-ja-owners: # Admins for Japanese content
# cstoku
- inductor
sig-docs-ja-owners: # Admins for Japanese content
- cstoku
- nasa9084
sig-docs-ja-reviews: # PR reviews for Japanese content
- bells17
# cstoku
- inductor
- kakts
- tnir
- zacharysarah
sig-docs-ja-reviews: # PR reviews for Japanese content
- cstoku
- makocchi-git
# MasayaAoyama
- MasayaAoyama
- nasa9084
# oke-py
- ptux
- tnir
sig-docs-ko-owners: # Admins for Korean content
- ClaudiaJKang
- gochist
- ianychoi
- jihoon-seo
- seokho-son
- ysyukr
- zacharysarah
sig-docs-ko-reviews: # PR reviews for Korean content
- ClaudiaJKang
- gochist
- ianychoi
- jihoon-seo
- jmyung
- pjhwa
- seokho-son
- yoonian
- ysyukr
sig-docs-leads: # Website chairs and tech leads
- divya-mohan0209
sig-docs-maintainers: # Website maintainers
- bradamant3
- chenopis
- jaredbhatti
- jimangel
- kbhawkey
- natalisucks
- onlydole
- reylejano
- sftim
- kbarnard10
- mistyhacks
- pwittrock
- steveperry-53
- tengqm
- zacharysarah
- zparnold
sig-docs-zh-owners: # Admins for Chinese content
# chenopis
- bradtopol
- chenopis
- chenrui333
# dchen1107
# haibinxie
# hanjiayao
- howieyuen
# lichuqiang
- mengjiao-liu
- dchen1107
- haibinxie
- hanjiayao
- lichuqiang
- lucperkins
- markthink
- SataQiu
- tanjunchen
- tengqm
- xiangpengzhao
- xichengliudui
# zhangxiaoyu-zidif
- zacharysarah
- zhangxiaoyu-zidif
sig-docs-zh-reviews: # PR reviews for Chinese content
- chenrui333
- chenxuc
- howieyuen
- idealhack
- mengjiao-liu
- pigletfly
- markthink
- SataQiu
- tanjunchen
- tengqm
- xiangpengzhao
- xichengliudui
# zhangxiaoyu-zidif
- zhangxiaoyu-zidif
- pigletfly
sig-docs-pt-owners: # Admins for Portuguese content
- edsoncelio
- femrtnz
- jailton
- jcjesus
- devlware
- jhonmike
- rikatz
- yagonobre
sig-docs-pt-reviews: # PR reviews for Portugese content
- edsoncelio
- femrtnz
- jailton
- jcjesus
- devlware
- jhonmike
- rikatz
- yagonobre
sig-docs-vi-owners: # Admins for Vietnamese content
- huynguyennovem
- ngtuna
- truongnh1992
sig-docs-vi-reviews: # PR reviews for Vietnamese content
- huynguyennovem
- ngtuna
- truongnh1992
sig-docs-ru-owners: # Admins for Russian content
- msheldyakov
- aisonaku
- potapy4
- dianaabv
sig-docs-ru-reviews: # PR reviews for Russian content
- Arhell
- msheldyakov
- aisonaku
- potapy4
- dianaabv
sig-docs-pl-owners: # Admins for Polish content
- mfilocha
- nvtkaszpir
sig-docs-pl-reviews: # PR reviews for Polish content
- mfilocha
- nvtkaszpir
- kpucynski
sig-docs-uk-owners: # Admins for Ukrainian content
- anastyakulyk
- butuzov
- MaxymVlasov
sig-docs-uk-reviews: # PR reviews for Ukrainian content
- anastyakulyk
- Arhell
- butuzov
- idvoretskyi
- MaxymVlasov
- Potapy4
# authoritative source: git.k8s.io/community/OWNERS_ALIASES
committee-steering: # provide PR approvals for announcements
- cblecker
- dims
- justaugustus
- liggitt
- mrbobbytables
- parispittman
- tpepper
# authoritative source: https://git.k8s.io/sig-release/OWNERS_ALIASES
sig-release-leads:
- cpanato # SIG Technical Lead
- jeremyrickard # SIG Technical Lead
- justaugustus # SIG Chair
- LappleApple # SIG Program Manager
- puerco # SIG Technical Lead
- saschagrunert # SIG Chair
release-engineering-approvers:
- cpanato # Release Manager
- palnabarun # Release Manager
- puerco # Release Manager
- saschagrunert # subproject owner / Release Manager
- justaugustus # subproject owner / Release Manager
- Verolop # Release Manager
- xmudrii # Release Manager
release-engineering-reviewers:
- ameukam # Release Manager Associate
- jimangel # Release Manager Associate
- markyjackson-taulia # Release Manager Associate
- mkorbi # Release Manager Associate
- onlydole # Release Manager Associate
- sethmccombs # Release Manager Associate
- thejoycekung # Release Manager Associate
- wilsonehusin # Release Manager Associate
+18 -34
View File
@@ -3,20 +3,20 @@
[![Build Status](https://api.travis-ci.org/kubernetes/website.svg?branch=master)](https://travis-ci.org/kubernetes/website)
[![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
Herzlich Willkommen! Dieses Repository enthält alle Assets, die zur Erstellung der [Kubernetes-Website und Dokumentation](https://kubernetes.io/) erforderlich sind. Wir freuen uns sehr, dass Sie dazu beitragen wollen!
Herzlich willkommen! Dieses Repository enthält alle Assets, die zur Erstellung der [Kubernetes-Website und Dokumentation](https://kubernetes.io/) erforderlich sind. Wir freuen uns sehr, dass Sie dazu beitragen wollen!
## Beiträge zur Dokumentation
Sie können auf die Schaltfläche **Fork** im oberen rechten Bereich des Bildschirms klicken, um eine Kopie dieses Repositorys in Ihrem GitHub-Konto zu erstellen. Diese Kopie wird als *Fork* bezeichnet. Nehmen Sie die gewünschten Änderungen an Ihrem Fork vor. Wenn Sie bereit sind, diese Änderungen an uns zu senden, gehen Sie zu Ihrem Fork und erstellen Sie eine neue Pull-Request, um uns darüber zu informieren.
Sie können auf die Schaltfläche **Fork** im oberen rechten Bereich des Bildschirms klicken, um eine Kopie dieses Repositorys in Ihrem GitHub-Konto zu erstellen. Diese Kopie wird als *Fork* bezeichnet. Nehmen Sie die gewünschten Änderungen an Ihrem Fork vor. Wenn Sie bereit sind, diese Änderungen an uns zu senden, gehen Sie zu Ihrem Fork und erstellen Sie eine neue Pull-Anforderung, um uns darüber zu informieren.
Sobald Ihre Pull-Request erstellt wurde, übernimmt ein Rezensent von Kubernetes die Verantwortung für klares, umsetzbares Feedback. Als Eigentümer des Pull-Request **liegt es in Ihrer Verantwortung Ihre Pull-Request entsprechend des Feedbacks, welches Sie vom Kubernetes-Reviewer erhalten haben, abzuändern.** Beachten Sie auch, dass Sie am Ende mehr als einen Rezensenten von Kubernetes erhalten, der Ihnen Feedback gibt, oder dass Sie Rückmeldungen von einem Rezensenten von Kubernetes erhalten, der sich von demjenigen unterscheidet, der ursprünglich für das Feedback zugewiesen wurde. In einigen Fällen kann es vorkommen, dass einer Ihrer Prüfer bei Bedarf eine technische Überprüfung von einem [Kubernetes Tech-Reviewer](https://github.com/kubernetes/website/wiki/tech-reviewers) anfordert. Reviewer geben ihr Bestes, um zeitnah Feedback zu geben, die Antwortzeiten können jedoch je nach den Umständen variieren.
Sobald Ihre Pull-Anfrage erstellt wurde, übernimmt ein Rezensent von Kubernetes die Verantwortung für klares, umsetzbares Feedback. Als Eigentümer des Pull-Request **liegt es in Ihrer Verantwortung Ihren Pull-Reqest enstsprechend des Feedbacks, dass Sie vom Kubernetes-Reviewer erhalten haben abzuändern.** Beachten Sie auch, dass Sie am Ende mehr als einen Rezensenten von Kubernetes erhalten, der Ihnen Feedback gibt, oder dass Sie Rückmeldungen von einem Rezensenten von Kubernetes erhalten, der sich von demjenigen unterscheidet, der ursprünglich für das Feedback zugewiesen wurde. In einigen Fällen kann es vorkommen, dass einer Ihrer Prüfer bei Bedarf eine technische Überprüfung von einem [Kubernetes Tech-Reviewer](https://github.com/kubernetes/website/wiki/tech-reviewers) anfordert. Reviewer geben ihr Bestes, um zeitnah Feedback zu geben, die Antwortzeiten können jedoch je nach den Umständen variieren.
Weitere Informationen zum Beitrag zur Kubernetes-Dokumentation finden Sie unter:
* [Mitwirkung beginnen](https://kubernetes.io/docs/contribute/start/)
* [Ihre Dokumentationsänderungen bereitstellen](https://kubernetes.io/docs/contribute/intermediate#view-your-changes-locally)
* [Seitenvorlagen verwenden](https://kubernetes.io/docs/contribute/style/page-content-types/)
* [Dokumentationsstil-Handbuch](https://kubernetes.io/docs/contribute/style/style-guide/)
* [Ihre Dokumentationsänderungen bereitstellen](http://kubernetes.io/docs/contribute/intermediate#view-your-changes-locally)
* [Seitenvorlagen verwenden](http://kubernetes.io/docs/contribute/style/page-templates/)
* [Dokumentationsstil-Handbuch](http://kubernetes.io/docs/contribute/style/style-guide/)
* [Übersetzung der Kubernetes-Dokumentation](https://kubernetes.io/docs/contribute/localization/)
## `README.md`'s Localizing Kubernetes Documentation
@@ -28,60 +28,44 @@ Die Betreuer der deutschen Lokalisierung erreichen Sie unter:
* Max Körbächer ([@mkorbi](https://github.com/mkorbi))
* [Slack Kanal](https://kubernetes.slack.com/messages/kubernetes-docs-de)
## Website lokal mit Docker ausführen
## Site lokal mit Docker ausführen
Um die Kubernetes-Website lokal laufen zu lassen, empfiehlt es sich, ein spezielles [Docker](https://docker.com) Image auszuführen, das den statischen Website-Generator [Hugo](https://gohugo.io) enthält.
Um die Kubernetes-Website lokal laufen zu lassen, empfiehlt es sich, ein spezielles [Docker](https://docker.com) Image auszuführen, das den statischen Site-Generator [Hugo](https://gohugo.io) enthält.
> Unter Windows benötigen Sie einige weitere Tools, die Sie mit [Chocolatey](https://chocolatey.org) installieren können.
`choco install make`
> Wenn Sie die Website lieber lokal ohne Docker ausführen möchten, finden Sie weitere Informationen unter [Website lokal mit Hugo ausführen](#Die-Website-lokal-mit-Hugo-ausführen).
Das benötigte [Docsy Hugo theme](https://github.com/google/docsy#readme) muss als git submodule installiert werden:
```
#Füge das Docsy submodule hinzu
git submodule update --init --recursive --depth 1
```
> Wenn Sie die Website lieber lokal ohne Docker ausführen möchten, finden Sie weitere Informationen unter [Website lokal mit Hugo ausführen](#Die-Site-lokal-mit-Hugo-ausführen).
Wenn Sie Docker [installiert](https://www.docker.com/get-started) haben, erstellen Sie das Docker-Image `kubernetes-hugo` lokal:
```bash
make container-image
make docker-image
```
Nachdem das Image erstellt wurde, können Sie die Website lokal öffnen:
Nachdem das Image erstellt wurde, können Sie die Site lokal ausführen:
```bash
make container-serve
make docker-serve
```
Öffnen Sie Ihren Browser unter http://localhost:1313, um die Website anzuzeigen. Wenn Sie Änderungen an den Quelldateien vornehmen, aktualisiert Hugo die Website und erzwingt eine Browseraktualisierung.
Öffnen Sie Ihren Browser unter http://localhost:1313, um die Site anzuzeigen. Wenn Sie Änderungen an den Quelldateien vornehmen, aktualisiert Hugo die Site und erzwingt eine Browseraktualisierung.
## Die Website lokal mit Hugo ausführen
## Die Site lokal mit Hugo ausführen
Hugo-Installationsanweisungen finden Sie in der [offiziellen Hugo-Dokumentation](https://gohugo.io/getting-started/installing/). Stellen Sie sicher, dass Sie die Hugo-Version installieren, die in der Umgebungsvariablen `HUGO_VERSION` in der Datei [`netlify.toml`](netlify.toml#L9) angegeben ist.
Das benötigte [Docsy Hugo-Theme](https://github.com/google/docsy#readme) muss als git submodule installiert werden:
```
#Füge das Docsy submodule hinzu
git submodule update --init --recursive --depth 1
```
So führen Sie die Website lokal aus, wenn Sie Hugo installiert haben:
So führen Sie die Site lokal aus, wenn Sie Hugo installiert haben:
```bash
# Installieren der JavaScript Abhängigkeiten
npm ci
make serve
```
Dadurch wird der lokale Hugo-Server an Port 1313 gestartet. Öffnen Sie Ihren Browser unter http://localhost:1313, um die Website anzuzeigen. Wenn Sie Änderungen an den Quelldateien vornehmen, aktualisiert Hugo die Website und erzwingt eine Browseraktualisierung.
Dadurch wird der lokale Hugo-Server an Port 1313 gestartet. Öffnen Sie Ihren Browser unter http://localhost:1313, um die Site anzuzeigen. Wenn Sie Änderungen an den Quelldateien vornehmen, aktualisiert Hugo die Site und erzwingt eine Browseraktualisierung.
## Community, Diskussion, Beteiligung und Unterstützung
Erfahren Sie auf der [Community-Seite](https://kubernetes.io/community/) wie Sie mit der Kubernetes-Community interagieren können.
Erfahren Sie auf der [Community-Seite](http://kubernetes.io/community/) wie Sie mit der Kubernetes-Community interagieren können.
Sie können die Betreuer dieses Projekts unter folgender Adresse erreichen:
@@ -94,4 +78,4 @@ Die Teilnahme an der Kubernetes-Community unterliegt dem [Kubernetes-Verhaltensk
## Vielen Dank!
Kubernetes lebt vom Community-Engagement und wir freuen uns sehr über Ihre Beiträge zu unserer Website und unserer Dokumentation!
Kubernetes lebt vom Community Engagement und wir freuen uns sehr über Ihre Beiträge zu unserer Website und unserer Dokumentation!
+7 -18
View File
@@ -17,9 +17,9 @@ Los revisores harán todo lo posible para proporcionar toda la información nece
Para obtener más información sobre cómo contribuir a la documentación de Kubernetes, puede consultar:
* [Empezando a contribuir](https://kubernetes.io/docs/contribute/start/)
* [Visualizando sus cambios en su entorno local](https://kubernetes.io/docs/contribute/intermediate#view-your-changes-locally)
* [Utilizando las plantillas de las páginas](https://kubernetes.io/docs/contribute/style/page-content-types/)
* [Guía de estilo de la documentación](https://kubernetes.io/docs/contribute/style/style-guide/)
* [Visualizando sus cambios en su entorno local](http://kubernetes.io/docs/contribute/intermediate#view-your-changes-locally)
* [Utilizando las plantillas de las páginas](http://kubernetes.io/docs/contribute/style/page-templates/)
* [Guía de estilo de la documentación](http://kubernetes.io/docs/contribute/style/style-guide/)
* [Traduciendo la documentación de Kubernetes](https://kubernetes.io/docs/contribute/localization/)
## Levantando el sitio web kubernetes.io en su entorno local con Docker
@@ -28,29 +28,18 @@ El método recomendado para levantar una copia local del sitio web kubernetes.io
> Para Windows, algunas otras herramientas como Make son necesarias. Puede instalarlas utilizando el gestor [Chocolatey](https://chocolatey.org). `choco install make` o siguiendo las instrucciones de [Make for Windows](http://gnuwin32.sourceforge.net/packages/make.htm).
> Si prefiere levantar el sitio web sin utilizar **Docker**, puede seguir las instrucciones disponibles en la sección [Levantando kubernetes.io en local con Hugo](#levantando-kubernetesio-en-local-con-hugo).
**`Nota`: Para el procedimiento de construir una imagen de Docker e iniciar el servidor.**
El sitio web de Kubernetes utiliza Docsy Hugo theme. Se sugiere que se instale si aún no se ha hecho, los **submódulos** y otras dependencias de herramientas de desarrollo ejecutando el siguiente comando de `git`:
```bash
# pull de los submódulos del repositorio
git submodule update --init --recursive --depth 1
```
Si identifica que `git` reconoce una cantidad innumerable de cambios nuevos en el proyecto, la forma más simple de solucionarlo es cerrando y volviendo a abrir el proyecto en el editor. Los submódulos son automáticamente detectados por `git`, pero los plugins usados por los editores pueden tener dificultades para ser cargados.
> Si prefiere levantar el sitio web sin utilizar **Docker**, puede seguir las instrucciones disponibles en la sección [Levantando kubernetes.io en local con Hugo](#levantando-kubernetes.io-en-local-con-hugo).
Una vez tenga Docker [configurado en su máquina](https://www.docker.com/get-started), puede construir la imagen de Docker `kubernetes-hugo` localmente ejecutando el siguiente comando en la raíz del repositorio:
```bash
make container-image
make docker-image
```
Una vez tenga la imagen construida, puede levantar el sitio web ejecutando:
```bash
make container-serve
make docker-serve
```
Abra su navegador y visite http://localhost:1313 para acceder a su copia local del sitio. A medida que vaya haciendo cambios en el código fuente, Hugo irá actualizando la página y forzará la actualización en el navegador.
@@ -84,4 +73,4 @@ La participación en la comunidad de Kubernetes está regulada por el [Código d
Kubernetes es posible gracias a la participación de la comunidad y la documentación es vital para facilitar el acceso al proyecto.
Agradecemos muchísimo sus contribuciones a nuestro sitio web y nuestra documentación.
Agradecemos muchísimo sus contribuciones a nuestro sitio web y nuestra documentación.
+6 -6
View File
@@ -16,14 +16,14 @@ Faites tous les changements que vous voulez dans votre fork, et quand vous êtes
Une fois votre pull request créée, un examinateur de Kubernetes se chargera de vous fournir une revue claire et exploitable.
En tant que propriétaire de la pull request, **il est de votre responsabilité de modifier votre pull request pour tenir compte des commentaires qui vous ont été fournis par l'examinateur de Kubernetes.**
Notez également que vous pourriez vous retrouver avec plus d'un examinateur de Kubernetes pour vous fournir des commentaires ou vous pourriez finir par recevoir des commentaires d'un autre examinateur que celui qui vous a été initialement affecté pour vous fournir ces commentaires.
De plus, dans certains cas, l'un de vos examinateurs peut demander un examen technique à un [examinateur technique de Kubernetes](https://github.com/kubernetes/website/wiki/Tech-reviewers) au besoin.
De plus, dans certains cas, l'un de vos examinateur peut demander un examen technique à un [examinateur technique de Kubernetes](https://github.com/kubernetes/website/wiki/Tech-reviewers) au besoin.
Les examinateurs feront de leur mieux pour fournir une revue rapidement, mais le temps de réponse peut varier selon les circonstances.
Pour plus d'informations sur la contribution à la documentation Kubernetes, voir :
* [Commencez à contribuer](https://kubernetes.io/docs/contribute/start/)
* [Aperçu des modifications apportées à votre documentation](http://kubernetes.io/docs/contribute/intermediate#view-your-changes-locally)
* [Utilisation des modèles de page](https://kubernetes.io/docs/contribute/style/page-content-types/)
* [Apperçu des modifications apportées à votre documentation](http://kubernetes.io/docs/contribute/intermediate#view-your-changes-locally)
* [Utilisation des modèles de page](http://kubernetes.io/docs/contribute/style/page-templates/)
* [Documentation Style Guide](http://kubernetes.io/docs/contribute/style/style-guide/)
* [Traduction de la documentation Kubernetes](https://kubernetes.io/docs/contribute/localization/)
@@ -33,18 +33,18 @@ La façon recommandée d'exécuter le site web Kubernetes localement est d'utili
> Si vous êtes sous Windows, vous aurez besoin de quelques outils supplémentaires que vous pouvez installer avec [Chocolatey](https://chocolatey.org). `choco install install make`
> Si vous préférez exécuter le site Web localement sans Docker, voir [Exécuter le site localement avec Hugo](#exécuter-le-site-localement-en-utilisant-hugo) ci-dessous.
> Si vous préférez exécuter le site Web localement sans Docker, voir [Exécuter le site localement avec Hugo](#running-the-site-locally-using-hugo) ci-dessous.
Si vous avez Docker [up and running](https://www.docker.com/get-started), construisez l'image Docker `kubernetes-hugo' localement:
```bash
make container-image
make docker-image
```
Une fois l'image construite, vous pouvez exécuter le site localement :
```bash
make container-serve
make docker-serve
```
Ouvrez votre navigateur à l'adresse: http://localhost:1313 pour voir le site.
+7 -10
View File
@@ -7,7 +7,7 @@
## डॉक्स में योगदान देना
आप अपने GitHub खाते में इस रिपॉजिटरी की एक copy बनाने के लिए स्क्रीन के ऊपरी-दाएँ क्षेत्र में **Fork** बटन पर क्लिक करें। इस copy को *Fork* कहा जाता है। अपने fork में परिवर्तन करने के बाद जब आप उनको हमारे पास भेजने के लिए तैयार हों, तो अपने fork पर जाएं और हमें इसके बारे में बताने के लिए एक नया pull request बनाएं।
आप अपने GitHub खाते में इस रिपॉजिटरी की एक copy बनाने के लिए स्क्रीन के ऊपरी-दाएँ क्षेत्र में **Fork** बटन पर क्लिक करें। इस copy को *Fork* कहा जाता है। अपने fork में कोई भी परिवर्तन करना चाहते हैं, और जब आप उन परिवर्तनों को हमारे पास भेजने के लिए तैयार हों, तो अपने fork पर जाएं और हमें इसके बारे में बताने के लिए एक नया pull request बनाएं।
एक बार जब आपका pull request बन जाता है, तो एक कुबरनेट्स समीक्षक स्पष्ट, कार्रवाई योग्य प्रतिक्रिया प्रदान करने की जिम्मेदारी लेगा। pull request के मालिक के रूप में, **यह आपकी जिम्मेदारी है कि आप कुबरनेट्स समीक्षक द्वारा प्रदान की गई प्रतिक्रिया को संबोधित करने के लिए अपने pull request को संशोधित करें।**
@@ -17,18 +17,15 @@
* [योगदान देना शुरू करें](https://kubernetes.io/docs/contribute/start/)
* [परिवर्तनों को अंतिम चरण में लेजाएं](http://kubernetes.io/docs/contribute/intermediate#view-your-changes-locally)
* [पेज टेम्पलेट](https://kubernetes.io/docs/contribute/style/page-content-types/)
* [पेज टेम्पलेट](http://kubernetes.io/docs/contribute/style/page-templates/)
* [प्रलेखन शैली गाइड](http://kubernetes.io/docs/contribute/style/style-guide/)
* [स्थानीयकरण कुबरनेट्स प्रलेखन](https://kubernetes.io/docs/contribute/localization/)
## `README.md`'s स्थानीयकरण कुबरनेट्स प्रलेखन
आप हिंदी स्थानीयकरण के मैन्टेनरों तक पहुँच सकते हैं:
आप पर हिंदी स्थानीयकरण के maintainers तक पहुँच सकते हैं:
* Anubhav Vardhan ([Slack](https://kubernetes.slack.com/archives/D0261C0A3R8), [Twitter](https://twitter.com/anubha_v_ardhan), [GitHub](https://github.com/anubha-v-ardhan))
* Divya Mohan ([Slack](https://kubernetes.slack.com/archives/D027R7BE804), [Twitter](https://twitter.com/Divya_Mohan02), [GitHub](https://github.com/divya-mohan0209))
* Yashu Mittal ([Twitter](https://twitter.com/mittalyashu77), [GitHub](https://github.com/mittalyashu))
* [Slack channel](https://kubernetes.slack.com/messages/kubernetes-docs-hi)
## स्थानीय रूप से डॉकर का उपयोग करके साइट चलाना
@@ -39,18 +36,18 @@
> यदि आप डॉकर के बिना स्थानीय रूप से वेबसाइट चलाना पसंद करते हैं, तो नीचे Hugo का उपयोग करके स्थानीय रूप से साइट चलाना देखें।
यदि आप डॉकर के बिना स्थानीय रूप से वेबसाइट चलाना पसंद करते हैं, तो नीचे दिए गए Hugo का उपयोग करके स्थानीय रूप से [साइट को चलाने](#hugo-का-उपयोग-करते-हुए-स्थानीय-रूप-से-साइट-चलाना) का तरीका देखें।
यदि आप डॉकर के बिना स्थानीय रूप से वेबसाइट चलाना पसंद करते हैं, तो नीचे दिए गए Hugo का उपयोग करके स्थानीय रूप से [साइट को चलाने](#running-the-site-locally-using-hugo) का तरीका देखें।
यदि आप [डॉकर](https://www.docker.com/get-started) चला रहे हैं, तो स्थानीय रूप से `कुबेरनेट्स-ह्यूगो` Docker image बनाएँ:
```bash
make container-image
make docker-image
```
एक बार image बन जाने के बाद, आप साइट को स्थानीय रूप से चला सकते हैं:
```bash
make container-serve
make docker-serve
```
साइट देखने के लिए अपने browser को `http://localhost:1313` पर खोलें। जैसा कि आप source फ़ाइलों में परिवर्तन करते हैं, Hugo साइट को अपडेट करता है और browser को refresh करने पर मजबूर करता है।
@@ -84,4 +81,4 @@ make serve
कुबरनेट्स सामुदायिक भागीदारी पर पनपती है, और हम वास्तव में हमारी साइट और हमारे प्रलेखन में आपके योगदान की सराहना करते हैं!
कुबरनेट्स आपकी भागीदारी पर निर्भर है, और हम हमारी साइट और प्रलेखन में आपके योगदान का मान करते हैं!
कुबरनेट्स आपकी भागीदारी पर निर्भर है, और हम हमारी साइट और प्रलेखन में आपके योगदान का मान करते हैं!
+7 -7
View File
@@ -9,34 +9,34 @@ Selamat datang! Repositori ini merupakan wadah bagi semua komponen yang dibutuhk
Pertama, kamu dapat menekan tombol **Fork** yang berada pada bagian atas layar, untuk menyalin repositori pada akun Github-mu. Salinan ini disebut sebagai **fork**. Kamu dapat menambahkan konten pada **fork** yang kamu miliki, setelah kamu merasa cukup untuk menambahkan konten yang kamu miliki dan ingin memberikan konten tersebut pada kami, kamu dapat melihat **fork** yang telah kamu buat dan membuat **pull request** untuk memberi tahu kami bahwa kamu ingin menambahkan konten yang telah kamu buat.
Setelah kamu membuat sebuah **pull request**, seorang **reviewer** akan memberikan masukan terhadap konten yang kamu sediakan serta beberapa hal yang dapat kamu lakukan apabila perbaikan diperlukan terhadap konten yang telah kamu sediakan. Sebagai seorang yang membuat **pull request**, **sudah menjadi kewajiban kamu untuk melakukan modifikasi terhadap konten yang kamu berikan sesuai dengan masukan yang diberikan oleh seorang reviewer Kubernetes**. Perlu kamu ketahui bahwa kamu dapat saja memiliki lebih dari satu orang **reviewer Kubernetes** atau dalam kasus kamu bisa saja mendapatkan **reviewer Kubernetes** yang berbeda dengan **reviewer Kubernetes** awal yang ditugaskan untuk memberikan masukan terhadap konten yang kamu sediakan. Selain itu, seorang **reviewer Kubernetes** bisa saja meminta masukan teknis dari [reviewer teknis Kubernetes](https://github.com/kubernetes/website/wiki/Tech-reviewers) jika diperlukan.
Setelah kamu membuat sebuah **pull request**, seorang **reviewer** akan memberikan masukan terhadap konten yang kamu sediakan serta beberapa hal yang dapat kamu lakukan apabila perbaikan diperlukan terhadap konten yang telah kamu sediakan. Sebagai seorang yang membuat **pull request**, **sudah menjadi kewajiban kamu untuk melakukan modifikasi terhadap konten yang kamu berikan sesuai dengan masukan yang diberikan oleh seorang reviewer Kubernetes**. Perlu kamu ketahui bahwa kamu dapat saja memiliki lebih dari satu orang **reviewer Kubernetes** atau dalam kasus kamu bisa saja mendapatkan **reviewer Kubernetes** yang berbeda dengan **reviewer Kubernetes** awal yang ditugaskan untuk memberikan masukan terhadap konten yang kamu sediakan. Selain itu, seorang **reviewer Kubernetes** bisa saja meminta masukan teknis dari [reviewer teknis Kubernetes](https://github.com/kubernetes/website/wiki/Tech-reviewers) jika diperlukan.
Untuk informasi lebih lanjut mengenai tata cara melakukan kontribusi, kamu dapat melihat tautan di bawah ini:
* [Petunjuk Melakukan Kontribusi](https://kubernetes.io/docs/contribute/start/)
* [Melakukan Tahap Staging pada Konten Dokumentasi yang telah Kamu Sediakan](http://kubernetes.io/docs/contribute/intermediate#view-your-changes-locally)
* [Petunjuk Menggunakan Page Templates](https://kubernetes.io/docs/contribute/style/page-content-types/)
* [Petunjuk Menggunakan Page Templates](http://kubernetes.io/docs/contribute/style/page-templates/)
* [Petunjuk untuk Documentation Style](http://kubernetes.io/docs/contribute/style/style-guide/)
* [Petunjuk untuk Melakukan Lokalisasi Dokumentasi Kubernetes](https://kubernetes.io/docs/contribute/localization/)
## Menjalankan Dokumentasi Kubernetes pada Mesin Lokal Kamu
Petunjuk yang disarankan untuk menjalankan Dokumentasi Kubernetes pada mesin lokal kamus adalah dengan menggunakan [Docker](https://docker.com) **image** yang memiliki **package** [Hugo](https://gohugo.io), **Hugo** sendiri merupakan generator website statis.
Petunjuk yang disarankan untuk menjalankan Dokumentasi Kubernetes pada mesin lokal kamus adalah dengan menggunakan [Docker](https://docker.com) **image** yang memiliki **package** [Hugo](https://gohugo.io), **Hugo** sendiri merupakan generator website statis.
> Jika kamu menggunakan Windows, kamu mungkin membutuhkan beberapa langkah tambahan untuk melakukan instalasi perangkat lunak yang dibutuhkan. Instalasi ini dapat dilakukan dengan menggunakan [Chocolatey](https://chocolatey.org). `choco install make`
> Jika kamu ingin menjalankan **website** tanpa menggunakan **Docker**, kamu dapat melihat tautan berikut [Petunjuk untuk menjalankan website pada mesin lokal dengan menggunakan Hugo](#petunjuk-untuk-menjalankan-website-pada-mesin-lokal-dengan-menggunakan-hugo) di bagian bawah.
> Jika kamu ingin menjalankan **website** tanpa menggunakan **Docker**, kamu dapat melihat tautan berikut [Petunjuk untuk menjalankan website pada mesin lokal dengan menggunakan Hugo](#petunjuk-untuk-menjalankan-website-pada-mesin-lokal-denga-menggunakan-hugo) di bagian bawah.
Jika kamu sudah memiliki **Docker** [yang sudah dapat digunakan](https://www.docker.com/get-started), kamu dapat melakukan **build** `kubernetes-hugo` **Docker image** secara lokal:
```bash
make container-image
make docker-image
```
Setelah **image** berhasil di-**build**, kamu dapat menjalankan website tersebut pada mesin lokal-mu:
```bash
make container-serve
make docker-serve
```
Buka **browser** kamu ke http://localhost:1313 untuk melihat laman dokumentasi. Selama kamu melakukan penambahan konten, **Hugo** akan secara otomatis melakukan perubahan terhadap laman dokumentasi apabila **browser** melakukan proses **refresh**.
@@ -44,7 +44,7 @@ Buka **browser** kamu ke http://localhost:1313 untuk melihat laman dokumentasi.
## Petunjuk untuk menjalankan website pada mesin lokal dengan menggunakan Hugo
Kamu dapat melihat [dokumentasi resmi Hugo](https://gohugo.io/getting-started/installing/) untuk mengetahui langkah yang diperlukan untuk melakukan instalasi **Hugo**. Pastikan kamu melakukan instalasi versi **Hugo** sesuai dengan versi yang tersedia pada **environment variable** `HUGO_VERSION` pada **file**[`netlify.toml`](netlify.toml#L9).
Kamu dapat melihat [dokumentasi resmi Hugo](https://gohugo.io/getting-started/installing/) untuk mengetahui langkah yang diperlukan untuk melakukan instalasi **Hugo**. Pastikan kamu melakukan instalasi versi **Hugo** sesuai dengan versi yang tersedia pada **environment variable** `HUGO_VERSION` pada **file**[`netlify.toml`](netlify.toml#L9).
Untuk menjalankan laman pada mesin lokal setelah instalasi **Hugo**, kamu dapat menjalankan perintah berikut:
-71
View File
@@ -1,71 +0,0 @@
# La documentazione di Kubernetes
[![Build Status](https://api.travis-ci.org/kubernetes/website.svg?branch=master)](https://travis-ci.org/kubernetes/website)
[![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
Benvenuto! Questo repository contiene tutte le informazioni necessarie per creare la [documentazione e il sito web di Kubernetes](https://kubernetes.io/). Siamo onorati che tu voglia contribuire!
## Come contribuire alla documentazione
Puoi premere il pulsante **Fork** in alto nella parte destra dello schermo per creare una copia di questo repository sotto la tua utenza di GitHub. Questa copia è chiamata un *fork*. Puoi fare tutte le modifiche che vuoi nel tuo fork, e quando sei pronto a mandarci i cambiamenti, vai sulla pagina del tuo fork e crea una nuova pull request per farcelo sapere.
Una volta che hai creato la pull request, un reviewer (revisore) Kubernetes la prenderà in carico per fornire un feedback chiaro e concretamente attuabile. Come owner della pull request, **è tua responsabilità modificare la tua pull request per rispondere al feedback che ti è stato fornito dal reviewer Kubernetes**. Inoltre, tieni presente che potresti ricevere feedback da più di un Reviewer di Kubernetes, incluse quindi persone diverse da quella che ti ha fornito il primo feedback. In alcuni casi, uno dei tuoi reviewer potrebbe richiedere una revisione tecnica da un [technical reviewer di Kubernetes](https://github.com/kubernetes/website/wiki/Tech-reviewers) quando necessario. I reviewer faranno del loro meglio per fornire feedback in modo tempestivo, ma i tempi di risposta possono variare in base alle circostanze.
Per maggiori informazioni su come contribuire alla documentazione Kubernetes, vedi:
* [Cominciare a contribuire](https://kubernetes.io/docs/contribute/start/)
* [Vedere le modifiche localmente](http://kubernetes.io/docs/contribute/intermediate#view-your-changes-locally)
* [Utilizzare i template delle pagine](https://kubernetes.io/docs/contribute/style/page-content-types/)
* [Guida Stilistica per la documentazione di Kubernetes](http://kubernetes.io/docs/contribute/style/style-guide/)
* [Tradurre la documentazione di Kubernetes](https://kubernetes.io/docs/contribute/localization/)
## Eseguire il sito Web localmente usando Docker
Il modo consigliato per eseguire localmente il sito Web Kubernetes prevede l'utilizzo di un'immagine [Docker](https://docker.com) inclusa nel sito e configurata con tutti i software necessari, a partire dal generatore di siti web statici [Hugo](https://gohugo.io).
> Se stai utilizzando Windows, avrai bisogno di alcuni strumenti aggiuntivi che puoi installare con [Chocolatey](https://chocolatey.org). `choco install make`
> Se preferisci eseguire il sito Web localmente senza Docker, vedi [Eseguire il sito Web localmente utilizzando Hugo](#eseguire-il-sito-web-localmente-utilizzando-hugo) di seguito.
Se hai Docker [attivo e funzionante](https://www.docker.com/get-started), crea l'immagine Docker `kubernetes-hugo` localmente:
```bash
make container-image
```
Dopo aver creato l'immagine, è possibile eseguire il sito Web localmente:
```bash
make container-serve
```
Apri il tuo browser su http://localhost:1313 per visualizzare il sito Web. Mentre modifichi i file sorgenti, Hugo aggiorna automaticamente il sito Web e forza un aggiornamento della pagina visualizzata nel browser.
## Eseguire il sito Web localmente utilizzando Hugo
Vedi la [documentazione ufficiale di Hugo](https://gohugo.io/getting-started/installing/) per le istruzioni di installazione di Hugo. Assicurati di installare esattamente la versione di Hugo specificata dalla variabile d'ambiente `HUGO_VERSION` nel file [`netlify.toml`](netlify.toml#L9).
Per eseguire il sito Web localmente dopo aver installato Hugo:
```bash
make serve
```
Questo comando avvierà il server Hugo locale sulla porta 1313. Apri il tuo browser su http://localhost:1313 per visualizzare il sito Web. Mentre apporti modifiche ai file di origine, Hugo aggiorna il sito Web e forza un aggiornamento del browser.
## Community, discussioni, contribuire e supporto
Scopri come interagire con la community di Kubernetes nella [pagina della community](http://kubernetes.io/community/).
Puoi contattare i maintainers di questo progetto su:
- [Slack](https://kubernetes.slack.com/messages/sig-docs)
- [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-docs)
### Codice di condotta
La partecipazione alla comunità Kubernetes è regolata dal [Codice di condotta di Kubernetes](code-of-conduct.md).
## Grazie!
Kubernetes prospera grazie alla partecipazione della comunity e apprezziamo i tuoi contributi al nostro sito Web e alla nostra documentazione!
-193
View File
@@ -1,193 +0,0 @@
# Kubernetesのドキュメント
[![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-main-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
このリポジトリには、[KubernetesのWebサイトとドキュメント](https://kubernetes.io/)をビルドするために必要な全アセットが格納されています。貢献に興味を持っていただきありがとうございます!
- [ドキュメントに貢献する](#contributing-to-the-docs)
- [翻訳された`README.md`一覧](#localization-readmemds)
# リポジトリの使い方
Hugo(Extended version)を使用してWebサイトをローカルで実行することも、コンテナランタイムで実行することもできます。コンテナランタイムを使用することを強くお勧めします。これにより、本番Webサイトとのデプロイメントの一貫性が得られます。
## 前提条件
このリポジトリを使用するには、以下をローカルにインストールする必要があります。
- [npm](https://www.npmjs.com/)
- [Go](https://golang.org/)
- [Hugo(Extended version)](https://gohugo.io/)
- [Docker](https://www.docker.com/)などのコンテナランタイム
開始する前に、依存関係をインストールしてください。リポジトリのクローンを作成し、ディレクトリに移動します。
```
git clone https://github.com/kubernetes/website.git
cd website
```
KubernetesのWebサイトではDocsyというHugoテーマを使用しています。コンテナでWebサイトを実行する場合でも、以下を実行して、サブモジュールおよびその他の開発依存関係をプルすることを強くお勧めします。
```
# pull in the Docsy submodule
git submodule update --init --recursive --depth 1
```
## コンテナを使ってウェブサイトを動かす
コンテナ内でサイトを構築するには、以下を実行してコンテナイメージを構築し、実行します。
```
make container-image
make container-serve
```
お使いのブラウザにて http://localhost:1313 にアクセスしてください。リポジトリ内のソースファイルに変更を加えると、HugoがWebサイトの内容を更新してブラウザに反映します。
## Hugoを使ってローカル環境でWebサイトを動かす
[`netlify.toml`](netlify.toml#L10)ファイルに記述されている`HUGO_VERSION`と同じExtended versionのHugoをインストールするようにしてください。
ローカルでサイトを構築してテストするには、次のコマンドを実行します。
```bash
# install dependencies
npm ci
make serve
```
これで、Hugoのサーバーが1313番ポートを使って開始します。お使いのブラウザにて http://localhost:1313 にアクセスしてください。リポジトリ内のソースファイルに変更を加えると、HugoがWebサイトの内容を更新してブラウザに反映します。
## API reference pagesをビルドする
`content/en/docs/reference/kubernetes-api`に配置されているAPIリファレンスページは<https://github.com/kubernetes-sigs/reference-docs/tree/master/gen-resourcesdocs>を使ってSwagger仕様書からビルドされています。
新しいKubernetesリリースのためにリファレンスページをアップデートするには、次の手順を実行します:
1. `api-ref-generator`サブモジュールをプルする:
```bash
git submodule update --init --recursive --depth 1
```
2. Swagger仕様書を更新する:
```bash
curl 'https://raw.githubusercontent.com/kubernetes/kubernetes/master/api/openapi-spec/swagger.json' > api-ref-assets/api/swagger.json
```
3. 新しいリリースの変更を反映するため、`api-ref-assets/config/`で`toc.yaml`と`fields.yaml`を適用する。
4. 次に、ページをビルドする:
```bash
make api-reference
```
コンテナイメージからサイトを作成・サーブする事でローカルで結果をテストすることができます:
```bash
make container-image
make container-serve
```
APIリファレンスを見るために、ブラウザで<http://localhost:1313/docs/reference/kubernetes-api/>を開いてください。
5. 新しいコントラクトのすべての変更が設定ファイル`toc.yaml`と`fields.yaml`に反映されたら、新しく生成されたAPIリファレンスページとともにPull Requestを作成します。
## トラブルシューティング
### error: failed to transform resource: TOCSS: failed to transform "scss/main.scss" (text/x-scss): this feature is not available in your current Hugo version
Hugoは、技術的な理由から2種類のバイナリがリリースされています。現在のウェブサイトは**Hugo Extended**バージョンのみに基づいて運営されています。[リリースページ](https://github.com/gohugoio/hugo/releases)で名前に「extended」が含まれるアーカイブを探します。確認するには、`hugo version`を実行し、「extended」という単語を探します。
### macOSにてtoo many open filesというエラーが表示される
macOS上で`make serve`を実行した際に以下のエラーが表示される場合
```
ERROR 2020/08/01 19:09:18 Error: listen tcp 127.0.0.1:1313: socket: too many open files
make: *** [serve] Error 1
```
OS上で同時に開けるファイルの上限を確認してください。
`launchctl limit maxfiles`
続いて、以下のコマンドを実行します(https://gist.github.com/tombigel/d503800a282fcadbee14b537735d202c より引用)。
```
#!/bin/sh
# These are the original gist links, linking to my gists now.
# curl -O https://gist.githubusercontent.com/a2ikm/761c2ab02b7b3935679e55af5d81786a/raw/ab644cb92f216c019a2f032bbf25e258b01d87f9/limit.maxfiles.plist
# curl -O https://gist.githubusercontent.com/a2ikm/761c2ab02b7b3935679e55af5d81786a/raw/ab644cb92f216c019a2f032bbf25e258b01d87f9/limit.maxproc.plist
curl -O https://gist.githubusercontent.com/tombigel/d503800a282fcadbee14b537735d202c/raw/ed73cacf82906fdde59976a0c8248cce8b44f906/limit.maxfiles.plist
curl -O https://gist.githubusercontent.com/tombigel/d503800a282fcadbee14b537735d202c/raw/ed73cacf82906fdde59976a0c8248cce8b44f906/limit.maxproc.plist
sudo mv limit.maxfiles.plist /Library/LaunchDaemons
sudo mv limit.maxproc.plist /Library/LaunchDaemons
sudo chown root:wheel /Library/LaunchDaemons/limit.maxfiles.plist
sudo chown root:wheel /Library/LaunchDaemons/limit.maxproc.plist
sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist
```
こちらはmacOSのCatalinaとMojaveで動作を確認しています。
## SIG Docsに参加する
[コミュニティのページ](https://github.com/kubernetes/community/tree/master/sig-docs#meetings)をご覧になることで、SIG Docs Kubernetesコミュニティとの関わり方を学ぶことができます。
本プロジェクトのメンテナーには以下の方法で連絡することができます:
- [Slack](https://kubernetes.slack.com/messages/kubernetes-docs-ja)
- [メーリングリスト](https://groups.google.com/forum/#!forum/kubernetes-sig-docs)
## ドキュメントに貢献する {#contributing-to-the-docs}
GitHubの画面右上にある**Fork**ボタンをクリックすると、お使いのGitHubアカウントに紐付いた本リポジトリのコピーが作成され、このコピーのことを*フォーク*と呼びます。フォークリポジトリの中ではお好きなように変更を加えていただいて構いません。加えた変更をこのリポジトリに追加したい任意のタイミングにて、フォークリポジトリからPull Reqeustを作成してください。
Pull Requestが作成されると、レビュー担当者が責任を持って明確かつ実用的なフィードバックを返します。Pull Requestの所有者は作成者であるため、**ご自身で作成したPull Requestを編集し、フィードバックに対応するのはご自身の役目です。**
また、状況によっては2人以上のレビュアーからフィードバックが返されたり、アサインされていないレビュー担当者からのフィードバックが来ることがある点もご注意ください。
さらに、特定のケースにおいては、レビュー担当者がKubernetesの技術的なレビュアーに対してレビューを依頼することもあります。レビュー担当者はタイムリーにフィードバックを提供するために最善を尽くしますが、応答時間は状況に応じて異なる場合があります。
Kubernetesのドキュメントへの貢献に関する詳細については以下のページをご覧ください:
* [Kubernetesのドキュメントへの貢献](https://kubernetes.io/ja/docs/contribute/)
* [ページコンテントタイプ](https://kubernetes.io/docs/contribute/style/page-content-types/)
* [ドキュメントのスタイルガイド](https://kubernetes.io/docs/contribute/style/style-guide/)
* [Kubernetesドキュメントの翻訳方法](https://kubernetes.io/docs/contribute/localization/)
### New Contributor Ambassadors
コントリビュートする時に何か助けが必要なら、[New Contributor Ambassadors](https://kubernetes.io/docs/contribute/advanced/#serve-as-a-new-contributor-ambassador)に聞いてみると良いでしょう。彼らはSIG Docsのapproverで、最初の数回のPull Requestを通して新しいコントリビューターを指導し助けることを責務としています。New Contributors Ambassadorsにコンタクトするには、[Kubernetes Slack](https://slack.k8s.io)が最適な場所です。現在のSIG DocsのNew Contributor Ambassadorは次の通りです:
| 名前 | Slack | GitHub |
| -------------------------- | -------------------------- | -------------------------- |
| Arsh Sharma | @arsh | @RinkiyaKeDad |
## 翻訳された`README.md`一覧 {#localization-readmemds}
| Language | Language |
|---|---|
|[中国語](README-zh.md)|[韓国語](README-ko.md)|
|[フランス語](README-fr.md)|[ポーランド語](README-pl.md)|
|[ドイツ語](README-de.md)|[ポルトガル語](README-pt.md)|
|[ヒンディー語](README-hi.md)|[ロシア語](README-ru.md)|
|[インドネシア語](README-id.md)|[スペイン語](README-es.md)|
|[イタリア語](README-it.md)|[ウクライナ語](README-uk.md)|
|[日本語](README-ja.md)|[ベトナム語](README-vi.md)|
### 行動規範
Kubernetesコミュニティへの参加については、[CNCFの行動規範](https://github.com/cncf/foundation/blob/master/code-of-conduct.md)によって管理されています。
## ありがとうございます!
Kubernetesはコミュニティの参加によって成長しています。Webサイトおよびドキュメンテーションへの皆さんの貢献に感謝します!
+44 -171
View File
@@ -1,196 +1,69 @@
# 쿠버네티스 문서화
[![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-main-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
[![Build Status](https://api.travis-ci.org/kubernetes/website.svg?branch=master)](https://travis-ci.org/kubernetes/website)
[![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
이 저장소[쿠버네티스 웹사이트 및 문서](https://kubernetes.io/)를 빌드하는 데 필요한 자산이 포함되어 있습니다. 기여해주셔서 감사합니다!
환영합니다! 이 저장소는 쿠버네티스 웹사이트 및 문서화를 만드는 데 필요로 하는 모든 asset에 대한 공간을 제공합니다. 여러 분이 기여를 원한다는 사실에 매우 기쁩니다!
- [문서에 기여하기](#contributing-to-the-docs)
- [`README.md`에 대한 쿠버네티스 문서 현지화](#localization-readmemds)
## 문서에 기여하기
# 저장소 사용하기
저장소에 대한 복제본을 여러분의 GitHub 계정에 생성하기 위해 화면 오른쪽 위 영역에 있는 **Fork** 버튼을 클릭 가능합니 다. 이 복제본은 *fork* 라고 부릅니다. 여러분의 fork에서 원하는 임의의 변경 사항을 만들고, 해당 변경 사항을 보낼 준비가 되었다면, 여러분의 fork로 이동하여 새로운 풀 리퀘스트를 만들어 우리에게 알려주시기 바랍니다.
Hugo(확장 버전)를 사용하여 웹사이트를 로컬에서 실행하거나, 컨테이너 런타임에서 실행할 수 있습니다. 라이브 웹사이트와의 배포 일관성을 제공하므로, 컨테이너 런타임을 사용하는 것을 적극 권장합니다.
여러분의 풀 리퀘스트가 생생된 이후에는, 쿠버네티스 리뷰어가 명료하고 실행 가능한 피드백을 제공하는 책임을 담당할 것입니 다. 풀 리퀘스트의 오너로서, **쿠버네티스 리뷰어로부터 제공받은 피드백을 수용하기 위해 풀 리퀘스트를 수정하는 것은 여러분의 책임입니다.** 또한, 참고로 한 명 이상의 쿠버네티스 리뷰어가 여러분에게 피드백을 제공하는 상황에 처하거나, 또는 여러분에게 피드백을 제공하기로 원래 할당된 사람이 아닌 다른 쿠버네티스 리뷰어로부터 피드백을 받는 상황에 처할 수 있습니다. 뿐만 아니라, 몇몇 상황에서는, 필요에 따라 리뷰어 중 한 명이 [쿠버네티스 기술 리뷰어](https://github.com/kubernetes/website/wiki/Tech-reviewers)로부터의 기술 리뷰를 요청할지도 모릅니다. 리뷰어는 제시간에 피드백을 제공하기 위해 최선을 다할 것이지만, 응답 시간은 상황에 따라 달라질 수도 있습니다.
## 사전 준비 사항
쿠버네티스 문서화에 기여하기와 관련된 보다 자세한 정보는, 다음을 살펴봅니다:
이 저장소를 사용하기 위해, 로컬에 다음의 소프트웨어들이 설치되어 있어야 합니다.
* [기여 시작하기](https://kubernetes.io/docs/contribute/start/)
* [문서화 변경 사항 스테이징하기](http://kubernetes.io/docs/contribute/intermediate#view-your-changes-locally)
* [페이지 템플릿 사용하기](http://kubernetes.io/docs/contribute/style/page-templates/)
* [문서화 스타일 가이드](http://kubernetes.io/docs/contribute/style/style-guide/)
* [쿠버네티스 문서화 로컬라이징](https://kubernetes.io/docs/contribute/localization/)
- [npm](https://www.npmjs.com/)
- [Go](https://golang.org/)
- [Hugo(확장 버전)](https://gohugo.io/)
- [도커](https://www.docker.com/)와 같은 컨테이너 런타임.
## `README.md`에 대한 쿠버네티스 문서화 번역
시작하기 전에 의존성이 있는 소프트웨어를 설치합니다. 저장소를 복제(clone)하고 디렉터리로 이동합니다.
### 한국어
```
git clone https://github.com/kubernetes/website.git
cd website
```
`README.md` 번역 및 한국어 기여자를 위한 보다 자세한 가이드를 [한국어 README](README-ko.md) 페이지 혹은 [쿠버네티스 문서 한글화 가이드](https://kubernetes.io/ko/docs/contribute/localization_ko/)에서 살펴봅니다.
쿠버네티스 웹사이트는 [Docsy Hugo 테마](https://github.com/google/docsy#readme)를 사용합니다. 웹사이트를 컨테이너에서 실행하려는 경우에도, 다음을 실행하여 하위 모듈 및 기타 개발 종속성을 가져오는 것이 좋습니다.
한국어 번역 메인테이너에게 다음을 통해 연락 가능합니다.
```
# Docsy 하위 모듈 가져오기
git submodule update --init --recursive --depth 1
```
* 이덕준 ([GitHub - @gochist](https://github.com/gochist))
* [Slack channel](https://kubernetes.slack.com/messages/kubernetes-docs-ko)
## 컨테이너를 사용하여 사이트 실행하기
## 도커를 사용하여 사이트를 로컬에서 실행하기
컨테이너에서 사이트를 빌드하려면, 다음을 실행하여 컨테이너 이미지를 빌드하고 실행합니다.
쿠버네티스 웹사이트를 로컬에서 실행하기 위한 추천하는 방식은 [Hugo](https://gohugo.io) 정적 사이트 생성기를 포함하는 특 별한 [도커](https://docker.com) 이미지를 실행하는 것입니다.
```
make container-image
make container-serve
```
> Windows에서 실행하는 경우, [Chocolatey](https://chocolatey.org)로 설치할 수 있는 명명 추가 도구를 필요로 할 것입니다. `choco install make`
에러가 발생한다면, Hugo 컨테이너를 위한 컴퓨팅 리소스가 충분하지 않기 때문일 수 있습니다. 이를 해결하려면, 머신에서 도커에 허용할 CPU 및 메모리 사용량을 늘립니다([MacOSX](https://docs.docker.com/docker-for-mac/#resources) / [Windows](https://docs.docker.com/docker-for-windows/#resources)).
> 도커를 사용하지 않고 웹사이트를 로컬에서 실행하기를 선호하는 경우에는, 아래 [Hugo를 사용한 로컬 사이트 실행하기](#hugo를-사용한-로컬-사이트-실행하기)를 살펴봅니다.
웹사이트를 보려면 브라우저를 http://localhost:1313 으로 엽니다. 소스 파일을 변경하면 Hugo가 웹사이트를 업데이트하고 브라우저를 강제로 새로 고칩니다.
## Hugo를 사용하여 로컬에서 웹사이트 실행하기
[`netlify.toml`](netlify.toml#L10) 파일의 `HUGO_VERSION` 환경 변수에 지정된 Hugo 확장 버전을 설치해야 합니다.
사이트를 로컬에서 빌드하고 테스트하려면, 다음을 실행합니다.
도커 [동작 및 실행](https://www.docker.com/get-started) 환경이 있는 경우, 로컬에서 `kubernetes-hugo` 도커 이미지를 빌드 합니다:
```bash
make docker-image
```
해당 이미지가 빌드된 이후, 사이트를 로컬에서 실행할 수 있습니다:
```bash
make docker-serve
```
브라우저에서 http://localhost:1313 를 열어 사이트를 살펴봅니다. 소스 파일에 변경 사항이 있을 때, Hugo는 사이트를 업데이 트하고 브라우저를 강제로 새로고침합니다.
## Hugo를 사용한 로컬 사이트 실행하기
Hugo 설치 안내를 위해서는 [공식 Hugo 문서화](https://gohugo.io/getting-started/installing/)를 살펴봅니다. [`netlify.toml`](netlify.toml#L9) 파일에 있는 `HUGO_VERSION` 환경 변수에서 지정된 Hugo 버전이 설치되었는지를 확인합니다.
Hugo가 설치되었을 때 로컬에서 사이트를 실행하기 위해 (다음을 실행합니다):
```bash
# 의존성 있는 소프트웨어 설치
npm ci
make serve
```
그러면 포트 1313에서 로컬 Hugo 서버가 시작니다. 웹사이트를 보려면 http://localhost:1313 으로 브라우저를 엽니다. 소스 파일 변경하면, Hugo가 웹사이트를 업데이트하고 브라우저를 강제로 새로 고칩니다.
이를 통해 로컬 Hugo 서버를 1313번 포트에 시작니다. 브라우저에서 http://localhost:1313 를 열어 사이트를 살펴봅니다. 소 스 파일 변경 사항이 있을 때, Hugo사이트를 업데이트하고 브라우저를 강제로 새로고침합니다.
## API 레퍼런스 페이지 빌드하기
## 감사합니다!
`content/en/docs/reference/kubernetes-api`에 있는 API 레퍼런스 페이지는 <https://github.com/kubernetes-sigs/reference-docs/tree/master/gen-resourcesdocs>를 사용하여 Swagger 명세로부터 빌드되었습니다.
새로운 쿠버네티스 릴리스를 위해 레퍼런스 페이지를 업데이트하려면 다음 단계를 수행합니다.
1. `api-ref-generator` 서브모듈을 받아옵니다.
```bash
git submodule update --init --recursive --depth 1
```
2. Swagger 명세를 업데이트합니다.
```bash
curl 'https://raw.githubusercontent.com/kubernetes/kubernetes/master/api/openapi-spec/swagger.json' > api-ref-assets/api/swagger.json
```
3. `api-ref-assets/config/`에서, 새 릴리스의 변경 사항이 반영되도록 `toc.yaml` 및 `fields.yaml` 파일을 업데이트합니다.
4. 다음으로, 페이지를 빌드합니다.
```bash
make api-reference
```
로컬에서 결과를 테스트하기 위해 컨테이너 이미지를 이용하여 사이트를 빌드 및 실행합니다.
```bash
make container-image
make container-serve
```
웹 브라우저에서, <http://localhost:1313/docs/reference/kubernetes-api/>로 이동하여 API 레퍼런스를 확인합니다.
5. 모든 API 변경사항이 `toc.yaml` 및 `fields.yaml` 구성 파일에 반영되었다면, 새로 생성된 API 레퍼런스 페이지에 대한 PR을 엽니다.
## 문제 해결
### error: failed to transform resource: TOCSS: failed to transform "scss/main.scss" (text/x-scss): this feature is not available in your current Hugo version
Hugo는 기술적인 이유로 2개의 바이너리 세트로 제공됩니다. 현재 웹사이트는 **Hugo 확장** 버전 기반에서만 실행됩니다. [릴리스 페이지](https://github.com/gohugoio/hugo/releases)에서 이름에 `extended` 가 포함된 아카이브를 찾습니다. 확인하려면, `hugo version` 을 실행하고 `extended` 라는 단어를 찾습니다.
### too many open files 이슈에 대한 macOS 문제 해결
macOS에서 `make serve` 를 실행하면 다음의 오류 메시지가 출력됩니다.
```
ERROR 2020/08/01 19:09:18 Error: listen tcp 127.0.0.1:1313: socket: too many open files
make: *** [serve] Error 1
```
파일 오픈 개수에 대한 현재 제한값을 확인합니다.
`launchctl limit maxfiles`
그리고 다음의 명령을 실행합니다(https://gist.github.com/tombigel/d503800a282fcadbee14b537735d202c 를 참고하여 적용).
```
#!/bin/sh
# 코멘트 처리한 것은 원래 gist 링크들이며, 그 아래는 수정된 tombigel의 gist 링크입니다.
# curl -O https://gist.githubusercontent.com/a2ikm/761c2ab02b7b3935679e55af5d81786a/raw/ab644cb92f216c019a2f032bbf25e258b01d87f9/limit.maxfiles.plist
# curl -O https://gist.githubusercontent.com/a2ikm/761c2ab02b7b3935679e55af5d81786a/raw/ab644cb92f216c019a2f032bbf25e258b01d87f9/limit.maxproc.plist
curl -O https://gist.githubusercontent.com/tombigel/d503800a282fcadbee14b537735d202c/raw/ed73cacf82906fdde59976a0c8248cce8b44f906/limit.maxfiles.plist
curl -O https://gist.githubusercontent.com/tombigel/d503800a282fcadbee14b537735d202c/raw/ed73cacf82906fdde59976a0c8248cce8b44f906/limit.maxproc.plist
sudo mv limit.maxfiles.plist /Library/LaunchDaemons
sudo mv limit.maxproc.plist /Library/LaunchDaemons
sudo chown root:wheel /Library/LaunchDaemons/limit.maxfiles.plist
sudo chown root:wheel /Library/LaunchDaemons/limit.maxproc.plist
sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist
```
이 내용은 Catalina와 Mojave macOS에서 작동합니다.
# SIG Docs에 참여하기
[커뮤니티 페이지](https://github.com/kubernetes/community/tree/master/sig-docs#meetings)에서 SIG Docs 쿠버네티스 커뮤니티 및 회의에 대한 자세한 내용을 확인합니다.
이 프로젝트의 메인테이너에게 연락을 할 수도 있습니다.
- [슬랙](https://kubernetes.slack.com/messages/sig-docs)
- [슬랙에 초대 받기](https://slack.k8s.io/)
- [메일링 리스트](https://groups.google.com/forum/#!forum/kubernetes-sig-docs)
# 문서에 기여하기 {#contributing-to-the-docs}
이 저장소에 대한 복제본을 여러분의 GitHub 계정에 생성하기 위해 화면 오른쪽 위 영역에 있는 **Fork** 버튼을 클릭하면 됩니다. 이 복제본은 *fork* 라고 부릅니다. 여러분의 fork에서 원하는 임의의 변경 사항을 만들고, 해당 변경 사항을 보낼 준비가 되었다면, 여러분의 fork로 이동하여 새로운 풀 리퀘스트를 만들어 우리에게 알려주시기 바랍니다.
여러분의 풀 리퀘스트가 생성된 이후에는, 쿠버네티스 리뷰어가 명료하고 실행 가능한 피드백을 제공하는 책임을 담당할 것입니다. 풀 리퀘스트의 오너로서, **쿠버네티스 리뷰어로부터 제공받은 피드백을 수용하기 위해 풀 리퀘스트를 수정하는 것은 여러분의 책임입니다.**
또한, 참고로 한 명 이상의 쿠버네티스 리뷰어가 여러분에게 피드백을 제공하는 상황이거나, 또는 원래 여러분에게 피드백을 제공하기로 할당된 사람이 아닌 다른 쿠버네티스 리뷰어로부터 피드백을 받는 상황도 있습니다.
그뿐만 아니라, 몇몇 상황에서는, 필요에 따라 리뷰어 중 한 명이 [쿠버네티스 기술 리뷰어](https://github.com/kubernetes/website/wiki/Tech-reviewers)로부터의 기술 리뷰를 요청할지도 모릅니다. 리뷰어는 제시간에 피드백을 제공하기 위해 최선을 다할 것이지만, 응답 시간은 상황에 따라 달라질 수도 있습니다.
쿠버네티스 문서화에 기여하기와 관련된 보다 자세한 정보는, 다음을 참고합니다.
* [쿠버네티스 문서에 기여하기](https://kubernetes.io/docs/contribute/)
* [페이지 콘텐트 타입](https://kubernetes.io/docs/contribute/style/page-content-types/)
* [문서화 스타일 가이드](http://kubernetes.io/docs/contribute/style/style-guide/)
* [쿠버네티스 문서 현지화](https://kubernetes.io/docs/contribute/localization/)
### 신규 기여자 대사(ambassadors)
기여 과정에서 도움이 필요하다면, [신규 기여자 대사](https://kubernetes.io/docs/contribute/advanced/#serve-as-a-new-contributor-ambassador)에게 연락하는 것이 좋습니다. 이들은 신규 기여자를 멘토링하고 첫 PR 과정에서 도움을 주는 역할도 담당하는 SIG Docs 승인자입니다. 신규 기여자 대사에게 문의할 가장 좋은 곳은 [쿠버네티스 슬랙](https://slack.k8s.io/)입니다. 현재 SIG Docs 신규 기여자 대사는 다음과 같습니다.
| Name | Slack | GitHub |
| -------------------------- | -------------------------- | -------------------------- |
| Arsh Sharma | @arsh | @RinkiyaKeDad |
# `README.md`에 대한 쿠버네티스 문서 현지화(localization) {#localization-readmemds}
## 한국어
`README.md` 번역 및 한국어 기여자를 위한 보다 자세한 가이드는 [쿠버네티스 문서 한글화 가이드](https://kubernetes.io/ko/docs/contribute/localization_ko/)를 참고합니다.
한국어 번역 메인테이너에게 다음을 통해 연락할 수 있습니다.
* 손석호 ([GitHub - @seokho-son](https://github.com/seokho-son))
* [슬랙 채널](https://kubernetes.slack.com/messages/kubernetes-docs-ko)
# 행동 강령
쿠버네티스 커뮤니티 참여는 [CNCF 행동 강령](https://github.com/cncf/foundation/blob/master/code-of-conduct-languages/ko.md)을 따릅니다.
# 감사합니다!
쿠버네티스는 커뮤니티 참여를 통해 번창하며, 우리는 웹사이트 및 문서화에 대한 당신의 기여에 감사드립니다!
쿠버네티스는 커뮤니티 참여와 함께 생존하며, 우리는 사이트 및 문서화에 대한 여러분의 컨트리뷰션에 대해 정말 감사하게 생각합니다!
-155
View File
@@ -1,155 +0,0 @@
# Dokumentacja projektu Kubernetes
[![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-main-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
W tym repozytorium znajdziesz wszystko, czego potrzebujesz do zbudowania [strony internetowej Kubernetesa wraz z dokumentacją](https://kubernetes.io/). Bardzo nam miło, że chcesz wziąć udział w jej współtworzeniu!
+ [Twój wkład w dokumentację](#twój-wkład-w-dokumentację)
+ [Informacje o wersjach językowych](#różne-wersje-językowe-readmemd)
## Jak używać tego repozytorium
Możesz uruchomić serwis lokalnie poprzez Hugo (Extended version) lub ze środowiska kontenerowego. Zdecydowanie zalecamy korzystanie z kontenerów, bo dzięki temu lokalna wersja będzie spójna z tym, co jest na oficjalnej stronie.
## Wymagania wstępne
Aby móc skorzystać z tego repozytorium, musisz lokalnie zainstalować:
- [npm](https://www.npmjs.com/)
- [Go](https://golang.org/)
- [Hugo (Extended version)](https://gohugo.io/)
- Środowisko obsługi kontenerów, np. [Dockera](https://www.docker.com/).
Przed rozpoczęciem zainstaluj niezbędne zależności. Sklonuj repozytorium i przejdź do odpowiedniego katalogu:
```bash
git clone https://github.com/kubernetes/website.git
cd website
```
Strona Kubernetesa używa [Docsy Hugo theme](https://github.com/google/docsy#readme). Nawet jeśli planujesz uruchomić serwis w środowisku kontenerowym, zalecamy pobranie podmodułów i innych zależności za pomocą polecenia:
```bash
# pull in the Docsy submodule
git submodule update --init --recursive --depth 1
```
## Uruchomienie serwisu w kontenerze
Aby zbudować i uruchomić serwis wewnątrz środowiska kontenerowego, wykonaj następujące polecenia:
```bash
make container-image
make container-serve
```
Jeśli widzisz błędy, prawdopodobnie kontener z Hugo nie dysponuje wystarczającymi zasobami. Aby rozwiązać ten problem, zwiększ ilość dostępnych zasobów CPU i pamięci dla Dockera na Twojej maszynie ([MacOSX](https://docs.docker.com/docker-for-mac/#resources) i [Windows](https://docs.docker.com/docker-for-windows/#resources)).
Aby obejrzeć zawartość serwisu, otwórz w przeglądarce adres <http://localhost:1313>. Po każdej zmianie plików źródłowych, Hugo automatycznie aktualizuje stronę i odświeża jej widok w przeglądarce.
## Jak uruchomić lokalną kopię strony przy pomocy Hugo?
Upewnij się, że zainstalowałeś odpowiednią wersję Hugo "extended", określoną przez zmienną środowiskową `HUGO_VERSION` w pliku [`netlify.toml`](netlify.toml#L10).
Aby uruchomić i przetestować serwis lokalnie, wykonaj:
```bash
# install dependencies
npm ci
make serve
```
Zostanie uruchomiony lokalny serwer Hugo na porcie 1313. Otwórz w przeglądarce adres <http://localhost:1313>, aby obejrzeć zawartość serwisu. Po każdej zmianie plików źródłowych, Hugo automatycznie aktualizuje stronę i odświeża jej widok w przeglądarce.
## Budowanie dokumentacji źródłowej API
Budowanie dokumentacji źródłowej API zostało opisane w [angielskiej wersji pliku README.md](README.md#building-the-api-reference-pages).
## Rozwiązywanie problemów
### error: failed to transform resource: TOCSS: failed to transform "scss/main.scss" (text/x-scss): this feature is not available in your current Hugo version
Z przyczyn technicznych, Hugo jest rozprowadzany w dwóch wersjach. Aktualny serwis używa tylko wersji **Hugo Extended**. Na stronie z [wydaniami](https://github.com/gohugoio/hugo/releases) poszukaj archiwum z `extended` w nazwie. Dla potwierdzenia, uruchom `hugo version` i poszukaj słowa `extended`.
### Błąd w środowisku macOS: "too many open files"
Jeśli po uruchomieniu `make serve` na macOS widzisz następujący błąd:
```bash
ERROR 2020/08/01 19:09:18 Error: listen tcp 127.0.0.1:1313: socket: too many open files
make: *** [serve] Error 1
```
sprawdź aktualny limit otwartych plików:
`launchctl limit maxfiles`
Uruchom następujące polecenia: (na podstawie https://gist.github.com/tombigel/d503800a282fcadbee14b537735d202c):
```shell
#!/bin/sh
# These are the original gist links, linking to my gists now.
# curl -O https://gist.githubusercontent.com/a2ikm/761c2ab02b7b3935679e55af5d81786a/raw/ab644cb92f216c019a2f032bbf25e258b01d87f9/limit.maxfiles.plist
# curl -O https://gist.githubusercontent.com/a2ikm/761c2ab02b7b3935679e55af5d81786a/raw/ab644cb92f216c019a2f032bbf25e258b01d87f9/limit.maxproc.plist
curl -O https://gist.githubusercontent.com/tombigel/d503800a282fcadbee14b537735d202c/raw/ed73cacf82906fdde59976a0c8248cce8b44f906/limit.maxfiles.plist
curl -O https://gist.githubusercontent.com/tombigel/d503800a282fcadbee14b537735d202c/raw/ed73cacf82906fdde59976a0c8248cce8b44f906/limit.maxproc.plist
sudo mv limit.maxfiles.plist /Library/LaunchDaemons
sudo mv limit.maxproc.plist /Library/LaunchDaemons
sudo chown root:wheel /Library/LaunchDaemons/limit.maxfiles.plist
sudo chown root:wheel /Library/LaunchDaemons/limit.maxproc.plist
sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist
```
Przedstawiony sposób powinien działać dla MacOS w wersjach Catalina i Mojave.
## Zaangażowanie w prace SIG Docs
O społeczności SIG Docs i terminach spotkań dowiesz z [jej strony](https://github.com/kubernetes/community/tree/master/sig-docs#meetings).
Możesz kontaktować się z gospodarzami projektu za pomocą:
- [Komunikatora Slack](https://kubernetes.slack.com/messages/sig-docs)
- [Tutaj możesz dostać zaproszenie do tej grupy Slacka](https://slack.k8s.io/)
- [List dyskusyjnych](https://groups.google.com/forum/#!forum/kubernetes-sig-docs)
## Twój wkład w dokumentację
Możesz kliknąć w przycisk **Fork** w prawym górnym rogu ekranu, aby stworzyć kopię tego repozytorium na swoim koncie GitHub. Taki rodzaj kopii (odgałęzienia) nazywa się *fork*. Zmieniaj w nim, co chcesz, a kiedy będziesz już gotowy/a przesłać te zmiany do nas, przejdź do swojej kopii i stwórz nowy *pull request*, abyśmy zostali o tym poinformowani.
Po stworzeniu *pull request*, jeden z recenzentów projektu Kubernetes podejmie się przekazania jasnych wskazówek pozwalających podjąć następne działania. Na Tobie, jako właścicielu *pull requesta*, **spoczywa odpowiedzialność za wprowadzenie poprawek zgodnie z uwagami recenzenta.**
Może też się zdarzyć, że swoje uwagi zgłosi więcej niż jeden recenzent, lub że recenzję będzie robił ktoś inny, niż ten, kto został przydzielony na początku.
W niektórych przypadkach, jeśli zajdzie taka potrzeba, recenzent może poprosić dodatkowo o recenzję jednego z recenzentów technicznych. Recenzenci zrobią wszystko, aby odpowiedzieć sprawnie, ale konkretny czas odpowiedzi zależy od wielu czynników.
Więcej informacji na temat współpracy przy tworzeniu dokumentacji znajdziesz na stronach:
- [Udział w rozwijaniu dokumentacji](https://kubernetes.io/docs/contribute/)
- [Rodzaje stron](https://kubernetes.io/docs/contribute/style/page-content-types/)
- [Styl pisania dokumentacji](http://kubernetes.io/docs/contribute/style/style-guide/)
- [Lokalizacja dokumentacji Kubernetesa](https://kubernetes.io/docs/contribute/localization/)
## Różne wersje językowe `README.md`
| Język | Język |
|---|---|
| [angielski](README.md) | [francuski](README-fr.md) |
| [koreański](README-ko.md) | [niemiecki](README-de.md) |
| [portugalski](README-pt.md) | [hindi](README-hi.md) |
| [hiszpański](README-es.md) | [indonezyjski](README-id.md) |
| [chiński](README-zh.md) | [japoński](README-ja.md) |
| [wietnamski](README-vi.md) | [rosyjski](README-ru.md) |
| [włoski](README-it.md) | [ukraiński](README-uk.md) |
## Zasady postępowania
Udział w działaniach społeczności Kubernetesa jest regulowany przez [Kodeks postępowania CNCF](https://github.com/cncf/foundation/blob/master/code-of-conduct-languages/pl.md).
## Dziękujemy!
Kubernetes rozkwita dzięki zaangażowaniu społeczności — doceniamy twój wkład w tworzenie naszego serwisu i dokumentacji!
+64 -175
View File
@@ -1,193 +1,82 @@
# A documentação do Kubernetes
[![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-main-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
[![Build Status](https://api.travis-ci.org/kubernetes/website.svg?branch=master)](https://travis-ci.org/kubernetes/website)
[![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
Bem-vindos! Este repositório contém todos os recursos necessários para criar o [website e documentação do Kubernetes](https://kubernetes.io/). Estamos muito satisfeitos por você querer contribuir!
Bem vindos! Este repositório abriga todos os recursos necessários para criar o [site e documentação do Kubernetes](https://kubernetes.io/). Estamos muito satisfeitos por você querer contribuir!
# Utilizando este repositório
## Contribuindo com os documentos
Você pode executar o website localmente utilizando o Hugo (versão Extended), ou você pode executa-ló em um container runtime. É altamente recomendável utilizar um container runtime, pois garante a consistência na implantação do website real.
Você pode clicar no botão **Fork** na área superior direita da tela para criar uma cópia desse repositório na sua conta do GitHub. Esta cópia é chamada de *fork*. Faça as alterações desejadas no seu fork e, quando estiver pronto para enviar as alterações para nós, vá até o fork e crie uma nova solicitação de pull para nos informar sobre isso.
## Pré-requisitos
Para usar este repositório, você precisa instalar:
- [npm](https://www.npmjs.com/)
- [Go](https://golang.org/)
- [Hugo (versão Extended)](https://gohugo.io/)
- Um container runtime, por exemplo [Docker](https://www.docker.com/).
Antes de você iniciar, instale as dependências, clone o repositório e navegue até o diretório:
```
git clone https://github.com/kubernetes/website.git
cd website
```
O website do Kubernetes utiliza o [tema Docsy Hugo](https://github.com/google/docsy#readme). Mesmo se você planeje executar o website em um container, é altamente recomendado baixar os submódulos e outras dependências executando o seguinte comando:
```
# Baixar o submódulo Docsy
git submodule update --init --recursive --depth 1
```
## Executando o website usando um container
Para executar o build do website em um container, execute o comando abaixo para criar a imagem do container e executa-lá:
```
make container-image
make container-serve
```
Abra seu navegador em http://localhost:1313 para visualizar o website. Conforme você faz alterações nos arquivos fontes, o Hugo atualiza o website e força a atualização do navegador.
## Executando o website localmente utilizando o Hugo
Consulte a [documentação oficial do Hugo](https://gohugo.io/getting-started/installing/) para instruções de instalação do Hugo. Certifique-se de instalar a versão do Hugo especificada pela variável de ambiente `HUGO_VERSION` no arquivo [`netlify.toml`](netlify.toml#L9).
Para executar o build e testar o website localmente, execute:
```bash
# instalar dependências
npm ci
make serve
```
Isso iniciará localmente o Hugo na porta 1313. Abra o seu navegador em http://localhost:1313 para visualizar o website. Conforme você faz alterações nos arquivos fontes, o Hugo atualiza o website e força uma atualização no navegador.
## Construindo a página de referência da API
A página de referência da API localizada em `content/en/docs/reference/kubernetes-api` é construída a partir da especificação do Swagger utilizando https://github.com/kubernetes-sigs/reference-docs/tree/master/gen-resourcesdocs.
Siga os passos abaixo para atualizar a página de referência para uma nova versão do Kubernetes:
OBS: modifique o "v1.20" no exemplo a seguir pela versão a ser atualizada
1. Obter o submódulo `kubernetes-resources-reference`:
```
git submodule update --init --recursive --depth 1
```
2. Criar a nova versão da API no submódulo e adicionar à especificação do Swagger:
```
mkdir api-ref-generator/gen-resourcesdocs/api/v1.20
curl 'https://raw.githubusercontent.com/kubernetes/kubernetes/master/api/openapi-spec/swagger.json' > api-ref-generator/gen-resourcesdocs/api/v1.20/swagger.json
```
3. Copiar o sumário e os campos de configuração para a nova versão a partir da versão anterior:
```
mkdir api-ref-generator/gen-resourcesdocs/api/v1.20
cp api-ref-generator/gen-resourcesdocs/api/v1.19/* api-ref-generator/gen-resourcesdocs/api/v1.20/
```
4. Ajustar os arquivos `toc.yaml` e `fields.yaml` para refletir as mudanças entre as duas versões.
5. Em seguida, gerar as páginas:
```
make api-reference
```
Você pode validar o resultado localmente gerando e disponibilizando o site a partir da imagem do container:
```
make container-image
make container-serve
```
Abra o seu navegador em http://localhost:1313/docs/reference/kubernetes-api/ para visualizar a página de referência da API.
6. Quando todas as mudanças forem refletidas nos arquivos de configuração `toc.yaml` e `fields.yaml`, crie um pull request com a nova página de referência de API.
## Troubleshooting
### error: failed to transform resource: TOCSS: failed to transform "scss/main.scss" (text/x-scss): this feature is not available in your current Hugo version
Por motivos técnicos, o Hugo é disponibilizado em dois conjuntos de binários. O website atual funciona apenas na versão **Hugo Extended**. Na [página de releases](https://github.com/gohugoio/hugo/releases) procure por arquivos com `extended` no nome. Para confirmar, execute `hugo version` e procure pela palavra `extended`.
### Troubleshooting macOS for too many open files
Se você executar o comando `make serve` no macOS e retornar o seguinte erro:
```
ERROR 2020/08/01 19:09:18 Error: listen tcp 127.0.0.1:1313: socket: too many open files
make: *** [serve] Error 1
```
Verifique o limite atual para arquivos abertos:
`launchctl limit maxfiles`
Em seguida, execute os seguintes comandos (adaptado de https://gist.github.com/tombigel/d503800a282fcadbee14b537735d202c):
```shell
#!/bin/sh
# Esse são os links do gist original, vinculados ao meu gists agora.
# curl -O https://gist.githubusercontent.com/a2ikm/761c2ab02b7b3935679e55af5d81786a/raw/ab644cb92f216c019a2f032bbf25e258b01d87f9/limit.maxfiles.plist
# curl -O https://gist.githubusercontent.com/a2ikm/761c2ab02b7b3935679e55af5d81786a/raw/ab644cb92f216c019a2f032bbf25e258b01d87f9/limit.maxproc.plist
curl -O https://gist.githubusercontent.com/tombigel/d503800a282fcadbee14b537735d202c/raw/ed73cacf82906fdde59976a0c8248cce8b44f906/limit.maxfiles.plist
curl -O https://gist.githubusercontent.com/tombigel/d503800a282fcadbee14b537735d202c/raw/ed73cacf82906fdde59976a0c8248cce8b44f906/limit.maxproc.plist
sudo mv limit.maxfiles.plist /Library/LaunchDaemons
sudo mv limit.maxproc.plist /Library/LaunchDaemons
sudo chown root:wheel /Library/LaunchDaemons/limit.maxfiles.plist
sudo chown root:wheel /Library/LaunchDaemons/limit.maxproc.plist
sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist
```
Esta solução funciona tanto para o MacOS Catalina quanto para o MacOS Mojave.
### Erro de "Out of Memory"
Se você executar o comando `make container-serve` e retornar o seguinte erro:
```
make: *** [container-serve] Error 137
```
Verifique a quantidade de memória disponível para o agente de execução de contêiner. No caso do Docker Desktop para macOS, abra o menu "Preferences..." -> "Resources..." e tente disponibilizar mais memória.
# Comunidade, discussão, contribuição e apoio
Saiba mais sobre a comunidade Kubernetes SIG Docs e reuniões na [página da comunidade](http://kubernetes.io/community/).
Você também pode entrar em contato com os mantenedores deste projeto em:
- [Slack](https://kubernetes.slack.com/messages/sig-docs) ([Obter o convide para o este slack](https://slack.k8s.io/))
- [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-docs)
# Contribuindo com os documentos
Você pode clicar no botão **Fork** na área superior direita da tela para criar uma cópia desse repositório na sua conta do GitHub. Esta cópia é chamada de *fork*. Faça as alterações desejadas no seu fork e, quando estiver pronto para enviar as alterações para nós, vá até o fork e crie um novo **pull request** para nos informar sobre isso.
Depois que seu **pull request** for criado, um revisor do Kubernetes assumirá a responsabilidade de fornecer um feedback claro e objetivo. Como proprietário do pull request, **é sua responsabilidade modificar seu pull request para atender ao feedback que foi fornecido a você pelo revisor do Kubernetes.**
Observe também que você pode acabar tendo mais de um revisor do Kubernetes para fornecer seu feedback ou você pode acabar obtendo feedback de um outro revisor do Kubernetes diferente daquele originalmente designado para lhe fornecer o feedback.
Além disso, em alguns casos, um de seus revisores pode solicitar uma revisão técnica de um [revisor técnico do Kubernetes](https://github.com/kubernetes/website/wiki/Tech-reviewers) quando necessário. Os revisores farão o melhor para fornecer feedbacks em tempo hábil, mas o tempo de resposta pode variar de acordo com as circunstâncias.
Depois que seu **pull request** for criada, um revisor do Kubernetes assumirá a responsabilidade de fornecer um feedback claro e objetivo. Como proprietário do pull request, **é sua responsabilidade modificar seu pull request para abordar o feedback que foi fornecido a você pelo revisor do Kubernetes.** Observe também que você pode acabar tendo mais de um revisor do Kubernetes para fornecer seu feedback ou você pode acabar obtendo feedback de um revisor do Kubernetes que é diferente daquele originalmente designado para lhe fornecer feedback. Além disso, em alguns casos, um de seus revisores pode solicitar uma revisão técnica de um [revisor de tecnologia Kubernetes](https://github.com/kubernetes/website/wiki/Tech-reviewers) quando necessário. Os revisores farão o melhor para fornecer feedback em tempo hábil, mas o tempo de resposta pode variar de acordo com as circunstâncias.
Para mais informações sobre como contribuir com a documentação do Kubernetes, consulte:
* [Contribua com a documentação do Kubernetes](https://kubernetes.io/docs/contribute/)
* [Tipos de conteúdo de página](https://kubernetes.io/docs/contribute/style/page-content-types/)
* [Comece a contribuir](https://kubernetes.io/docs/contribute/start/)
* [Preparando suas alterações na documentação](http://kubernetes.io/docs/contribute/intermediate#view-your-changes-locally)
* [Usando Modelos de Página](http://kubernetes.io/docs/contribute/style/page-templates/)
* [Guia de Estilo da Documentação](http://kubernetes.io/docs/contribute/style/style-guide/)
* [Localizando documentação do Kubernetes](https://kubernetes.io/docs/contribute/localization/)
Você pode contatar os mantenedores da localização em Português em:
## Documentação do Kubernetes Localizando o `README.md`
* Felipe ([GitHub - @femrtnz](https://github.com/femrtnz))
* [Slack channel](https://kubernetes.slack.com/messages/kubernetes-docs-pt)
### coreano
# Código de conduta
Veja a tradução de `README.md` e mais orientações sobre detalhes para contribuidores coreanos na página [README coreano](README-ko.md).
Você pode alcançar os mantenedores da localização coreana em:
* June Yi ([GitHub - @gochist](https://github.com/gochist))
* [Slack channel](https://kubernetes.slack.com/messages/kubernetes-docs-ko)
## Executando o site localmente usando o Docker
A maneira recomendada de executar o site do Kubernetes localmente é executar uma imagem especializada do [Docker](https://docker.com) que inclui o gerador de site estático [Hugo](https://gohugo.io).
> Se você está rodando no Windows, você precisará de mais algumas ferramentas que você pode instalar com o [Chocolatey](https://chocolatey.org). `choco install make`
> Se você preferir executar o site localmente sem o Docker, consulte [Executando o site localmente usando o Hugo](#executando-o-site-localmente-usando-o-hugo) abaixo.
Se você tiver o Docker [em funcionamento](https://www.docker.com/get-started), crie a imagem do Docker do `kubernetes-hugo` localmente:
```bash
make docker-image
```
Depois que a imagem foi criada, você pode executar o site localmente:
```bash
make docker-serve
```
Abra seu navegador para http://localhost:1313 para visualizar o site. Conforme você faz alterações nos arquivos de origem, Hugo atualiza o site e força a atualização do navegador.
## Executando o site localmente usando o Hugo
Veja a [documentação oficial do Hugo](https://gohugo.io/getting-started/installing/) para instruções de instalação do Hugo. Certifique-se de instalar a versão do Hugo especificada pela variável de ambiente `HUGO_VERSION` no arquivo [`netlify.toml`](netlify.toml#L9).
Para executar o site localmente quando você tiver o Hugo instalado:
```bash
make serve
```
Isso iniciará o servidor Hugo local na porta 1313. Abra o navegador para http://localhost:1313 para visualizar o site. Conforme você faz alterações nos arquivos de origem, Hugo atualiza o site e força a atualização do navegador.
## Comunidade, discussão, contribuição e apoio
Aprenda a se envolver com a comunidade do Kubernetes na [página da comunidade](http://kubernetes.io/community/).
Você pode alcançar os mantenedores deste projeto em:
- [Slack](https://kubernetes.slack.com/messages/sig-docs)
- [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-docs)
### Código de conduta
A participação na comunidade Kubernetes é regida pelo [Código de Conduta da Kubernetes](code-of-conduct.md).
# Obrigado!
## Obrigado!
O Kubernetes prospera com a participação da comunidade e nós realmente agradecemos suas contribuições para o nosso website e nossa documentação!
A Kubernetes prospera com a participação da comunidade e nós realmente apreciamos suas contribuições para o nosso site e nossa documentação!
-142
View File
@@ -1,142 +0,0 @@
# Документация по Kubernetes
[![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-main-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
Данный репозиторий содержит все необходимые файлы для сборки [сайта Kubernetes и документации](https://kubernetes.io/). Мы благодарим вас за желание внести свой вклад!
# Использование этого репозитория
Запустить сайт локально можно с помощью Hugo (Extended version) или же в исполняемой среде для контейнеров. Мы настоятельно рекомендуем воспользоваться контейнерной средой, поскольку она обеспечивает консистивность развёртывания с оригинальным сайтом.
## Предварительные требования
Чтобы работать с этим репозиторием, понадобятся следующие компоненты, установленные локально:
- [npm](https://www.npmjs.com/)
- [Go](https://golang.org/)
- [Hugo (Extended version)](https://gohugo.io/)
- Исполняемая среда для контейнеров вроде [Docker](https://www.docker.com/)
Перед тем, как начать, установите зависимости. Склонируйте репозиторий и перейдите в его директорию:
```
git clone https://github.com/kubernetes/website.git
cd website
```
Сайт Kubernetes использует [тему для Hugo под названием Docsy](https://github.com/google/docsy). Даже если вы планируете запускать сайт в контейнере, мы настоятельно рекомендуем загрузить соответствующий подмодуль и другие зависимости для разработки, выполнив следующую команду:
```
# загружаем Git-подмодуль Docsy
git submodule update --init --recursive --depth 1
```
## Запуск сайта в контейнере
Чтобы собрать сайт в контейнере, выполните следующие команды — они собирают образ контейнера и запускают его:
```
make container-image
make container-serve
```
Откройте браузер и перейдите по ссылке http://localhost:1313, чтобы увидеть сайт. Если вы отредактируете исходные файлы сайта, Hugo автоматически обновит сам сайт и выполнит обновление страницы в браузере.
## Запуск сайта с помощью Hugo
Убедитесь, что вы установили расширенную версию Hugo (extended version): она определена в переменной окружения `HUGO_VERSION` в файле [`netlify.toml`](netlify.toml#L10).
Чтобы собрать и протестировать сайт локально, выполните:
```bash
# install dependencies
npm ci
make serve
```
Эти команды запустят локальный сервер Hugo на порту 1313. Откройте браузер и перейдите по ссылке http://localhost:1313, чтобы увидеть сайт. Если вы отредактируете исходные файлы сайта, Hugo автоматически обновит сам сайт и выполнит обновление страницы в браузере.
## Решение проблем
### error: failed to transform resource: TOCSS: failed to transform "scss/main.scss" (text/x-scss): this feature is not available in your current Hugo version
По техническим причинам Hugo поставляется с двумя наборами бинарников. Текущий сайт Kubernetes работает только в версии **Hugo Extended**. На [странице релизов](https://github.com/gohugoio/hugo/releases) ищите архивы со словом `extended` в названии. Чтобы убедиться в корректности, запустите команду `hugo version` и найдите в выводе слово `extended`.
### Решение проблемы на macOS с "too many open files"
Если вы запускаете `make serve` на macOS и получаете следующую ошибку:
```
ERROR 2020/08/01 19:09:18 Error: listen tcp 127.0.0.1:1313: socket: too many open files
make: *** [serve] Error 1
```
Попробуйте проверить текущий лимит для открытых файлов:
`launchctl limit maxfiles`
Затем выполните следующие команды (они взяты и адаптированы из https://gist.github.com/tombigel/d503800a282fcadbee14b537735d202c):
```shell
#!/bin/sh
# Ссылки на оригинальные gist-файлы закомментированы в пользу моих адаптированных.
# curl -O https://gist.githubusercontent.com/a2ikm/761c2ab02b7b3935679e55af5d81786a/raw/ab644cb92f216c019a2f032bbf25e258b01d87f9/limit.maxfiles.plist
# curl -O https://gist.githubusercontent.com/a2ikm/761c2ab02b7b3935679e55af5d81786a/raw/ab644cb92f216c019a2f032bbf25e258b01d87f9/limit.maxproc.plist
curl -O https://gist.githubusercontent.com/tombigel/d503800a282fcadbee14b537735d202c/raw/ed73cacf82906fdde59976a0c8248cce8b44f906/limit.maxfiles.plist
curl -O https://gist.githubusercontent.com/tombigel/d503800a282fcadbee14b537735d202c/raw/ed73cacf82906fdde59976a0c8248cce8b44f906/limit.maxproc.plist
sudo mv limit.maxfiles.plist /Library/LaunchDaemons
sudo mv limit.maxproc.plist /Library/LaunchDaemons
sudo chown root:wheel /Library/LaunchDaemons/limit.maxfiles.plist
sudo chown root:wheel /Library/LaunchDaemons/limit.maxproc.plist
sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist
```
Данное решение работает для macOS Catalina и Mojave.
# Участие в SIG Docs
Узнайте о Kubernetes-сообществе SIG Docs и его встречах на [странице сообщества](https://github.com/kubernetes/community/tree/master/sig-docs#meetings).
Вы можете связаться с сопровождающими этот проект по следующим ссылкам:
- [Канал в Slack](https://kubernetes.slack.com/messages/sig-docs) ([получите приглашение в этот Slack](https://slack.k8s.io/))
- [Почтовая рассылка](https://groups.google.com/forum/#!forum/kubernetes-sig-docs)
# Вклад в документацию
Нажмите на кнопку **Fork** в правом верхнем углу, чтобы создать копию этого репозитория для вашего GitHub-аккаунта. Эта копия называется *форк-репозиторием*. Делайте любые изменения в своем форк-репозитории и, когда будете готовы опубликовать изменения, зайдите в свой форк-репозиторий и создайте новый pull-запрос (PR), чтобы уведомить нас.
После того, как вы отправите pull-запрос, ревьювер из проекта Kubernetes даст по нему обратную связь. Вы, как автор pull-запроса, **должны обновить свой PR после его рассмотрения ревьювером Kubernetes.**
Вполне возможно, что более одного ревьювера Kubernetes оставят свои комментарии. Может быть даже так, что вы будете получать обратную связь уже не от того ревьювера, что был первоначально вам назначен. Кроме того, в некоторых случаях один из ревьюверов может запросить техническую рецензию от [технического ревьювера Kubernetes](https://github.com/kubernetes/website/wiki/Tech-reviewers), если это потребуется. Ревьюверы сделают все возможное, чтобы как можно оперативнее оставить свои предложения и пожелания, но время ответа может варьироваться в зависимости от обстоятельств.
Узнать подробнее о том, как поучаствовать в документации Kubernetes, вы можете по ссылкам ниже:
* [Начните вносить свой вклад](https://kubernetes.io/docs/contribute/)
* [Использование шаблонов страниц](https://kubernetes.io/docs/contribute/style/page-content-types/)
* [Руководство по оформлению документации](https://kubernetes.io/docs/contribute/style/style-guide/)
* [Руководство по локализации Kubernetes](https://kubernetes.io/docs/contribute/localization/)
# Файл `README.md` на других языках
| другие языки | другие языки |
|-------------------------------|-------------------------------|
| [Английский](README.md) | [Немецкий](README-de.md) |
| [Вьетнамский](README-vi.md) | [Польский]( README-pl.md) |
| [Индонезийский](README-id.md) | [Португальский](README-pt.md) |
| [Испанский](README-es.md) | [Украинский](README-uk.md) |
| [Итальянский](README-it.md) | [Французский](README-fr.md) |
| [Китайский](README-zh.md) | [Хинди](README-hi.md) |
| [Корейский](README-ko.md) | [Японский](README-ja.md) |
# Кодекс поведения
Участие в сообществе Kubernetes регулируется [кодексом поведения CNCF](https://github.com/cncf/foundation/blob/master/code-of-conduct-languages/ru.md).
# Спасибо!
Kubernetes процветает благодаря сообществу и мы ценим ваш вклад в сайт и документацию!
-86
View File
@@ -1,86 +0,0 @@
<!-- # The Kubernetes documentation -->
# Документація Kubernetes
[![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-main-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
<!-- This repository contains the assets required to build the [Kubernetes website and documentation](https://kubernetes.io/). We're glad that you want to contribute! -->
Вітаємо! В цьому репозиторії міститься все необхідне для роботи над [сайтом і документацією Kubernetes](https://kubernetes.io/). Ми щасливі, що ви хочете зробити свій внесок!
<!-- ## Running the website locally using Hugo -->
## Запуск сайту локально зa допомогою Hugo
<!-- See the [official Hugo documentation](https://gohugo.io/getting-started/installing/) for Hugo installation instructions. Make sure to install the Hugo extended version specified by the `HUGO_VERSION` environment variable in the [`netlify.toml`](netlify.toml#L10) file. -->
Для інструкцій з встановлення Hugo дивіться [офіційну документацію](https://gohugo.io/getting-started/installing/). Обов’язково встановіть розширену версію Hugo, яка позначена змінною оточення `HUGO_VERSION` у файлі [`netlify.toml`](netlify.toml#L10).
<!-- To run the website locally when you have Hugo installed: -->
Після встановлення Hugo, запустіть сайт локально командою:
```bash
git clone https://github.com/kubernetes/website.git
cd website
git submodule update --init --recursive --depth 1
make serve
```
<!-- This will start the local Hugo server on port 1313. Open up your browser to http://localhost:1313 to view the website. As you make changes to the source files, Hugo updates the website and forces a browser refresh. -->
Команда запустить локальний Hugo-сервер на порту 1313. Відкрийте у своєму браузері http://localhost:1313, щоб побачити сайт. По мірі того, як ви змінюєте вихідний код, Hugo актуалізує сайт відповідно до внесених змін і оновлює сторінку у браузері.
<!-- ## Get involved with SIG Docs -->
## Спільнота, обговорення, внесок і підтримка
<!-- Learn more about SIG Docs Kubernetes community and meetings on the [community page](https://github.com/kubernetes/community/tree/master/sig-docs#meetings). -->
Дізнайтеся, як долучитися до спільноти Kubernetes на [сторінці спільноти](http://kubernetes.io/community/).
<!-- You can also reach the maintainers of this project at: -->
Для зв’язку із супроводжуючими проекту скористайтеся:
- [Slack](https://kubernetes.slack.com/messages/sig-docs)
- [Поштова розсилка](https://groups.google.com/forum/#!forum/kubernetes-sig-docs)
<!-- ## Contributing to the docs -->
## Внесок у документацію
<!-- You can click the **Fork** button in the upper-right area of the screen to create a copy of this repository in your GitHub account. This copy is called a *fork*. Make any changes you want in your fork, and when you are ready to send those changes to us, go to your fork and create a new pull request to let us know about it. -->
Ви можете створити копію цього репозиторія у своєму акаунті на GitHub, натиснувши на кнопку **Fork**, що розташована справа зверху. Ця копія називатиметься *fork* (відгалуження). Зробіть будь-які необхідні зміни у своєму відгалуженні. Коли ви будете готові надіслати їх нам, перейдіть до свого відгалуження і створіть новий pull request, щоб сповістити нас.
<!-- Once your pull request is created, a Kubernetes reviewer will take responsibility for providing clear, actionable feedback. As the owner of the pull request, **it is your responsibility to modify your pull request to address the feedback that has been provided to you by the Kubernetes reviewer.** -->
Після того, як ви створили pull request, рецензент Kubernetes зобов’язується надати вам по ньому чіткий і конструктивний коментар. **Ваш обов’язок як творця pull request - відкоригувати його відповідно до зауважень рецензента Kubernetes.**
<!-- Also, note that you may end up having more than one Kubernetes reviewer provide you feedback or you may end up getting feedback from a Kubernetes reviewer that is different than the one initially assigned to provide you feedback. -->
Також, зауважте: може статися так, що ви отримаєте коментарі від декількох рецензентів Kubernetes або від іншого рецензента, ніж той, якого вам було призначено від початку.
<!-- Furthermore, in some cases, one of your reviewers might ask for a technical review from a Kubernetes tech reviewer when needed. Reviewers will do their best to provide feedback in a timely fashion but response time can vary based on circumstances. -->
Крім того, за потреби один із ваших рецензентів може запросити технічну перевірку від одного з технічних рецензентів Kubernetes, коли це необхідно. Рецензенти намагатимуться відреагувати вчасно, проте час відповіді може відрізнятися в залежності від обставин.
<!-- For more information about contributing to the Kubernetes documentation, see: -->
Більше інформації про внесок у документацію Kubernetes ви знайдете у наступних джерелах:
* [Внесок: з чого почати](https://kubernetes.io/docs/contribute/)
* [Використання шаблонів сторінок](https://kubernetes.io/docs/contribute/style/page-content-types/)
* [Керівництво зі стилю оформлення документації](http://kubernetes.io/docs/contribute/style/style-guide/)
* [Переклад документації Kubernetes іншими мовами](https://kubernetes.io/docs/contribute/localization/)
<!-- ## Localization `README.md`'s -->
## Файл `README.md` іншими мовами
| інші мови | інші мови |
|-------------------------------|-------------------------------|
| [Англійська](README.md) | [Французька](README-fr.md) |
| [Корейська](README-ko.md) | [Німецька](README-de.md) |
| [Португальська](README-pt.md) | [Хінді](README-hi.md) |
| [Іспанська](README-es.md) | [Індонезійська](README-id.md) |
| [Китайська](README-zh.md) | [Японська](README-ja.md) |
| [В'єтнамська](README-vi.md) | [Російська](README-ru.md) |
| [Італійська](README-it.md) | [Польська](README-pl.md) |
<!-- ## Code of conduct -->
## Кодекс поведінки
<!-- Participation in the Kubernetes community is governed by the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md). -->
Участь у спільноті Kubernetes визначається правилами [Кодексу поведінки СNCF](https://github.com/cncf/foundation/blob/master/code-of-conduct.md).
<!-- ## Thank you! -->
## Дякуємо!
<!-- Kubernetes thrives on community participation, and we appreciate your contributions to our website and our documentation! -->
Долучення до спільноти - запорука успішного розвитку Kubernetes. Ми цінуємо ваш внесок у наш сайт і документацію!
-72
View File
@@ -1,72 +0,0 @@
# Tài liệu Kubernetes
[![Build Status](https://api.travis-ci.org/kubernetes/website.svg?branch=master)](https://travis-ci.org/kubernetes/website)
[![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
Chào mừng! Kho lưu trữ này chứa tất cả các tài nguyên cần thiết để xây dựng [trang web của Kubernetes và các tài liệu](https://kubernetes.io/). Chúng tôi rất vui vì bạn muốn đóng góp.
## Đóng góp cho tài liệu
Bạn có thể click vào nút **Fork** ở góc trên bên phải màn hình để tạo bản sao của kho lưu trữ này trong tài khoản GitHub của bạn. Bản sao này được gọi là một bản *fork*. Thực hiện bất kì thay đổi nào mà bạn muốn trong bản fork của bạn và khi bạn sẵn sang gửi những thay đổi đó cho chúng tôi, hãy đến bản fork của bạn và tạo một Pull Request mới để cho chúng tôi biết về nó.
Một khi Pull Request của bạn được tạo, reviewer sẽ chịu trách nhiệm cung cấp các phản hồi rõ ràng, có thể thực hiện được. Là chủ sở hữu của pull request, **bạn có trách nhiệm sửa đổi Pull Request của mình để giải quyết các phản hồi bởi reviewer.** Ngoài ra, lưu ý rằng bạn có thể có nhiều hơn một reviewer cung cấp cho bạn các phản hồi hoặc bạn có thể nhận được phản hồi từ reviewer khác với reviewer ban đầu được chỉ định. Hơn nữa, trong một số trường hợp, một trong những reviewer của bạn có thể yêu cầu đánh giá kỹ thuật từ [Kubernetes tech reviewer](https://github.com/kubernetes/website/wiki/Tech-reviewers) khi cần. Các reviewers sẽ cố gắng hết sức để cung cấp phản hồi một cách kịp thời nhưng thời gian phản hồi có thể thay đổi tùy theo hoàn cảnh.
Để biết thêm thông tin về việc đóng góp cho tài liệu Kubernetes, hãy xem:
* [Bắt đầu đóng góp](https://kubernetes.io/docs/contribute/start/)
* [Các giai đoạn thay đổi tài liệu](http://kubernetes.io/docs/contribute/intermediate#view-your-changes-locally)
* [Sử dụng các trang templates](https://kubernetes.io/docs/contribute/style/page-content-types/)
* [Hướng dẫn biểu mẫu tài liệu](http://kubernetes.io/docs/contribute/style/style-guide/)
* [Địa phương hóa tài liệu Kubernetes](https://kubernetes.io/docs/contribute/localization/)
## Chạy website cục bộ dùng Docker
Cách được đề xuất để chạy trang web Kubernetes cục bộ là dùng [Docker](https://docker.com) image chứa trình tạo web tĩnh [Hugo](https://gohugo.io).
> Nếu bạn làm việc trên môi trường Windows, bạn sẽ cần thêm môt vài công cụ mà bạn có thể cài đặt với [Chocolatey](https://chocolatey.org). `choco install make`
> Nếu bạn không muốn dùng Docker để chạy trang web cục bộ, hãy xem [Chạy website cục bộ dùng Hugo](#chạy-website-cục-bộ-dùng-hugo) dưới đây.
Nếu bạn có Docker đang [up và running](https://www.docker.com/get-started), build `kubernetes-hugo` Docker image cục bộ:
```bash
make container-image
```
Khi image đã được built, bạn có thể chạy website cục bộ:
```bash
make container-serve
```
Mở trình duyệt và đến địa chỉ http://localhost:1313 để xem website. Khi bạn thay đổi các file nguồn, Hugo cập nhật website và buộc làm mới trình duyệt.
## Chạy website cục bộ dùng Hugo
Hãy xem [tài liệu chính thức của Hugo](https://gohugo.io/getting-started/installing/) cho việc hướng dẫn cài đặt Hugo. Đảm bảo cài đặt phiên bản mở rộng của Hugo được xác định bởi biến môi trường `HUGO_VERSION` trong file [`netlify.toml`](netlify.toml#L9)
Để chạy website cục bộ khi Hugo được cài đặt:
```bash
make serve
```
Câu lệnh trên sẽ khởi động server Hugo cục bộ trên cổng 1313. Mở trình duyệt và đến địa chỉ http://localhost:1313 để xem website. Khi bạn thay đổi các file nguồn, Hugo cập nhật website và buộc làm mới trình duyệt.
## Cộng đồng, thảo luận, đóng góp và hỗ trợ
Tìm hiểu cách tham gia với cộng đồng Kubernetes trên [trang cộng đồng](http://kubernetes.io/community/).
Bạn có thể tiếp cận những maintainers của dự án này tại:
- [Slack](https://kubernetes.slack.com/messages/sig-docs)
- [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-docs)
### Quy tắc ứng xử
Sự tham gia vào cộng đồng Kubernetes được điểu chỉnh bởi [Kubernetes Code of Conduct](code-of-conduct.md).
## Cảm ơn!
Kubernetes phát triển mạnh mẽ về sự tham gia của cộng đồng và chúng tôi đánh giá cao những đóng góp của bạn cho trang web và tài liệu của chúng tôi!
-259
View File
@@ -1,259 +0,0 @@
# Kubernetes 文档
<!--
# The Kubernetes documentation
-->
[![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-main-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
<!--
This repository contains the assets required to build the [Kubernetes website and documentation](https://kubernetes.io/). We're glad that you want to contribute!
-->
本仓库包含了所有用于构建 [Kubernetes 网站和文档](https://kubernetes.io/) 的软件资产。
我们非常高兴您想要参与贡献!
<!--
# Using this repository
You can run the website locally using Hugo (Extended version), or you can run it in a container runtime. We strongly recommend using the container runtime, as it gives deployment consistency with the live website.
-->
## 使用这个仓库
可以使用 Hugo(扩展版)在本地运行网站,也可以在容器中运行它。强烈建议使用容器,因为这样可以和在线网站的部署保持一致。
<!--
## Prerequisites
To use this repository, you need the following installed locally:
- [npm](https://www.npmjs.com/)
- [Go](https://golang.org/)
- [Hugo (Extended version)](https://gohugo.io/)
- A container runtime, like [Docker](https://www.docker.com/).
-->
## 前提条件
使用这个仓库,需要在本地安装以下软件:
- [npm](https://www.npmjs.com/)
- [Go](https://golang.org/)
- [Hugo (Extended version)](https://gohugo.io/)
- 容器运行时,比如 [Docker](https://www.docker.com/).
<!--
Before you start, install the dependencies. Clone the repository and navigate to the directory:
-->
开始前,先安装这些依赖。克隆本仓库并进入对应目录:
```
git clone https://github.com/kubernetes/website.git
cd website
```
<!--
The Kubernetes website uses the [Docsy Hugo theme](https://github.com/google/docsy#readme). Even if you plan to run the website in a container, we strongly recommend pulling in the submodule and other development dependencies by running the following:
-->
Kubernetes 网站使用的是 [Docsy Hugo 主题](https://github.com/google/docsy#readme)。 即使你打算在容器中运行网站,我们也强烈建议你通过运行以下命令来引入子模块和其他开发依赖项:
```
# pull in the Docsy submodule
git submodule update --init --recursive --depth 1
```
<!--
## Running the website using a container
To build the site in a container, run the following to build the container image and run it:
-->
## 在容器中运行网站
要在容器中构建网站,请通过以下命令来构建容器镜像并运行:
```
make container-image
make container-serve
```
<!--
Open up your browser to http://localhost:1313 to view the website. As you make changes to the source files, Hugo updates the website and forces a browser refresh.
-->
启动浏览器,打开 http://localhost:1313 来查看网站。
当你对源文件作出修改时,Hugo 会更新网站并强制浏览器执行刷新操作。
<!--
## Running the website locally using Hugo
Make sure to install the Hugo extended version specified by the `HUGO_VERSION` environment variable in the [`netlify.toml`](netlify.toml#L10) file.
To build and test the site locally, run:
-->
## 在本地使用 Hugo 来运行网站
请确保安装的是 [`netlify.toml`](netlify.toml#L10) 文件中环境变量 `HUGO_VERSION` 所指定的
Hugo 扩展版本。
若要在本地构造和测试网站,请运行:
```bash
# install dependencies
npm ci
make serve
```
<!--
This will start the local Hugo server on port 1313. Open up your browser to http://localhost:1313 to view the website. As you make changes to the source files, Hugo updates the website and forces a browser refresh.
-->
上述命令会在端口 1313 上启动本地 Hugo 服务器。
启动浏览器,打开 http://localhost:1313 来查看网站。
当你对源文件作出修改时,Hugo 会更新网站并强制浏览器执行刷新操作。
<!--
## Troubleshooting
### error: failed to transform resource: TOCSS: failed to transform "scss/main.scss" (text/x-scss): this feature is not available in your current Hugo version
Hugo is shipped in two set of binaries for technical reasons. The current website runs based on the **Hugo Extended** version only. In the [release page](https://github.com/gohugoio/hugo/releases) look for archives with `extended` in the name. To confirm, run `hugo version` and look for the word `extended`.
-->
## 故障排除
### error: failed to transform resource: TOCSS: failed to transform "scss/main.scss" (text/x-scss): this feature is not available in your current Hugo version
由于技术原因,Hugo 会发布两套二进制文件。
当前网站仅基于 **Hugo Extended** 版本运行。
在 [发布页面](https://github.com/gohugoio/hugo/releases) 中查找名称为 `extended` 的归档。可以运行 `hugo version` 查看是否有单词 `extended` 来确认。
<!--
### Troubleshooting macOS for too many open files
If you run `make serve` on macOS and receive the following error:
-->
### 对 macOS 上打开太多文件的故障排除
如果在 macOS 上运行 `make serve` 收到以下错误:
```
ERROR 2020/08/01 19:09:18 Error: listen tcp 127.0.0.1:1313: socket: too many open files
make: *** [serve] Error 1
```
试着查看一下当前打开文件数的限制:
`launchctl limit maxfiles`
然后运行以下命令(参考https://gist.github.com/tombigel/d503800a282fcadbee14b537735d202c):
```
#!/bin/sh
# These are the original gist links, linking to my gists now.
# curl -O https://gist.githubusercontent.com/a2ikm/761c2ab02b7b3935679e55af5d81786a/raw/ab644cb92f216c019a2f032bbf25e258b01d87f9/limit.maxfiles.plist
# curl -O https://gist.githubusercontent.com/a2ikm/761c2ab02b7b3935679e55af5d81786a/raw/ab644cb92f216c019a2f032bbf25e258b01d87f9/limit.maxproc.plist
curl -O https://gist.githubusercontent.com/tombigel/d503800a282fcadbee14b537735d202c/raw/ed73cacf82906fdde59976a0c8248cce8b44f906/limit.maxfiles.plist
curl -O https://gist.githubusercontent.com/tombigel/d503800a282fcadbee14b537735d202c/raw/ed73cacf82906fdde59976a0c8248cce8b44f906/limit.maxproc.plist
sudo mv limit.maxfiles.plist /Library/LaunchDaemons
sudo mv limit.maxproc.plist /Library/LaunchDaemons
sudo chown root:wheel /Library/LaunchDaemons/limit.maxfiles.plist
sudo chown root:wheel /Library/LaunchDaemons/limit.maxproc.plist
sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist
```
这适用于 Catalina 和 Mojave macOS。
<!--
## Get involved with SIG Docs
Learn more about SIG Docs Kubernetes community and meetings on the [community page](https://github.com/kubernetes/community/tree/master/sig-docs#meetings).
You can also reach the maintainers of this project at:
- [Slack](https://kubernetes.slack.com/messages/sig-docs) [Get an invite for this Slack](https://slack.k8s.io/)
- [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-docs)
-->
# 参与 SIG Docs 工作
通过 [社区页面](https://github.com/kubernetes/community/tree/master/sig-docs#meetings)
进一步了解 SIG Docs Kubernetes 社区和会议信息。
你也可以通过以下渠道联系本项目的维护人员:
- [Slack](https://kubernetes.slack.com/messages/sig-docs) [加入Slack](https://slack.k8s.io/)
- [邮件列表](https://groups.google.com/forum/#!forum/kubernetes-sig-docs)
<!--
## Contributing to the docs
You can click the **Fork** button in the upper-right area of the screen to create a copy of this repository in your GitHub account. This copy is called a *fork*. Make any changes you want in your fork, and when you are ready to send those changes to us, go to your fork and create a new pull request to let us know about it.
Once your pull request is created, a Kubernetes reviewer will take responsibility for providing clear, actionable feedback. As the owner of the pull request, **it is your responsibility to modify your pull request to address the feedback that has been provided to you by the Kubernetes reviewer.**
-->
# 为文档做贡献
你也可以点击屏幕右上方区域的 **Fork** 按钮,在你自己的 GitHub
账号下创建本仓库的拷贝。此拷贝被称作 *fork*
你可以在自己的拷贝中任意地修改文档,并在你已准备好将所作修改提交给我们时,
在你自己的拷贝下创建一个拉取请求(Pull Request),以便让我们知道。
一旦你创建了拉取请求,某个 Kubernetes 评审人会负责提供明确的、可执行的反馈意见。
作为拉取请求的拥有者,*修改拉取请求以解决 Kubernetes
评审人所提出的反馈是你的责任*。
<!--
Also, note that you may end up having more than one Kubernetes reviewer provide you feedback or you may end up getting feedback from a Kubernetes reviewer that is different than the one initially assigned to provide you feedback.
Furthermore, in some cases, one of your reviewers might ask for a technical review from a Kubernetes tech reviewer when needed. Reviewers will do their best to provide feedback in a timely fashion but response time can vary based on circumstances.
-->
还要提醒的一点,有时可能会有不止一个 Kubernetes 评审人为你提供反馈意见。
有时候,某个评审人的意见和另一个最初被指派的评审人的意见不同。
更进一步,在某些时候,评审人之一可能会在需要的时候请求 Kubernetes
技术评审人来执行技术评审。
评审人会尽力及时地提供反馈意见,不过具体的响应时间可能会因时而异。
<!--
For more information about contributing to the Kubernetes documentation, see:
* [Contribute to Kubernetes docs](https://kubernetes.io/docs/contribute/)
* [Page Content Types](https://kubernetes.io/docs/contribute/style/page-content-types/)
* [Documentation Style Guide](https://kubernetes.io/docs/contribute/style/style-guide/)
* [Localizing Kubernetes Documentation](https://kubernetes.io/docs/contribute/localization/)
-->
有关为 Kubernetes 文档做出贡献的更多信息,请参阅:
* [贡献 Kubernetes 文档](https://kubernetes.io/docs/contribute/)
* [页面内容类型](https://kubernetes.io/docs/contribute/style/page-content-types/)
* [文档风格指南](https://kubernetes.io/docs/contribute/style/style-guide/)
* [本地化 Kubernetes 文档](https://kubernetes.io/docs/contribute/localization/)
# 中文本地化
可以通过以下方式联系中文本地化的维护人员:
* Rui Chen ([GitHub - @chenrui333](https://github.com/chenrui333))
* He Xiaolong ([GitHub - @markthink](https://github.com/markthink))
* [Slack channel](https://kubernetes.slack.com/messages/kubernetes-docs-zh)
<!--
### Code of conduct
Participation in the Kubernetes community is governed by the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md).
-->
# 行为准则
参与 Kubernetes 社区受 [CNCF 行为准则](https://github.com/cncf/foundation/blob/master/code-of-conduct.md) 约束。
<!--
## Thank you!
Kubernetes thrives on community participation, and we appreciate your contributions to our website and our documentation!
-->
# 感谢!
Kubernetes 因为社区的参与而蓬勃发展,感谢您对我们网站和文档的贡献!
+62 -178
View File
@@ -1,196 +1,80 @@
# The Kubernetes documentation
[![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-main-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
[![Build Status](https://api.travis-ci.org/kubernetes/website.svg?branch=master)](https://travis-ci.org/kubernetes/website)
[![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest)
This repository contains the assets required to build the [Kubernetes website and documentation](https://kubernetes.io/). We're glad that you want to contribute!
- [Contributing to the docs](#contributing-to-the-docs)
- [Localization ReadMes](#localization-readmemds)
## Using this repository
You can run the website locally using Hugo (Extended version), or you can run it in a container runtime. We strongly recommend using the container runtime, as it gives deployment consistency with the live website.
## Prerequisites
To use this repository, you need the following installed locally:
- [npm](https://www.npmjs.com/)
- [Go](https://golang.org/)
- [Hugo (Extended version)](https://gohugo.io/)
- A container runtime, like [Docker](https://www.docker.com/).
Before you start, install the dependencies. Clone the repository and navigate to the directory:
```bash
git clone https://github.com/kubernetes/website.git
cd website
```
The Kubernetes website uses the [Docsy Hugo theme](https://github.com/google/docsy#readme). Even if you plan to run the website in a container, we strongly recommend pulling in the submodule and other development dependencies by running the following:
```bash
# pull in the Docsy submodule
git submodule update --init --recursive --depth 1
```
## Running the website using a container
To build the site in a container, run the following to build the container image and run it:
```bash
make container-image
make container-serve
```
If you see errors, it probably means that the hugo container did not have enough computing resources available. To solve it, increase the amount of allowed CPU and memory usage for Docker on your machine ([MacOSX](https://docs.docker.com/docker-for-mac/#resources) and [Windows](https://docs.docker.com/docker-for-windows/#resources)).
Open up your browser to <http://localhost:1313> to view the website. As you make changes to the source files, Hugo updates the website and forces a browser refresh.
## Running the website locally using Hugo
Make sure to install the Hugo extended version specified by the `HUGO_VERSION` environment variable in the [`netlify.toml`](netlify.toml#L10) file.
To build and test the site locally, run:
```bash
# install dependencies
npm ci
make serve
```
This will start the local Hugo server on port 1313. Open up your browser to <http://localhost:1313> to view the website. As you make changes to the source files, Hugo updates the website and forces a browser refresh.
## Building the API reference pages
The API reference pages located in `content/en/docs/reference/kubernetes-api` are built from the Swagger specification, using <https://github.com/kubernetes-sigs/reference-docs/tree/master/gen-resourcesdocs>.
To update the reference pages for a new Kubernetes release follow these steps:
1. Pull in the `api-ref-generator` submodule:
```bash
git submodule update --init --recursive --depth 1
```
2. Update the Swagger specification:
```bash
curl 'https://raw.githubusercontent.com/kubernetes/kubernetes/master/api/openapi-spec/swagger.json' > api-ref-assets/api/swagger.json
```
3. In `api-ref-assets/config/`, adapt the files `toc.yaml` and `fields.yaml` to reflect the changes of the new release.
4. Next, build the pages:
```bash
make api-reference
```
You can test the results locally by making and serving the site from a container image:
```bash
make container-image
make container-serve
```
In a web browser, go to <http://localhost:1313/docs/reference/kubernetes-api/> to view the API reference.
5. When all changes of the new contract are reflected into the configuration files `toc.yaml` and `fields.yaml`, create a Pull Request with the newly generated API reference pages.
## Troubleshooting
### error: failed to transform resource: TOCSS: failed to transform "scss/main.scss" (text/x-scss): this feature is not available in your current Hugo version
Hugo is shipped in two set of binaries for technical reasons. The current website runs based on the **Hugo Extended** version only. In the [release page](https://github.com/gohugoio/hugo/releases) look for archives with `extended` in the name. To confirm, run `hugo version` and look for the word `extended`.
### Troubleshooting macOS for too many open files
If you run `make serve` on macOS and receive the following error:
```bash
ERROR 2020/08/01 19:09:18 Error: listen tcp 127.0.0.1:1313: socket: too many open files
make: *** [serve] Error 1
```
Try checking the current limit for open files:
`launchctl limit maxfiles`
Then run the following commands (adapted from <https://gist.github.com/tombigel/d503800a282fcadbee14b537735d202c>):
```shell
#!/bin/sh
# These are the original gist links, linking to my gists now.
# curl -O https://gist.githubusercontent.com/a2ikm/761c2ab02b7b3935679e55af5d81786a/raw/ab644cb92f216c019a2f032bbf25e258b01d87f9/limit.maxfiles.plist
# curl -O https://gist.githubusercontent.com/a2ikm/761c2ab02b7b3935679e55af5d81786a/raw/ab644cb92f216c019a2f032bbf25e258b01d87f9/limit.maxproc.plist
curl -O https://gist.githubusercontent.com/tombigel/d503800a282fcadbee14b537735d202c/raw/ed73cacf82906fdde59976a0c8248cce8b44f906/limit.maxfiles.plist
curl -O https://gist.githubusercontent.com/tombigel/d503800a282fcadbee14b537735d202c/raw/ed73cacf82906fdde59976a0c8248cce8b44f906/limit.maxproc.plist
sudo mv limit.maxfiles.plist /Library/LaunchDaemons
sudo mv limit.maxproc.plist /Library/LaunchDaemons
sudo chown root:wheel /Library/LaunchDaemons/limit.maxfiles.plist
sudo chown root:wheel /Library/LaunchDaemons/limit.maxproc.plist
sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist
```
This works for Catalina as well as Mojave macOS.
## Get involved with SIG Docs
Learn more about SIG Docs Kubernetes community and meetings on the [community page](https://github.com/kubernetes/community/tree/master/sig-docs#meetings).
You can also reach the maintainers of this project at:
- [Slack](https://kubernetes.slack.com/messages/sig-docs)
- [Get an invite for this Slack](https://slack.k8s.io/)
- [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-docs)
Welcome! This repository houses all of the assets required to build the [Kubernetes website and documentation](https://kubernetes.io/). We're glad that you want to contribute!
## Contributing to the docs
You can click the **Fork** button in the upper-right area of the screen to create a copy of this repository in your GitHub account. This copy is called a _fork_. Make any changes you want in your fork, and when you are ready to send those changes to us, go to your fork and create a new pull request to let us know about it.
You can click the **Fork** button in the upper-right area of the screen to create a copy of this repository in your GitHub account. This copy is called a *fork*. Make any changes you want in your fork, and when you are ready to send those changes to us, go to your fork and create a new pull request to let us know about it.
Once your pull request is created, a Kubernetes reviewer will take responsibility for providing clear, actionable feedback. As the owner of the pull request, **it is your responsibility to modify your pull request to address the feedback that has been provided to you by the Kubernetes reviewer.**
Also, note that you may end up having more than one Kubernetes reviewer provide you feedback or you may end up getting feedback from a Kubernetes reviewer that is different than the one initially assigned to provide you feedback.
Furthermore, in some cases, one of your reviewers might ask for a technical review from a Kubernetes tech reviewer when needed. Reviewers will do their best to provide feedback in a timely fashion but response time can vary based on circumstances.
Once your pull request is created, a Kubernetes reviewer will take responsibility for providing clear, actionable feedback. As the owner of the pull request, **it is your responsibility to modify your pull request to address the feedback that has been provided to you by the Kubernetes reviewer.** Also, note that you may end up having more than one Kubernetes reviewer provide you feedback or you may end up getting feedback from a Kubernetes reviewer that is different than the one initially assigned to provide you feedback. Furthermore, in some cases, one of your reviewers might ask for a technical review from a [Kubernetes tech reviewer](https://github.com/kubernetes/website/wiki/Tech-reviewers) when needed. Reviewers will do their best to provide feedback in a timely fashion but response time can vary based on circumstances.
For more information about contributing to the Kubernetes documentation, see:
- [Contribute to Kubernetes docs](https://kubernetes.io/docs/contribute/)
- [Page Content Types](https://kubernetes.io/docs/contribute/style/page-content-types/)
- [Documentation Style Guide](https://kubernetes.io/docs/contribute/style/style-guide/)
- [Localizing Kubernetes Documentation](https://kubernetes.io/docs/contribute/localization/)
### New contributor ambassadors
If you need help at any point when contributing, the [New Contributor Ambassadors](https://kubernetes.io/docs/contribute/advanced/#serve-as-a-new-contributor-ambassador) are a good point of contact. These are SIG Docs approvers whose responsibilities include mentoring new contributors and helping them through their first few pull requests. The best place to contact the New Contributors Ambassadors would be on the [Kubernetes Slack](https://slack.k8s.io/). Current New Contributors Ambassadors for SIG Docs:
| Name | Slack | GitHub |
| -------------------------- | -------------------------- | -------------------------- |
| Arsh Sharma | @arsh | @RinkiyaKeDad |
* [Start contributing](https://kubernetes.io/docs/contribute/start/)
* [Staging Your Documentation Changes](http://kubernetes.io/docs/contribute/intermediate#view-your-changes-locally)
* [Using Page Templates](http://kubernetes.io/docs/contribute/style/page-templates/)
* [Documentation Style Guide](http://kubernetes.io/docs/contribute/style/style-guide/)
* [Localizing Kubernetes Documentation](https://kubernetes.io/docs/contribute/localization/)
## Localization `README.md`'s
| | |
|---|---|
|[French README](README-fr.md)|[Korean README](README-ko.md)|
|[German README](README-de.md)|[Portuguese README](README-pt.md)|
|[Hindi README](README-hi.md)|[Spanish README](README-es.md)|
|[Indonesian README](README-id.md)|
|||
| Language | Language |
| -------------------------- | -------------------------- |
| [Chinese](README-zh.md) | [Korean](README-ko.md) |
| [French](README-fr.md) | [Polish](README-pl.md) |
| [German](README-de.md) | [Portuguese](README-pt.md) |
| [Hindi](README-hi.md) | [Russian](README-ru.md) |
| [Indonesian](README-id.md) | [Spanish](README-es.md) |
| [Italian](README-it.md) | [Ukrainian](README-uk.md) |
| [Japanese](README-ja.md) | [Vietnamese](README-vi.md) |
## Running the website locally using Docker
## Code of conduct
The recommended way to run the Kubernetes website locally is to run a specialized [Docker](https://docker.com) image that includes the [Hugo](https://gohugo.io) static website generator.
Participation in the Kubernetes community is governed by the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md).
> If you are running on Windows, you'll need a few more tools which you can install with [Chocolatey](https://chocolatey.org). `choco install make`
## Thank you
> If you'd prefer to run the website locally without Docker, see [Running the website locally using Hugo](#running-the-site-locally-using-hugo) below.
If you have Docker [up and running](https://www.docker.com/get-started), build the `kubernetes-hugo` Docker image locally:
```bash
make docker-image
```
Once the image has been built, you can run the website locally:
```bash
make docker-serve
```
Open up your browser to http://localhost:1313 to view the website. As you make changes to the source files, Hugo updates the website and forces a browser refresh.
## Running the website locally using Hugo
See the [official Hugo documentation](https://gohugo.io/getting-started/installing/) for Hugo installation instructions. Make sure to install the Hugo version specified by the `HUGO_VERSION` environment variable in the [`netlify.toml`](netlify.toml#L9) file.
To run the website locally when you have Hugo installed:
```bash
make serve
```
This will start the local Hugo server on port 1313. Open up your browser to http://localhost:1313 to view the website. As you make changes to the source files, Hugo updates the website and forces a browser refresh.
## Community, discussion, contribution, and support
Learn how to engage with the Kubernetes community on the [community page](http://kubernetes.io/community/).
You can reach the maintainers of this project at:
- [Slack](https://kubernetes.slack.com/messages/sig-docs)
- [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-docs)
### Code of conduct
Participation in the Kubernetes community is governed by the [Kubernetes Code of Conduct](code-of-conduct.md).
## Thank you!
Kubernetes thrives on community participation, and we appreciate your contributions to our website and our documentation!
-19
View File
@@ -1,19 +0,0 @@
# Security Policy
## Security Announcements
Join the [kubernetes-security-announce] group for security and vulnerability announcements.
## Reporting a Vulnerability
Instructions for reporting a vulnerability can be found on the
[Kubernetes Security and Disclosure Information] page.
## Supported Versions
Information about supported Kubernetes versions can be found on the
[Kubernetes version and version skew support policy] page on the Kubernetes website.
[kubernetes-security-announce]: https://groups.google.com/forum/#!forum/kubernetes-security-announce
[Kubernetes version and version skew support policy]: https://kubernetes.io/docs/setup/release/version-skew-policy/#supported-versions
[Kubernetes Security and Disclosure Information]: https://kubernetes.io/docs/reference/issues-security/security/#report-a-vulnerability
+4 -4
View File
@@ -1,6 +1,6 @@
# Defined below are the security contacts for this repo.
#
# They are the contact point for the Security Response Committee to reach out
# They are the contact point for the Product Security Committee to reach out
# to for triaging and handling of incoming issues.
#
# The below names agree to abide by the
@@ -10,6 +10,6 @@
# DO NOT REPORT SECURITY VULNERABILITIES DIRECTLY TO THESE NAMES, FOLLOW THE
# INSTRUCTIONS AT https://kubernetes.io/security/
divya-mohan0209
jimangel
sftim
chenopis
bradamant3
zacharysarah
File diff suppressed because it is too large Load Diff
-719
View File
@@ -1,719 +0,0 @@
- definition: io.k8s.api.core.v1.PodSpec
field_categories:
- name: Containers
fields:
- containers
- initContainers
- imagePullSecrets
- enableServiceLinks
- os
- name: Volumes
fields:
- volumes
- name: Scheduling
fields:
- nodeSelector
- nodeName
- affinity
- tolerations
- schedulerName
- runtimeClassName
- priorityClassName
- priority
- topologySpreadConstraints
- name: Lifecycle
fields:
- restartPolicy
- terminationGracePeriodSeconds
- activeDeadlineSeconds
- readinessGates
- name: Hostname and Name resolution
fields:
- hostname
- setHostnameAsFQDN
- subdomain
- hostAliases
- dnsConfig
- dnsPolicy
- name: Hosts namespaces
fields:
- hostNetwork
- hostPID
- hostIPC
- shareProcessNamespace
- name: Service account
fields:
- serviceAccountName
- automountServiceAccountToken
- name: Security context
fields:
- securityContext
- name: Beta level
fields:
- ephemeralContainers
- preemptionPolicy
- overhead
- name: Deprecated
fields:
- serviceAccount
- definition: io.k8s.api.core.v1.PodSecurityContext
field_categories:
- fields:
- runAsUser
- runAsNonRoot
- runAsGroup
- supplementalGroups
- fsGroup
- fsGroupChangePolicy
- seccompProfile
- seLinuxOptions
- sysctls
- windowsOptions
- definition: io.k8s.api.core.v1.Toleration
field_categories:
- fields:
- key
- operator
- value
- effect
- tolerationSeconds
- definition: io.k8s.api.core.v1.PodStatus
field_categories:
- fields:
- nominatedNodeName
- hostIP
- startTime
- phase
- message
- reason
- podIP
- podIPs
- conditions
- qosClass
- initContainerStatuses
- containerStatuses
- ephemeralContainerStatuses
- definition: io.k8s.api.core.v1.Container
field_categories:
- fields:
- name
- name: Image
fields:
- image
- imagePullPolicy
- name: Entrypoint
fields:
- command
- args
- workingDir
- name: Ports
fields:
- ports
- name: Environment variables
fields:
- env
- envFrom
- name: Volumes
fields:
- volumeMounts
- volumeDevices
- name: Resources
fields:
- resources
- name: Lifecycle
fields:
- lifecycle
- terminationMessagePath
- terminationMessagePolicy
- livenessProbe
- readinessProbe
- startupProbe
- name: Security Context
fields:
- securityContext
- name: Debugging
fields:
- stdin
- stdinOnce
- tty
- definition: io.k8s.api.core.v1.Probe
field_categories:
- fields:
- exec
- httpGet
- tcpSocket
- initialDelaySeconds
- terminationGracePeriodSeconds
- periodSeconds
- timeoutSeconds
- failureThreshold
- successThreshold
- grpc
- definition: io.k8s.api.core.v1.SecurityContext
field_categories:
- fields:
- runAsUser
- runAsNonRoot
- runAsGroup
- readOnlyRootFilesystem
- procMount
- privileged
- allowPrivilegeEscalation
- capabilities
- seccompProfile
- seLinuxOptions
- windowsOptions
- definition: io.k8s.api.core.v1.ContainerStatus
field_categories:
- fields:
- name
- image
- imageID
- containerID
- state
- lastState
- ready
- restartCount
- started
- definition: io.k8s.api.core.v1.ContainerStateTerminated
field_categories:
- fields:
- containerID
- exitCode
- startedAt
- finishedAt
- message
- reason
- signal
- definition: io.k8s.api.core.v1.EphemeralContainer
field_categories:
- fields:
- name
- targetContainerName
- name: Image
fields:
- image
- imagePullPolicy
- name: Entrypoint
fields:
- command
- args
- workingDir
- name: Environment variables
fields:
- env
- envFrom
- name: Volumes
fields:
- volumeMounts
- volumeDevices
- name: Lifecycle
fields:
- terminationMessagePath
- terminationMessagePolicy
- name: Debugging
fields:
- stdin
- stdinOnce
- tty
- name: Security context
fields:
- securityContext
- name: Not allowed
fields:
- ports
- resources
- lifecycle
- livenessProbe
- readinessProbe
- startupProbe
- definition: io.k8s.api.core.v1.ReplicationControllerSpec
field_categories:
- fields:
- selector
- template
- replicas
- minReadySeconds
- definition: io.k8s.api.core.v1.ReplicationControllerStatus
field_categories:
- fields:
- replicas
- availableReplicas
- readyReplicas
- fullyLabeledReplicas
- conditions
- observedGeneration
- definition: io.k8s.api.apps.v1.ReplicaSetSpec
field_categories:
- fields:
- selector
- template
- replicas
- minReadySeconds
- definition: io.k8s.api.apps.v1.ReplicaSetStatus
field_categories:
- fields:
- replicas
- availableReplicas
- readyReplicas
- fullyLabeledReplicas
- conditions
- observedGeneration
- definition: io.k8s.api.apps.v1.DeploymentSpec
field_categories:
- fields:
- selector
- template
- replicas
- minReadySeconds
- strategy
- revisionHistoryLimit
- progressDeadlineSeconds
- paused
- definition: io.k8s.api.apps.v1.DeploymentStatus
field_categories:
- fields:
- replicas
- availableReplicas
- readyReplicas
- unavailableReplicas
- updatedReplicas
- collisionCount
- conditions
- observedGeneration
- definition: io.k8s.api.apps.v1.DeploymentStrategy
field_categories:
- fields:
- type
- rollingUpdate
- definition: io.k8s.api.apps.v1.StatefulSetSpec
field_categories:
- fields:
- serviceName
- selector
- template
- replicas
- updateStrategy
- podManagementPolicy
- revisionHistoryLimit
- volumeClaimTemplates
- minReadySeconds
- persistentVolumeClaimRetentionPolicy
- definition: io.k8s.api.apps.v1.StatefulSetUpdateStrategy
field_categories:
- fields:
- type
- rollingUpdate
- definition: io.k8s.api.apps.v1.StatefulSetStatus
field_categories:
- fields:
- replicas
- readyReplicas
- currentReplicas
- updatedReplicas
- availableReplicas
- collisionCount
- conditions
- currentRevision
- updateRevision
- observedGeneration
- definition: io.k8s.api.apps.v1.DaemonSetSpec
field_categories:
- fields:
- selector
- template
- minReadySeconds
- updateStrategy
- revisionHistoryLimit
- definition: io.k8s.api.apps.v1.DaemonSetUpdateStrategy
field_categories:
- fields:
- type
- rollingUpdate
- definition: io.k8s.api.apps.v1.DaemonSetStatus
field_categories:
- fields:
- numberReady
- numberAvailable
- numberUnavailable
- numberMisscheduled
- desiredNumberScheduled
- currentNumberScheduled
- updatedNumberScheduled
- collisionCount
- conditions
- observedGeneration
- definition: io.k8s.api.batch.v1.JobSpec
field_categories:
- name: Replicas
fields:
- template
- parallelism
- name: Lifecycle
fields:
- completions
- completionMode
- backoffLimit
- activeDeadlineSeconds
- ttlSecondsAfterFinished
- suspend
- name: Selector
fields:
- selector
- manualSelector
- definition: io.k8s.api.batch.v1.JobStatus
field_categories:
- fields:
- startTime
- completionTime
- active
- failed
- succeeded
- completedIndexes
- conditions
- uncountedTerminatedPods
- name: Alpha level
fields:
- ready
- definition: io.k8s.api.batch.v1.CronJobSpec
field_categories:
- fields:
- jobTemplate
- schedule
- timeZone
- concurrencyPolicy
- startingDeadlineSeconds
- suspend
- successfulJobsHistoryLimit
- failedJobsHistoryLimit
- definition: io.k8s.api.autoscaling.v2beta2.HorizontalPodAutoscalerSpec
field_categories:
- fields:
- maxReplicas
- scaleTargetRef
- minReplicas
- behavior
- metrics
- definition: io.k8s.api.autoscaling.v2beta2.HPAScalingPolicy
field_categories:
- fields:
- type
- value
- periodSeconds
- definition: io.k8s.api.autoscaling.v2.HorizontalPodAutoscalerSpec
field_categories:
- fields:
- maxReplicas
- scaleTargetRef
- minReplicas
- behavior
- metrics
- definition: io.k8s.api.autoscaling.v2.HPAScalingPolicy
field_categories:
- fields:
- type
- value
- periodSeconds
- definition: io.k8s.api.core.v1.ServiceSpec
field_categories:
- fields:
- selector
- ports
- type
- ipFamilies
- ipFamilyPolicy
- clusterIP
- clusterIPs
- externalIPs
- sessionAffinity
- loadBalancerIP
- loadBalancerSourceRanges
- loadBalancerClass
- externalName
- externalTrafficPolicy
- internalTrafficPolicy
- healthCheckNodePort
- publishNotReadyAddresses
- sessionAffinityConfig
- allocateLoadBalancerNodePorts
- definition: io.k8s.api.core.v1.ServicePort
field_categories:
- fields:
- port
- targetPort
- protocol
- name
- nodePort
- appProtocol
- definition: io.k8s.api.core.v1.EndpointSubset
field_categories:
- fields:
- addresses
- notReadyAddresses
- ports
- definition: io.k8s.api.core.v1.EndpointPort
field_categories:
- fields:
- port
- protocol
- name
- appProtocol
- definition: io.k8s.api.discovery.v1.EndpointPort
field_categories:
- fields:
- port
- protocol
- name
- appProtocol
- definition: io.k8s.api.core.v1.Volume
field_categories:
- fields:
- name
- name: Exposed Persistent volumes
fields:
- persistentVolumeClaim
- name: Projections
fields:
- configMap
- secret
- downwardAPI
- projected
- name: Local / Temporary Directory
fields:
- emptyDir
- hostPath
- name: Persistent volumes
fields:
- awsElasticBlockStore
- azureDisk
- azureFile
- cephfs
- cinder
- csi
- fc
- flexVolume
- flocker
- gcePersistentDisk
- glusterfs
- iscsi
- nfs
- photonPersistentDisk
- portworxVolume
- quobyte
- rbd
- scaleIO
- storageos
- vsphereVolume
- name: Alpha level
fields:
- ephemeral
- name: Deprecated
fields:
- gitRepo
- definition: io.k8s.api.core.v1.ConfigMapVolumeSource
field_categories:
- fields:
- name
- optional
- defaultMode
- items
- definition: io.k8s.api.core.v1.SecretVolumeSource
field_categories:
- fields:
- secretName
- optional
- defaultMode
- items
- definition: io.k8s.api.core.v1.ConfigMapProjection
field_categories:
- fields:
- name
- optional
- items
- definition: io.k8s.api.core.v1.SecretProjection
field_categories:
- fields:
- name
- optional
- items
- definition: io.k8s.api.core.v1.ProjectedVolumeSource
field_categories:
- fields:
- defaultMode
- sources
- definition: io.k8s.api.core.v1.PersistentVolumeClaimSpec
field_categories:
- fields:
- accessModes
- selector
- resources
- volumeName
- storageClassName
- volumeMode
- name: Alpha level
fields:
- dataSource
- dataSourceRef
- definition: io.k8s.api.core.v1.PersistentVolumeSpec
field_categories:
- fields:
- accessModes
- capacity
- claimRef
- mountOptions
- nodeAffinity
- persistentVolumeReclaimPolicy
- storageClassName
- volumeMode
- name: Local
fields:
- hostPath
- local
- name: Persistent volumes
fields:
- awsElasticBlockStore
- azureDisk
- azureFile
- cephfs
- cinder
- csi
- fc
- flexVolume
- flocker
- gcePersistentDisk
- glusterfs
- iscsi
- nfs
- photonPersistentDisk
- portworxVolume
- quobyte
- rbd
- scaleIO
- storageos
- vsphereVolume
- definition: io.k8s.api.rbac.v1.PolicyRule
field_categories:
- fields:
- apiGroups
- resources
- verbs
- resourceNames
- nonResourceURLs
- definition: io.k8s.api.networking.v1.NetworkPolicySpec
field_categories:
- fields:
- podSelector
- policyTypes
- ingress
- egress
- definition: io.k8s.api.networking.v1.NetworkPolicyEgressRule
field_categories:
- fields:
- to
- ports
- definition: io.k8s.api.networking.v1.NetworkPolicyPort
field_categories:
- fields:
- port
- endPort
- protocol
- definition: io.k8s.api.policy.v1beta1.PodSecurityPolicySpec
field_categories:
- fields:
- runAsUser
- runAsGroup
- fsGroup
- supplementalGroups
- seLinux
- readOnlyRootFilesystem
- privileged
- allowPrivilegeEscalation
- defaultAllowPrivilegeEscalation
- allowedCSIDrivers
- allowedCapabilities
- requiredDropCapabilities
- defaultAddCapabilities
- allowedFlexVolumes
- allowedHostPaths
- allowedProcMountTypes
- allowedUnsafeSysctls
- forbiddenSysctls
- hostIPC
- hostNetwork
- hostPID
- hostPorts
- runtimeClass
- volumes
- definition: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
field_categories:
- fields:
- name
- generateName
- namespace
- labels
- annotations
- name: System
fields:
- finalizers
- managedFields
- ownerReferences
- name: Read-only
fields:
- creationTimestamp
- deletionGracePeriodSeconds
- deletionTimestamp
- generation
- resourceVersion
- selfLink
- uid
- name: Ignored
fields:
- clusterName
-270
View File
@@ -1,270 +0,0 @@
# Copyright 2016 The Kubernetes Authors.
# Copyright 2020 Philippe Martin
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
parts:
- name: Workload Resources
chapters:
- name: Pod
group: ""
version: v1
otherDefinitions:
- PodSpec
- Container
- EphemeralContainer
- LifecycleHandler
- NodeAffinity
- PodAffinity
- PodAntiAffinity
- Probe
- PodStatus
- PodList
- name: PodTemplate
group: ""
version: v1
- name: ReplicationController
group: ""
version: v1
- name: ReplicaSet
group: apps
version: v1
- name: Deployment
group: apps
version: v1
- name: StatefulSet
group: apps
version: v1
- name: ControllerRevision
group: apps
version: v1
- name: DaemonSet
group: apps
version: v1
- name: Job
group: batch
version: v1
- name: CronJob
group: batch
version: v1
- name: HorizontalPodAutoscaler
group: autoscaling
version: v1
- name: HorizontalPodAutoscaler
group: autoscaling
version: v2
- name: HorizontalPodAutoscaler
group: autoscaling
version: v2beta2
- name: PriorityClass
group: scheduling.k8s.io
version: v1
- name: Service Resources
chapters:
- name: Service
group: ""
version: v1
- name: Endpoints
group: ""
version: v1
- name: EndpointSlice
group: discovery.k8s.io
version: v1
- name: Ingress
group: networking.k8s.io
version: v1
otherDefinitions:
- IngressSpec
- IngressBackend
- IngressStatus
- IngressList
- name: IngressClass
group: networking.k8s.io
version: v1
- name: Config and Storage Resources
chapters:
- name: ConfigMap
group: ""
version: v1
- name: Secret
group: ""
version: v1
- name: Volume
key: io.k8s.api.core.v1.Volume
otherDefinitions:
- DownwardAPIVolumeFile
- KeyToPath
- name: PersistentVolumeClaim
group: ""
version: v1
- name: PersistentVolume
group: ""
version: v1
- name: StorageClass
group: storage.k8s.io
version: v1
- name: VolumeAttachment
group: storage.k8s.io
version: v1
- name: CSIDriver
group: storage.k8s.io
version: v1
- name: CSINode
group: storage.k8s.io
version: v1
- name: CSIStorageCapacity
group: storage.k8s.io
version: v1
- name: Authentication Resources
chapters:
- name: ServiceAccount
group: ""
version: v1
- name: TokenRequest
group: authentication.k8s.io
version: v1
- name: TokenReview
group: authentication.k8s.io
version: v1
- name: CertificateSigningRequest
group: certificates.k8s.io
version: v1
- name: Authorization Resources
chapters:
- name: LocalSubjectAccessReview
group: authorization.k8s.io
version: v1
- name: SelfSubjectAccessReview
group: authorization.k8s.io
version: v1
- name: SelfSubjectRulesReview
group: authorization.k8s.io
version: v1
- name: SubjectAccessReview
group: authorization.k8s.io
version: v1
- name: ClusterRole
group: rbac.authorization.k8s.io
version: v1
- name: ClusterRoleBinding
group: rbac.authorization.k8s.io
version: v1
- name: Role
group: rbac.authorization.k8s.io
version: v1
- name: RoleBinding
group: rbac.authorization.k8s.io
version: v1
- name: Policy Resources
chapters:
- name: LimitRange
group: ""
version: v1
- name: ResourceQuota
group: ""
version: v1
- name: NetworkPolicy
group: networking.k8s.io
version: v1
- name: PodDisruptionBudget
group: policy
version: v1
- name: PodSecurityPolicy
group: policy
version: v1beta1
- name: Extend Resources
chapters:
- name: CustomResourceDefinition
group: apiextensions.k8s.io
version: v1
otherDefinitions:
- CustomResourceDefinitionSpec
- JSONSchemaProps
- CustomResourceDefinitionStatus
- CustomResourceDefinitionList
- name: MutatingWebhookConfiguration
group: admissionregistration.k8s.io
version: v1
- name: ValidatingWebhookConfiguration
group: admissionregistration.k8s.io
version: v1
- name: Cluster Resources
chapters:
- name: Node
group: ""
version: v1
- name: Namespace
group: ""
version: v1
- name: Event
group: events.k8s.io
version: v1
- name: APIService
group: apiregistration.k8s.io
version: v1
- name: Lease
group: coordination.k8s.io
version: v1
- name: RuntimeClass
group: node.k8s.io
version: v1
- name: FlowSchema
group: flowcontrol.apiserver.k8s.io
version: v1beta2
- name: PriorityLevelConfiguration
group: flowcontrol.apiserver.k8s.io
version: v1beta2
- name: Binding
group: ""
version: v1
- name: ComponentStatus
group: ""
version: v1
- name: Common Definitions
chapters:
- name: DeleteOptions
key: io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions
- name: LabelSelector
key: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector
- name: ListMeta
key: io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta
- name: LocalObjectReference
key: io.k8s.api.core.v1.LocalObjectReference
- name: NodeSelectorRequirement
key: io.k8s.api.core.v1.NodeSelectorRequirement
- name: ObjectFieldSelector
key: io.k8s.api.core.v1.ObjectFieldSelector
- name: ObjectMeta
key: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
- name: ObjectReference
key: io.k8s.api.core.v1.ObjectReference
- name: Patch
key: io.k8s.apimachinery.pkg.apis.meta.v1.Patch
- name: Quantity
key: "io.k8s.apimachinery.pkg.api.resource.Quantity"
- name: ResourceFieldSelector
key: io.k8s.api.core.v1.ResourceFieldSelector
- name: Status
key: io.k8s.apimachinery.pkg.apis.meta.v1.Status
- name: TypedLocalObjectReference
key: io.k8s.api.core.v1.TypedLocalObjectReference
skippedResources:
- APIGroup
- APIGroupList
- APIResourceList
- APIVersions
- Eviction
- Scale
- Status
- StorageVersion
- StorageVersionList
@@ -1,83 +0,0 @@
---
api_metadata:
apiVersion: "{{.ApiVersion}}"
import: "{{.Import}}"
kind: "{{.Kind}}"
content_type: "api_reference"
description: "{{.Metadata.Description}}"
title: "{{.Metadata.Title}}"
weight: {{.Metadata.Weight}}
auto_generated: true
---
<!--
The file is auto-generated from the Go source code of the component using a generic
[generator](https://github.com/kubernetes-sigs/reference-docs/). To learn how
to generate the reference documentation, please read
[Contributing to the reference documentation](/docs/contribute/generate-ref-docs/).
To update the reference content, please follow the
[Contributing upstream](/docs/contribute/generate-ref-docs/contribute-upstream/)
guide. You can file document formatting bugs against the
[reference-docs](https://github.com/kubernetes-sigs/reference-docs/) project.
-->
{{if .ApiVersion}}`apiVersion: {{.ApiVersion}}`{{end}}
{{if .Import}}`import "{{.Import}}"`{{end}}
{{range .Sections}}
{{.Description | replace "<" "\\<" }}
<hr>
{{range .Fields}}
{{ "" | indent .Indent | indent .Indent}}- {{.Name}}{{if .Value}}: {{.Value}}{{end}}
{{if .Description}}
{{.Description | replace "<" "\\<" | indent 2 | indent .Indent | indent .Indent}}
{{- end}}
{{if .TypeDefinition}}
{{ "" | indent .Indent | indent .Indent}} <a name="{{.Type}}"></a>
{{.TypeDefinition | indent 2 | indent .Indent | indent .Indent}}
{{end}}
{{- end}}{{/* range .Fields */}}
{{range .FieldCategories}}
### {{.Name}} {#{{"-" | regexReplaceAll "[^a-zA-Z0-9]+" .Name }}}{{/* explicitly set fragment to keep capitalization */}}
{{range .Fields}}
{{ "" | indent .Indent | indent .Indent}}- {{.Name}}{{if .Value}}: {{.Value}}{{end}}
{{if .Description}}
{{.Description | replace "<" "\\<" | indent 2 | indent .Indent | indent .Indent}}
{{- end}}
{{if .TypeDefinition}}
{{ "" | indent .Indent | indent .Indent}} <a name="{{.Type}}"></a>
{{.TypeDefinition | indent 2 | indent .Indent | indent .Indent}}
{{end}}
{{- end}}{{/* range .Fields */}}
{{- end}}{{/* range .FieldCategories */}}
{{range .Operations}}
### `{{.Verb}}` {{.Title}}
#### HTTP Request
{{.RequestMethod}} {{.RequestPath}}
#### Parameters
{{range .Parameters}}
- {{.Title}}
{{.Description | indent 2}}
{{end}}{{/* range .Parameters */}}
#### Response
{{range .Responses}}
{{.Code}}{{if .Type}} ({{.Type}}){{end}}: {{.Description}}
{{end}}{{/* range .Responses */}}
{{- end}}{{/* range .Operations */}}
{{- end}}{{/* range .Sections */}}
-85
View File
@@ -1,85 +0,0 @@
---
api_metadata:
apiVersion: "{{.ApiVersion}}"
import: "{{.Import}}"
kind: "{{.Kind}}"
content_type: "api_reference"
description: "{{.Metadata.Description}}"
title: "{{.Metadata.Title}}"
weight: {{.Metadata.Weight}}
auto_generated: true
---
<!--
The file is auto-generated from the Go source code of the component using a generic
[generator](https://github.com/kubernetes-sigs/reference-docs/). To learn how
to generate the reference documentation, please read
[Contributing to the reference documentation](/docs/contribute/generate-ref-docs/).
To update the reference content, please follow the
[Contributing upstream](/docs/contribute/generate-ref-docs/contribute-upstream/)
guide. You can file document formatting bugs against the
[reference-docs](https://github.com/kubernetes-sigs/reference-docs/) project.
-->
{{if .ApiVersion}}`apiVersion: {{.ApiVersion}}`{{end}}
{{if .Import}}`import "{{.Import}}"`{{end}}
{{range .Sections}}
## {{.Name}} {#{{"-" | regexReplaceAll "[^a-zA-Z0-9]+" .Name }}}{{/* explicitly set fragment to keep capitalization */}}
{{.Description | replace "<" "\\<" }}
<hr>
{{range .Fields}}
{{ "" | indent .Indent | indent .Indent}}- {{.Name}}{{if .Value}}: {{.Value}}{{end}}
{{if .Description}}
{{.Description | replace "<" "\\<" | indent 2 | indent .Indent | indent .Indent}}
{{- end}}
{{if .TypeDefinition}}
{{ "" | indent .Indent | indent .Indent}} <a name="{{.Type}}"></a>
{{.TypeDefinition | indent 2 | indent .Indent | indent .Indent}}
{{end}}
{{- end}}{{/* range .Fields */}}
{{range .FieldCategories}}
### {{.Name}}
{{range .Fields}}
{{ "" | indent .Indent | indent .Indent}}- {{.Name}}{{if .Value}}: {{.Value}}{{end}}
{{if .Description}}
{{.Description | replace "<" "\\<" | indent 2 | indent .Indent | indent .Indent}}
{{- end}}
{{if .TypeDefinition}}
{{ "" | indent .Indent | indent .Indent}} <a name="{{.Type}}"></a>
{{.TypeDefinition | indent 2 | indent .Indent | indent .Indent}}
{{end}}
{{- end}}{{/* range .Fields */}}
{{- end}}{{/* range .FieldCategories */}}
{{range .Operations}}
### `{{.Verb}}` {{.Title}}
#### HTTP Request
{{.RequestMethod}} {{.RequestPath}}
#### Parameters
{{range .Parameters}}
- {{.Title}}
{{.Description | indent 2}}
{{end}}{{/* range .Parameters */}}
#### Response
{{range .Responses}}
{{.Code}}{{if .Type}} ({{.Type}}){{end}}: {{.Description}}
{{end}}{{/* range .Responses */}}
{{- end}}{{/* range .Operations */}}
{{- end}}{{/* range .Sections */}}
-17
View File
@@ -1,17 +0,0 @@
---
title: "{{.Title}}"
weight: {{.Weight}}
auto_generated: true
---
<!--
The file is auto-generated from the Go source code of the component using a generic
[generator](https://github.com/kubernetes-sigs/reference-docs/). To learn how
to generate the reference documentation, please read
[Contributing to the reference documentation](/docs/contribute/generate-ref-docs/).
To update the reference content, please follow the
[Contributing upstream](/docs/contribute/generate-ref-docs/contribute-upstream/)
guide. You can file document formatting bugs against the
[reference-docs](https://github.com/kubernetes-sigs/reference-docs/) project.
-->
-61
View File
@@ -1,61 +0,0 @@
---
layout: blog
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: true
slug: <seo-friendly-version-of-title-separated-by-dashes>
---
**Author:** <your name> (<your organization name>), <another author's name> (<their organization>)
<!--
Instructions:
- Replace these instructions and the following text with your content.
- Replace `<angle bracket placeholders>` with actual values. For example, you would update `date: <yyyy>-<mm>-<dd>` to look something like `date: 2021-10-21`.
- For convenience, use third-party tools to author and collaborate on your content.
- To save time and effort in reviews, check your content's spelling, grammar, and style before contributing.
- Feel free to ask for assistance in the Kubernetes Slack channel, [#sig-docs-blog](https://kubernetes.slack.com/archives/CJDHVD54J).
-->
Replace this first line of your content with one to three sentences that summarize the blog post.
## This is a section heading
To help the reader, organize your content into sections that contain about three to six paragraphs.
If you're documenting commands, separate the commands from the outputs, like this:
1. Verify that the Secret exists by running the following command:
```shell
kubectl get secrets
```
The response should be like this:
```shell
NAME TYPE DATA AGE
mysql-pass-c57bb4t7mf Opaque 1 9s
```
You're free to create any sections you like. Below are a few common patterns we see at the end of blog posts.
## Whats next?
This optional section describes the future of the thing you've just described in the post.
## How can I learn more?
This optional section provides links to more information. Please avoid promoting and over-represent your organization.
## How do I get involved?
An optional section that links to resources for readers to get involved, and acknowledgments of individual contributors, such as:
* [The name of a channel on Slack, #a-channel](https://<a-workspace>.slack.com/messages/<a-channel>)
* [A link to a "contribute" page with more information](<https://github.com/kubernetes/community/blob/master/sig-storage/README.md#contact>).
* Acknowledgements and thanks to the contributors. <person's name> ([<github id>](https://github.com/<github id>)) who did X, Y, and Z.
* Those interested in getting involved with the design and development of <project>, join the [<name of the SIG>](https://github.com/project/community/tree/master/<sig-group>). Were rapidly growing and always welcome new contributors.
-12
View File
@@ -1,12 +0,0 @@
---
title: "{{ replace .Name "-" " " | title }}"
content_type: concept
---
<!-- overview -->
<!-- body -->
<!-- Optional section; add links to information related to this topic. -->
## {{% heading "whatsnext" %}}
-21
View File
@@ -1,21 +0,0 @@
---
title: "{{ replace .Name "-" " " | title }}"
content_type: task
---
<!-- overview -->
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}}
<!-- If you set the min-kubernetes-server-version parameter in the page's front matter,
add the version check shortcode {{< version-check >}}.
-->
<!-- steps -->
<!-- discussion -->
<!-- Optional section; add links to information related to this topic. -->
## {{% heading "whatsnext" %}}
-19
View File
@@ -1,19 +0,0 @@
---
title: "{{ replace .Name "-" " " | title }}"
content_type: tutorial
---
<!-- overview -->
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}}
## {{% heading "objectives" %}}
<!-- lessoncontent -->
## {{% heading "cleanup" %}}
<!-- Optional section; add links to information related to this topic. -->
## {{% heading "whatsnext" %}}
-110
View File
@@ -1,110 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 503.1 89.5" style="enable-background:new 0 0 503.1 89.5;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;stroke:#FFFFFF;stroke-width:5;stroke-miterlimit:10;}
.st1{fill:#326DE6;}
.st2{fill:#FFFFFF;}
</style>
<title>Kubernetes_Logo_Hrz_lockup_REV</title>
<g id="Layer_2">
<g id="Layer_1-2">
<path class="st0" d="M82.3,21.3c-0.5-1.6-1.7-2.9-3.2-3.7L48.6,3c-0.8-0.4-1.7-0.5-2.5-0.5c-0.8,0-1.7,0-2.5,0.2L13.1,17.4
c-1.5,0.7-2.6,2-3,3.7L2.6,54c-0.3,1.7,0.1,3.4,1.1,4.8l21.1,26.1c1.2,1.2,2.9,2,4.6,2.1H63c1.8,0.2,3.5-0.6,4.6-2.1l21.1-26.1
c1-1.4,1.4-3.1,1.2-4.8L82.3,21.3z"/>
<path class="st1" d="M82.3,21.3c-0.5-1.6-1.7-2.9-3.2-3.7L48.6,3c-0.8-0.4-1.7-0.5-2.5-0.5c-0.8,0-1.7,0-2.5,0.2L13.1,17.4
c-1.5,0.7-2.6,2-3,3.7L2.6,54c-0.3,1.7,0.1,3.4,1.1,4.8l21.1,26.1c1.2,1.2,2.9,2,4.6,2.1H63c1.8,0.2,3.5-0.6,4.6-2.1l21.1-26.1
c1-1.4,1.4-3.1,1.2-4.8L82.3,21.3z"/>
<path class="st2" d="M77.6,52.7L77.6,52.7c-0.1,0-0.2,0-0.2-0.1s-0.2-0.1-0.4-0.1c-0.4-0.1-0.8-0.1-1.2-0.1c-0.2,0-0.4,0-0.6-0.1
h-0.1c-1.1-0.1-2.3-0.3-3.4-0.6c-0.3-0.1-0.6-0.4-0.7-0.7C71.1,51,71,51,71,51l0,0l-0.8-0.2c0.4-2.9,0.2-5.9-0.4-8.8
c-0.7-2.9-1.9-5.7-3.5-8.2l0.6-0.6l0,0v-0.1c0-0.3,0.1-0.7,0.3-0.9c0.9-0.8,1.8-1.4,2.8-2l0,0c0.2-0.1,0.4-0.2,0.6-0.3
c0.4-0.2,0.7-0.4,1.1-0.6c0.1-0.1,0.2-0.1,0.3-0.2S72,29,72,28.9l0,0c0.9-0.7,1.1-1.9,0.4-2.8c-0.3-0.4-0.9-0.7-1.4-0.7
c-0.5,0-1,0.2-1.4,0.5l0,0l-0.1,0.1c-0.1,0.1-0.2,0.2-0.3,0.2c-0.3,0.3-0.6,0.6-0.8,0.9c-0.1,0.2-0.3,0.3-0.4,0.4l0,0
c-0.7,0.8-1.6,1.6-2.5,2.2c-0.2,0.1-0.4,0.2-0.6,0.2c-0.1,0-0.3,0-0.4-0.1h-0.1l-0.8,0.5c-0.8-0.8-1.7-1.6-2.5-2.4
c-3.7-2.9-8.3-4.7-13-5.2l-0.1-0.8l0,0L48,22c-0.3-0.2-0.4-0.5-0.5-0.8c0-1.1,0-2.2,0.2-3.4v-0.1c0-0.2,0.1-0.4,0.1-0.6
c0.1-0.4,0.1-0.8,0.2-1.2v-0.6l0,0c0.1-1-0.7-2-1.7-2.1c-0.6-0.1-1.2,0.2-1.7,0.7c-0.4,0.4-0.6,0.9-0.6,1.4l0,0v0.5
c0,0.4,0.1,0.8,0.2,1.2c0.1,0.2,0.1,0.4,0.1,0.6v0.1c0.2,1.1,0.2,2.2,0.2,3.4c-0.1,0.3-0.2,0.6-0.5,0.8L44,22.1l0,0l-0.1,0.8
c-1.1,0.1-2.2,0.3-3.4,0.5c-4.7,1-9,3.5-12.3,7L27.6,30h-0.1c-0.1,0-0.2,0.1-0.4,0.1c-0.2,0-0.4-0.1-0.6-0.2
c-0.9-0.7-1.8-1.5-2.5-2.3l0,0c-0.1-0.2-0.3-0.3-0.4-0.4c-0.3-0.3-0.5-0.6-0.8-0.9c-0.1-0.1-0.2-0.1-0.3-0.2s-0.1-0.1-0.1-0.1l0,0
c-0.4-0.3-0.9-0.5-1.4-0.5c-0.6,0-1.1,0.2-1.4,0.7c-0.6,0.9-0.4,2.1,0.4,2.8l0,0c0.1,0,0.1,0.1,0.1,0.1s0.2,0.2,0.3,0.2
c0.3,0.2,0.7,0.4,1.1,0.6c0.2,0.1,0.4,0.2,0.6,0.3l0,0c1,0.6,2,1.2,2.8,2c0.2,0.2,0.4,0.6,0.3,0.9V33l0,0l0.6,0.6
c-0.1,0.2-0.2,0.3-0.3,0.5C22.4,39,21.1,44.8,22,50.5l-0.8,0.2l0,0c0,0.1-0.1,0.1-0.1,0.1c-0.1,0.3-0.4,0.5-0.7,0.7
c-1.1,0.3-2.2,0.5-3.4,0.6H17c-0.2,0-0.4,0-0.6,0.1c-0.4,0-0.8,0.1-1.2,0.1c-0.1,0-0.2,0.1-0.4,0.1c-0.1,0-0.1,0-0.2,0.1l0,0
c-1.1,0.2-1.8,1.2-1.6,2.3c0,0,0,0,0,0c0.2,0.9,1.1,1.5,2,1.4c0.2,0,0.3,0,0.5-0.1l0,0c0.1,0,0.1,0,0.1-0.1S15.9,56,16,56
c0.4-0.1,0.8-0.3,1.1-0.4c0.2-0.1,0.4-0.2,0.6-0.2h0.1c1.1-0.4,2.1-0.7,3.3-0.9h0.1c0.3,0,0.6,0.1,0.8,0.3c0.1,0,0.1,0.1,0.1,0.1
l0,0l0.9-0.1c1.5,4.6,4.3,8.7,8.2,11.7c0.9,0.7,1.7,1.3,2.7,1.8L33.4,69l0,0c0,0.1,0.1,0.1,0.1,0.1c0.2,0.3,0.2,0.7,0.1,1
c-0.4,1-1,2-1.6,2.9v0.1c-0.1,0.2-0.2,0.3-0.4,0.5s-0.4,0.6-0.7,1c-0.1,0.1-0.1,0.2-0.2,0.3c0,0,0,0.1-0.1,0.1l0,0
c-0.5,1-0.1,2.2,0.8,2.7c0.2,0.1,0.5,0.2,0.7,0.2c0.8,0,1.5-0.5,1.9-1.2l0,0c0,0,0-0.1,0.1-0.1c0-0.1,0.1-0.2,0.2-0.3
c0.1-0.4,0.3-0.7,0.4-1.1l0.2-0.6l0,0c0.3-1.1,0.8-2.1,1.3-3.1c0.2-0.3,0.5-0.5,0.8-0.6c0.1,0,0.1,0,0.1-0.1l0,0l0.4-0.8
c2.8,1.1,5.7,1.6,8.7,1.6c1.8,0,3.6-0.2,5.4-0.7c1.1-0.2,2.2-0.6,3.2-0.9l0.4,0.7l0,0c0.1,0,0.1,0,0.1,0.1
c0.3,0.1,0.6,0.3,0.8,0.6c0.5,1,1,2,1.3,3.1v0.1l0.2,0.6c0.1,0.4,0.2,0.8,0.4,1.1c0.1,0.1,0.1,0.2,0.2,0.3c0,0,0,0.1,0.1,0.1l0,0
c0.4,0.7,1.1,1.2,1.9,1.2c0.3,0,0.5-0.1,0.8-0.2c0.4-0.2,0.8-0.6,0.9-1.1c0.1-0.5,0.1-1-0.1-1.5l0,0c0-0.1-0.1-0.1-0.1-0.1
c0-0.1-0.1-0.2-0.2-0.3c-0.2-0.4-0.4-0.7-0.7-1c-0.1-0.2-0.2-0.3-0.4-0.5V73c-0.7-0.9-1.2-1.9-1.6-2.9c-0.1-0.3-0.1-0.7,0.1-1
c0-0.1,0.1-0.1,0.1-0.1l0,0l-0.3-0.8c5.1-3.1,9-7.9,10.8-13.6l0.8,0.1l0,0c0.1,0,0.1-0.1,0.1-0.1c0.2-0.2,0.5-0.3,0.8-0.3h0.1
c1.1,0.2,2.2,0.5,3.2,0.9h0.1c0.2,0.1,0.4,0.2,0.6,0.2c0.4,0.2,0.7,0.4,1.1,0.5c0.1,0,0.2,0.1,0.4,0.1c0.1,0,0.1,0,0.2,0.1l0,0
c0.2,0.1,0.3,0.1,0.5,0.1c0.9,0,1.7-0.6,2-1.4C79.3,53.7,78.5,52.9,77.6,52.7z M48.7,49.6L46,50.9l-2.7-1.3l-0.7-2.9l1.9-2.4h3
l1.9,2.4L48.7,49.6z M65,43.1c0.5,2.1,0.6,4.2,0.4,6.3l-9.5-2.7l0,0c-0.9-0.2-1.4-1.1-1.2-2c0.1-0.3,0.2-0.5,0.4-0.7l7.5-6.8
C63.7,39,64.5,41,65,43.1z M59.6,33.5l-8.2,5.8c-0.7,0.4-1.7,0.3-2.2-0.4c-0.2-0.2-0.3-0.4-0.3-0.7l-0.6-10.1
C52.7,28.6,56.6,30.5,59.6,33.5L59.6,33.5z M41.5,28.4l2-0.4L43,38l0,0c0,0.9-0.8,1.6-1.7,1.6c-0.3,0-0.5-0.1-0.8-0.2l-8.3-5.9
C34.8,31,38,29.2,41.5,28.4z M29.3,37.2l7.4,6.6l0,0c0.7,0.6,0.8,1.6,0.2,2.3c-0.2,0.3-0.4,0.4-0.8,0.5l-9.7,2.8
C26.1,45.2,27.1,40.9,29.3,37.2z M27.6,54.1l9.9-1.7c0.8,0,1.6,0.5,1.7,1.3c0.1,0.3,0.1,0.7-0.1,1l0,0l-3.8,9.2
C31.8,61.6,29,58.1,27.6,54.1z M50.3,66.5C48.9,66.8,47.5,67,46,67c-2.1,0-4.3-0.4-6.3-1l4.9-8.9c0.5-0.6,1.3-0.8,2-0.4
c0.3,0.2,0.5,0.4,0.8,0.7l0,0l4.8,8.7C51.6,66.2,51,66.3,50.3,66.5z M62.5,57.8c-1.5,2.4-3.6,4.5-6,6l-3.9-9.4
c-0.2-0.8,0.2-1.6,0.9-1.9c0.3-0.1,0.6-0.2,0.9-0.2l10,1.7C63.9,55.4,63.3,56.7,62.5,57.8z"/>
<g id="layer1">
<g id="text4373">
<path id="path2985" class="st2" d="M128.1,48.4c1.1-1.2,2.1-2.4,3.3-3.6c1.1-1.3,2.2-2.5,3.3-3.7c1.1-1.3,2.1-2.4,3-3.5
s1.8-2.1,2.5-2.9H153c-2.6,2.9-5.1,5.8-7.5,8.5c-2.5,2.7-5.1,5.5-8,8.3c1.6,1.5,3.1,3,4.5,4.7c1.5,1.8,3,3.6,4.5,5.6
c1.4,1.9,2.8,3.9,4,5.8c1.2,1.9,2.2,3.7,3,5.3h-12.4c-0.8-1.3-1.7-2.6-2.7-4.1s-2.1-3-3.1-4.6c-1.1-1.5-2.3-3-3.6-4.4
c-1.1-1.3-2.3-2.5-3.6-3.5v16.7h-10.8V18.2l10.8-1.7L128.1,48.4"/>
<path id="path2987" class="st2" d="M191.1,71.4c-2.3,0.6-4.7,1.1-7.1,1.4c-3,0.5-6.1,0.7-9.1,0.7c-2.8,0.1-5.5-0.4-8.1-1.3
c-2-0.8-3.7-2-5.1-3.6c-1.3-1.7-2.2-3.6-2.7-5.7c-0.6-2.3-0.8-4.8-0.8-7.2V34.6H169v19.9c0,3.5,0.5,6,1.4,7.5s2.6,2.3,5.1,2.3
c0.8,0,1.6,0,2.5-0.1s1.6-0.1,2.3-0.3V34.6h10.8L191.1,71.4"/>
<path id="path2989" class="st2" d="M225.7,53.4c0-7-2.6-10.4-7.7-10.4c-1.1,0-2.2,0.1-3.3,0.4c-0.9,0.2-1.8,0.6-2.6,1.1v19.6
c0.5,0.1,1.2,0.2,2,0.3c0.8,0.1,1.7,0.1,2.7,0.1c2.6,0.2,5.1-0.9,6.7-3C225,59.1,225.8,56.3,225.7,53.4 M236.7,53.8
c0,2.8-0.4,5.6-1.4,8.3c-0.8,2.4-2.1,4.5-3.8,6.3c-1.8,1.8-3.9,3.2-6.2,4.1c-2.7,1-5.5,1.4-8.4,1.4c-1.3,0-2.7-0.1-4.1-0.2
c-1.4-0.1-2.8-0.3-4.2-0.4c-1.3-0.2-2.6-0.4-3.9-0.7c-1.3-0.2-2.4-0.5-3.3-0.9V18.2l10.8-1.7v19c1.2-0.5,2.5-0.9,3.8-1.2
c1.4-0.3,2.8-0.4,4.2-0.4c2.5,0,4.9,0.4,7.2,1.5c2,0.9,3.8,2.3,5.2,4c1.5,1.9,2.6,4,3.2,6.3C236.4,48.2,236.7,51,236.7,53.8"/>
<path id="path2991" class="st2" d="M243.2,54c-0.1-3,0.5-6,1.5-8.8c0.9-2.4,2.3-4.5,4.1-6.4c1.7-1.7,3.6-3,5.8-3.8
c2.2-0.9,4.5-1.3,6.8-1.3c5.4,0,9.7,1.7,12.8,5c3.1,3.3,4.7,8.2,4.7,14.5c0,0.6,0,1.3-0.1,2.1s-0.1,1.4-0.1,2h-24.5
c0.2,2.1,1.3,4.1,3.1,5.3c2.2,1.4,4.8,2.1,7.4,2c1.9,0,3.9-0.2,5.8-0.5c1.6-0.3,3.2-0.8,4.7-1.4l1.5,8.8
c-0.7,0.4-1.5,0.6-2.3,0.9c-1.1,0.3-2.2,0.6-3.3,0.7c-1.2,0.2-2.4,0.4-3.8,0.6c-1.3,0.1-2.7,0.2-4.1,0.2c-3.1,0.1-6.1-0.4-9-1.5
c-2.4-0.9-4.5-2.3-6.3-4.1c-1.7-1.8-2.9-4-3.7-6.3C243.6,59.3,243.2,56.7,243.2,54 M268.6,49.9c0-0.9-0.2-1.8-0.5-2.7
c-0.2-0.9-0.7-1.6-1.2-2.3c-0.6-0.7-1.3-1.3-2.1-1.7c-1-0.5-2-0.7-3.1-0.7c-1.1,0-2.1,0.2-3.1,0.7c-0.8,0.4-1.6,0.9-2.2,1.6
c-0.6,0.7-1.1,1.5-1.4,2.4c-0.3,0.9-0.5,1.8-0.6,2.7L268.6,49.9"/>
<path id="path2993" class="st2" d="M310.3,44.2c-1-0.2-2.1-0.5-3.4-0.7c-1.4-0.3-2.8-0.4-4.2-0.4c-0.8,0-1.6,0.1-2.5,0.2
c-0.7,0.1-1.4,0.2-2.1,0.4v29.1h-10.8V36.6c2.2-0.8,4.5-1.4,6.8-1.9c2.9-0.7,5.9-1,8.8-0.9c0.7,0,1.4,0.1,2.1,0.1
c0.8,0,1.6,0.1,2.5,0.3c0.8,0.1,1.6,0.2,2.5,0.4c0.7,0.1,1.4,0.3,2.1,0.6L310.3,44.2"/>
<path id="path2995" class="st2" d="M317.9,35.9c2.3-0.6,4.7-1.1,7.1-1.5c3-0.5,6.1-0.7,9.1-0.7c2.7-0.1,5.4,0.4,8,1.3
c2,0.7,3.8,1.9,5.1,3.5c1.3,1.6,2.2,3.5,2.7,5.5c0.6,2.3,0.8,4.7,0.8,7.1v21.5H340V52.5c0-3.5-0.5-5.9-1.4-7.4
c-0.9-1.4-2.6-2.2-5.1-2.2c-0.8,0-1.6,0-2.5,0.1c-0.9,0-1.6,0.1-2.3,0.2v29.4h-10.8L317.9,35.9"/>
<path id="path2997" class="st2" d="M358.9,54c-0.1-3,0.5-6,1.5-8.8c0.9-2.4,2.3-4.5,4.1-6.4c1.7-1.7,3.6-3,5.8-3.8
c2.2-0.9,4.5-1.3,6.8-1.3c5.4,0,9.7,1.7,12.8,5c3.1,3.3,4.7,8.2,4.7,14.6c0,0.6,0,1.3-0.1,2.1s-0.1,1.4-0.1,2h-24.5
c0.2,2.1,1.3,4.1,3.1,5.3c2.2,1.4,4.8,2.1,7.4,2c1.9,0,3.9-0.2,5.8-0.5c1.6-0.3,3.2-0.8,4.8-1.5l1.5,8.8
c-0.7,0.4-1.5,0.6-2.3,0.9c-1.1,0.3-2.2,0.6-3.3,0.7c-1.2,0.2-2.4,0.4-3.8,0.6c-1.3,0.1-2.7,0.2-4.1,0.2c-3.1,0.1-6.1-0.4-9-1.5
c-2.4-0.9-4.5-2.3-6.3-4.1c-1.7-1.8-2.9-4-3.7-6.3C359.2,59.3,358.8,56.6,358.9,54 M384.2,49.9c0-0.9-0.2-1.8-0.5-2.7
c-0.2-0.9-0.7-1.6-1.2-2.3c-0.6-0.7-1.3-1.3-2.1-1.7c-1-0.5-2-0.7-3.1-0.7c-1.1,0-2.1,0.2-3.1,0.7c-0.8,0.4-1.5,0.9-2.1,1.6
c-0.6,0.7-1.1,1.5-1.4,2.4c-0.3,0.9-0.5,1.8-0.6,2.7L384.2,49.9"/>
<path id="path2999" class="st2" d="M402.6,25.1l10.8-1.7v11.2h13v9h-13V57c-0.1,1.9,0.3,3.8,1.2,5.4c0.8,1.3,2.4,2,4.9,2
c1.2,0,2.4-0.1,3.5-0.3c1.2-0.2,2.3-0.5,3.4-0.9l1.5,8.4c-1.4,0.6-2.9,1-4.4,1.4c-1.9,0.4-3.9,0.6-5.9,0.6
c-2.5,0.1-5-0.3-7.3-1.2c-1.8-0.7-3.4-1.9-4.6-3.3c-1.2-1.5-2-3.3-2.5-5.2c-0.5-2.2-0.7-4.5-0.6-6.7V25.1"/>
<path id="path3001" class="st2" d="M431.9,54c-0.1-3,0.5-6,1.5-8.8c0.9-2.4,2.3-4.5,4.1-6.4c1.7-1.7,3.6-3,5.8-3.8
c2.2-0.9,4.5-1.3,6.8-1.3c5.4,0,9.7,1.7,12.8,5s4.7,8.2,4.7,14.6c0,0.6,0,1.3-0.1,2.1c0,0.8-0.1,1.4-0.1,2H443
c0.2,2.1,1.3,4.1,3.1,5.3c2.2,1.4,4.8,2.1,7.4,2c1.9,0,3.9-0.2,5.8-0.5c1.6-0.3,3.2-0.8,4.7-1.5l1.5,8.8
c-0.7,0.4-1.5,0.6-2.3,0.9c-1.1,0.3-2.2,0.6-3.3,0.7c-1.2,0.2-2.4,0.4-3.8,0.6c-1.3,0.1-2.7,0.2-4.1,0.2c-3.1,0.1-6.1-0.4-9-1.5
c-2.4-0.9-4.5-2.3-6.3-4.1c-1.7-1.8-2.9-4-3.7-6.3C432.3,59.3,431.9,56.6,431.9,54 M457.2,49.9c0-0.9-0.2-1.8-0.5-2.7
c-0.2-0.9-0.7-1.6-1.2-2.3c-0.6-0.7-1.3-1.3-2.1-1.7c-1-0.5-2-0.7-3.1-0.7c-1.1,0-2.1,0.2-3.1,0.7c-0.8,0.4-1.6,0.9-2.2,1.6
c-0.6,0.7-1.1,1.5-1.4,2.4c-0.3,0.9-0.5,1.8-0.6,2.7L457.2,49.9"/>
<path id="path3003" class="st2" d="M487,65c1.4,0.1,2.9-0.1,4.2-0.6c0.8-0.4,1.3-1.3,1.2-2.2c-0.1-1-0.7-1.9-1.6-2.2
c-1.5-0.9-3.2-1.7-4.9-2.2c-1.7-0.6-3.2-1.3-4.6-2c-1.3-0.6-2.4-1.4-3.5-2.4c-1-1-1.7-2.1-2.2-3.4c-0.6-1.5-0.8-3.1-0.8-4.7
c-0.1-3.3,1.4-6.5,4-8.5c2.7-2.1,6.3-3.1,10.9-3.1c2.2,0,4.5,0.2,6.7,0.7c1.7,0.3,3.4,0.7,5.1,1.3l-1.9,8.5
c-1.4-0.5-2.7-0.8-4.1-1.2c-1.6-0.4-3.3-0.5-4.9-0.5c-3.4,0-5.1,0.9-5.1,2.8c0,0.4,0.1,0.8,0.2,1.2c0.2,0.4,0.5,0.7,0.9,1
c0.4,0.3,1,0.6,1.7,1c0.7,0.4,1.7,0.8,2.9,1.2c2,0.7,4,1.6,5.8,2.6c1.4,0.7,2.6,1.6,3.6,2.8c0.9,0.9,1.5,2,1.9,3.3
c0.4,1.4,0.6,2.8,0.6,4.2c0.2,3.4-1.4,6.7-4.3,8.6c-2.8,1.9-6.8,2.9-12,2.9c-2.9,0.1-5.7-0.2-8.5-0.9c-1.6-0.4-3.1-0.9-4.6-1.4
l1.8-8.8c1.8,0.7,3.7,1.3,5.6,1.7C483.1,64.8,485,65,487,65"/>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 11 KiB

-108
View File
@@ -1,108 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 500.6 84.5" style="enable-background:new 0 0 500.6 84.5;" xml:space="preserve">
<style type="text/css">
.st0{fill:#326DE6;}
.st1{fill:#FFFFFF;}
.st2{fill:#326DE5;}
</style>
<title>Kubernetes_Logo_Hrz_lockup_POS</title>
<g id="Layer_2">
<g id="Layer_1-2">
<path class="st0" d="M79.8,18.8c-0.5-1.6-1.7-2.9-3.2-3.7L46.1,0.5c-0.8-0.4-1.7-0.5-2.5-0.5c-0.8,0-1.7,0-2.5,0.2L10.6,14.9
c-1.5,0.7-2.6,2-3,3.7L0,51.5c-0.3,1.7,0.1,3.4,1.1,4.8l21.1,26.1c1.2,1.2,2.9,2,4.6,2.1h33.7c1.8,0.2,3.5-0.6,4.6-2.1l21.1-26.1
c1-1.4,1.4-3.1,1.2-4.8L79.8,18.8z"/>
<path class="st1" d="M75,50.2L75,50.2c-0.1,0-0.1,0-0.1-0.1S74.6,50,74.5,50c-0.4-0.1-0.8-0.1-1.2-0.1c-0.2,0-0.4,0-0.6-0.1h-0.1
c-1.1-0.1-2.3-0.3-3.4-0.6c-0.3-0.1-0.6-0.4-0.7-0.7c0-0.1-0.1-0.1-0.1-0.1l0,0l-0.8-0.2c0.4-2.9,0.2-5.9-0.4-8.8
c-0.7-2.9-1.9-5.7-3.5-8.2l0.6-0.6l0,0v-0.1c0-0.3,0.1-0.7,0.3-0.9c0.9-0.7,1.8-1.4,2.8-1.9l0,0c0.2-0.1,0.4-0.2,0.6-0.3
c0.4-0.2,0.7-0.4,1.1-0.6c0.1-0.1,0.2-0.1,0.3-0.2s0.1-0.1,0.1-0.1l0,0c0.9-0.7,1.1-1.9,0.4-2.8c-0.3-0.4-0.9-0.7-1.4-0.7
c-0.5,0-1,0.2-1.4,0.5l0,0l-0.1,0.1c-0.1,0.1-0.2,0.2-0.3,0.2c-0.3,0.3-0.6,0.6-0.8,0.9c-0.1,0.2-0.3,0.3-0.4,0.4l0,0
c-0.8,0.8-1.6,1.6-2.5,2.2c-0.2,0.1-0.4,0.2-0.6,0.2c-0.1,0-0.3,0-0.4-0.1H62L61.2,28c-0.8-0.8-1.7-1.6-2.5-2.4
c-3.7-2.9-8.3-4.7-13-5.2l-0.1-0.8l0,0l-0.1-0.1c-0.3-0.2-0.4-0.5-0.5-0.8c0-1.1,0-2.2,0.2-3.4v-0.1c0-0.2,0.1-0.4,0.1-0.6
c0.1-0.4,0.1-0.8,0.2-1.2v-0.6l0,0c0.1-1-0.7-2-1.7-2c-0.6,0-1.2,0.2-1.6,0.6c-0.4,0.4-0.6,0.9-0.6,1.4l0,0v0.5
c0,0.4,0.1,0.8,0.2,1.2c0.1,0.2,0.1,0.4,0.1,0.6v0.1c0.2,1.1,0.2,2.2,0.2,3.4c-0.1,0.3-0.2,0.6-0.5,0.8l-0.1,0.1l0,0l-0.1,0.8
c-1.1,0.1-2.2,0.3-3.4,0.5c-4.7,1-9,3.5-12.3,7l-0.6-0.4H25c-0.1,0-0.2,0.1-0.4,0.1c-0.2,0-0.5-0.1-0.6-0.2
c-0.9-0.7-1.7-1.5-2.5-2.3l0,0c-0.1-0.2-0.3-0.3-0.4-0.4c-0.3-0.3-0.5-0.6-0.8-0.9c-0.1-0.1-0.2-0.1-0.3-0.2s-0.1-0.1-0.1-0.1l0,0
c-0.4-0.3-0.9-0.5-1.4-0.5c-0.6,0-1.1,0.2-1.5,0.7c-0.6,0.9-0.4,2.1,0.4,2.8l0,0c0.1,0,0.1,0.1,0.1,0.1s0.2,0.2,0.3,0.2
c0.3,0.2,0.7,0.4,1.1,0.6c0.2,0.1,0.4,0.2,0.6,0.3l0,0c1,0.6,1.9,1.2,2.8,1.9c0.2,0.2,0.4,0.6,0.3,0.9v0.1l0,0l0.6,0.6
c-0.1,0.2-0.2,0.3-0.3,0.5c-3.1,4.9-4.3,10.7-3.4,16.4l-0.8,0.2l0,0c0,0.1-0.1,0.1-0.1,0.1c-0.1,0.3-0.4,0.5-0.7,0.7
c-1.1,0.3-2.2,0.5-3.4,0.6h-0.1c-0.2,0-0.4,0-0.6,0.1c-0.4,0-0.8,0.1-1.2,0.1c-0.1,0-0.2,0.1-0.4,0.1c-0.1,0-0.1,0-0.2,0.1l0,0
c-1.1,0.2-1.8,1.2-1.6,2.3c0.2,0.9,1.1,1.5,2,1.4c0.2,0,0.3,0,0.5-0.1l0,0c0.1,0,0.1,0,0.1-0.1s0.2-0.1,0.4-0.1
c0.4-0.1,0.8-0.3,1.1-0.4c0.2-0.1,0.4-0.2,0.6-0.2h0.1c1-0.4,2.1-0.7,3.2-0.9h0.1c0.3,0,0.6,0.1,0.8,0.3c0.1,0,0.1,0.1,0.1,0.1
l0,0l0.9-0.1c1.5,4.6,4.3,8.7,8.2,11.7c0.9,0.7,1.7,1.3,2.7,1.8l-0.4,0.8l0,0c0,0.1,0.1,0.1,0.1,0.1c0.2,0.3,0.2,0.7,0.1,1
c-0.4,1-1,2-1.6,2.9v0.1c-0.1,0.2-0.2,0.3-0.4,0.5s-0.4,0.6-0.7,1c-0.1,0.1-0.1,0.2-0.2,0.3c0,0,0,0.1-0.1,0.1l0,0
c-0.5,1-0.1,2.2,0.8,2.7c0.2,0.1,0.5,0.2,0.8,0.2c0.8,0,1.5-0.5,1.9-1.2l0,0c0,0,0-0.1,0.1-0.1c0-0.1,0.1-0.2,0.2-0.3
c0.1-0.4,0.3-0.7,0.4-1.1l0.2-0.6l0,0c0.3-1.1,0.8-2.1,1.3-3.1c0.2-0.3,0.5-0.5,0.8-0.6c0.1,0,0.1,0,0.1-0.1l0,0l0.4-0.8
c2.8,1.1,5.7,1.6,8.7,1.6c1.8,0,3.6-0.2,5.4-0.6c1.1-0.2,2.2-0.6,3.2-0.9l0.4,0.7l0,0c0.1,0,0.1,0,0.1,0.1
c0.3,0.1,0.6,0.3,0.8,0.6c0.5,1,0.9,2,1.3,3v0.1l0.2,0.6c0.1,0.4,0.2,0.8,0.4,1.1c0.1,0.1,0.1,0.2,0.2,0.3c0,0,0,0.1,0.1,0.1l0,0
c0.4,0.7,1.1,1.2,1.9,1.2c0.3,0,0.5-0.1,0.8-0.2c0.4-0.2,0.8-0.6,0.9-1.1c0.1-0.5,0.1-1.1-0.1-1.6l0,0c0-0.1-0.1-0.1-0.1-0.1
c0-0.1-0.1-0.2-0.2-0.3c-0.2-0.4-0.4-0.7-0.7-1c-0.1-0.2-0.2-0.3-0.4-0.5v-0.1c-0.7-0.9-1.2-1.9-1.6-2.9c-0.1-0.3-0.1-0.7,0.1-1
c0-0.1,0.1-0.1,0.1-0.1l0,0l-0.3-0.8c5.2-3.1,9-7.9,10.9-13.6l0.8,0.1l0,0c0.1,0,0.1-0.1,0.1-0.1c0.2-0.2,0.5-0.3,0.8-0.3h0.1
c1.1,0.2,2.2,0.5,3.2,0.9h0.1c0.2,0.1,0.4,0.2,0.6,0.2c0.4,0.2,0.7,0.3,1.1,0.4c0.1,0,0.2,0.1,0.4,0.1c0.1,0,0.1,0,0.2,0.1l0,0
c0.2,0.1,0.3,0.1,0.5,0.1c0.9,0,1.7-0.6,2-1.4C76.7,51.2,76,50.4,75,50.2z M46.2,47.1l-2.7,1.3l-2.7-1.3L40,44.2l1.9-2.4H45
l1.9,2.4L46.2,47.1z M62.5,40.6c0.5,2.1,0.6,4.2,0.4,6.3l-9.5-2.7l0,0c-0.9-0.2-1.4-1.1-1.2-2c0.1-0.3,0.2-0.5,0.4-0.7l7.5-6.8
C61.2,36.5,62,38.5,62.5,40.6L62.5,40.6z M57.1,31L49,36.8c-0.7,0.4-1.7,0.3-2.2-0.4c-0.2-0.2-0.3-0.4-0.3-0.7l-0.6-10.1
C50.1,26.1,54.1,28,57.1,31z M39,25.9l2-0.4l-0.6,10l0,0c0,0.9-0.8,1.6-1.7,1.6c-0.3,0-0.5-0.1-0.8-0.2L29.8,31
C32.3,28.5,35.5,26.7,39,25.9z M26.8,34.7l7.4,6.6l0,0c0.7,0.6,0.8,1.6,0.2,2.3c-0.2,0.3-0.4,0.4-0.8,0.5L24,46.9
C23.6,42.7,24.6,38.4,26.8,34.7z M25.1,51.6l9.9-1.7c0.8,0,1.6,0.5,1.7,1.3c0.1,0.3,0.1,0.7-0.1,1l0,0l-3.8,9.2
C29.3,59.1,26.5,55.6,25.1,51.6z M47.8,64c-1.4,0.3-2.9,0.5-4.4,0.5c-2.1,0-4.3-0.4-6.3-1l4.9-8.9c0.5-0.6,1.3-0.8,2-0.4
c0.3,0.2,0.5,0.4,0.8,0.7l0,0l4.8,8.7C49.1,63.7,48.5,63.8,47.8,64z M60,55.3c-1.5,2.4-3.6,4.5-6,6L50.1,52
c-0.2-0.8,0.1-1.6,0.9-2c0.3-0.1,0.6-0.2,0.9-0.2l10,1.7C61.4,52.9,60.8,54.2,60,55.3z"/>
<g id="layer1">
<g id="text4373">
<path id="path2985" class="st2" d="M125.7,45.9c1.1-1.2,2.1-2.4,3.3-3.6c1.1-1.3,2.2-2.5,3.3-3.7c1.1-1.3,2.1-2.4,3-3.5
s1.8-2.1,2.5-2.9h12.8c-2.6,2.9-5.1,5.8-7.5,8.5c-2.5,2.7-5.1,5.5-8,8.3c1.6,1.5,3.1,3,4.5,4.7c1.5,1.8,3,3.6,4.5,5.6
c1.4,1.9,2.8,3.9,4,5.8c1.2,1.9,2.2,3.7,3,5.3h-12.3c-0.8-1.3-1.7-2.6-2.7-4.1s-2.1-3-3.1-4.6c-1.1-1.5-2.3-3-3.6-4.4
c-1.1-1.3-2.3-2.5-3.6-3.5v16.7h-10.8V15.7l10.8-1.7V45.9"/>
<path id="path2987" class="st2" d="M188.6,68.9c-2.3,0.6-4.7,1.1-7.1,1.4c-3,0.5-6.1,0.7-9.1,0.7c-2.8,0.1-5.5-0.4-8.1-1.3
c-2-0.8-3.7-2-5.1-3.6c-1.3-1.7-2.2-3.6-2.7-5.7c-0.6-2.3-0.8-4.8-0.8-7.2V32.1h10.8V52c0,3.5,0.5,6,1.4,7.5
c0.9,1.5,2.6,2.3,5.1,2.4c0.8,0,1.6,0,2.5-0.1s1.6-0.1,2.3-0.3V32.1h10.8L188.6,68.9"/>
<path id="path2989" class="st2" d="M223.2,50.9c0-7-2.6-10.4-7.7-10.4c-1.1,0-2.2,0.1-3.3,0.4c-0.9,0.2-1.8,0.6-2.6,1.1v19.6
c0.5,0.1,1.2,0.2,2,0.3c0.8,0.1,1.7,0.1,2.7,0.1c2.6,0.2,5.1-0.9,6.7-3C222.5,56.6,223.3,53.8,223.2,50.9 M234.2,51.3
c0,2.8-0.4,5.6-1.4,8.3c-0.8,2.4-2.1,4.5-3.8,6.3c-1.8,1.8-3.9,3.2-6.2,4.1c-2.7,1-5.5,1.4-8.4,1.4c-1.3,0-2.7-0.1-4.1-0.2
c-1.4-0.1-2.8-0.3-4.2-0.4c-1.3-0.2-2.6-0.4-3.9-0.7c-1.3-0.2-2.4-0.6-3.3-1V15.7l10.8-1.7v19c1.2-0.5,2.5-0.9,3.8-1.2
c1.4-0.3,2.8-0.4,4.2-0.4c2.5,0,4.9,0.4,7.2,1.5c2,0.9,3.8,2.3,5.2,4c1.5,1.9,2.6,4,3.2,6.3C233.9,45.7,234.3,48.5,234.2,51.3"
/>
<path id="path2991" class="st2" d="M240.7,51.5c-0.1-3,0.5-6,1.5-8.8c0.9-2.4,2.3-4.5,4.1-6.4c1.7-1.7,3.6-3,5.8-3.8
c2.2-0.9,4.5-1.3,6.8-1.3c5.4,0,9.7,1.7,12.8,5c3.1,3.3,4.7,8.2,4.7,14.6c0,0.6,0,1.3-0.1,2.1s-0.1,1.4-0.1,2h-24.5
c0.2,2.1,1.3,4,3.1,5.2c2.2,1.4,4.8,2.1,7.4,2c1.9,0,3.9-0.2,5.8-0.5c1.6-0.3,3.2-0.8,4.7-1.4l1.5,8.8c-0.7,0.4-1.5,0.6-2.3,0.9
c-1.1,0.3-2.2,0.6-3.3,0.7c-1.2,0.2-2.4,0.4-3.8,0.6c-1.3,0.1-2.7,0.2-4.1,0.2c-3.1,0.1-6.1-0.4-9-1.5c-2.4-0.9-4.5-2.3-6.3-4.1
c-1.7-1.8-2.9-4-3.7-6.3C241.1,56.8,240.7,54.1,240.7,51.5 M266,47.4c0-0.9-0.2-1.8-0.5-2.7c-0.2-0.9-0.7-1.6-1.2-2.3
c-0.6-0.7-1.3-1.3-2.1-1.7c-1-0.5-2-0.7-3.1-0.7c-1.1,0-2.1,0.2-3.1,0.7c-0.8,0.4-1.6,0.9-2.2,1.6c-0.6,0.7-1.1,1.5-1.4,2.4
c-0.3,0.9-0.5,1.8-0.6,2.7L266,47.4"/>
<path id="path2993" class="st2" d="M307.8,41.7c-1-0.2-2.1-0.5-3.4-0.7c-1.4-0.3-2.8-0.4-4.2-0.4c-0.8,0-1.6,0.1-2.5,0.2
c-0.7,0.1-1.4,0.2-2.1,0.4v29.1h-10.8V34.1c2.2-0.8,4.5-1.4,6.8-1.9c2.9-0.7,5.9-1,8.8-0.9c0.7,0,1.4,0.1,2.1,0.1
c0.8,0,1.6,0.1,2.5,0.3c0.8,0.1,1.6,0.2,2.5,0.4c0.7,0.1,1.4,0.3,2.1,0.6L307.8,41.7"/>
<path id="path2995" class="st2" d="M315.4,33.4c2.3-0.6,4.7-1.1,7.1-1.5c3-0.5,6.1-0.7,9.1-0.7c2.7-0.1,5.4,0.4,8,1.3
c2,0.7,3.8,1.9,5.1,3.5c1.3,1.6,2.2,3.5,2.7,5.5c0.6,2.3,0.8,4.7,0.8,7.1v21.5h-10.8V50c0-3.5-0.5-5.9-1.4-7.4
c-0.9-1.4-2.6-2.2-5.1-2.2c-0.8,0-1.6,0-2.5,0.1c-0.9,0-1.6,0.1-2.3,0.2v29.4h-10.8L315.4,33.4"/>
<path id="path2997" class="st2" d="M356.4,51.5c-0.1-3,0.5-6,1.5-8.8c0.9-2.4,2.3-4.5,4.1-6.4c1.7-1.7,3.6-3,5.8-3.8
c2.2-0.9,4.5-1.3,6.8-1.3c5.4,0,9.7,1.7,12.8,5c3.1,3.3,4.7,8.2,4.7,14.6c0,0.6,0,1.3-0.1,2.1c0,0.8-0.1,1.4-0.1,2h-24.5
c0.2,2.1,1.3,4,3.1,5.2c2.2,1.4,4.8,2.1,7.4,2c1.9,0,3.9-0.2,5.8-0.5c1.6-0.3,3.2-0.8,4.7-1.4l1.5,8.8c-0.7,0.4-1.5,0.6-2.3,0.9
c-1.1,0.3-2.2,0.6-3.3,0.7c-1.2,0.2-2.4,0.4-3.8,0.6c-1.3,0.1-2.7,0.2-4.1,0.2c-3.1,0.1-6.1-0.4-9-1.5c-2.4-0.9-4.5-2.3-6.3-4.1
c-1.7-1.8-2.9-4-3.7-6.3C356.7,56.8,356.3,54.1,356.4,51.5 M381.7,47.4c0-0.9-0.2-1.8-0.5-2.7c-0.2-0.9-0.6-1.7-1.2-2.4
c-0.6-0.7-1.3-1.3-2.1-1.7c-1-0.5-2-0.7-3.1-0.7c-1.1,0-2.1,0.2-3.1,0.7c-0.8,0.4-1.6,0.9-2.2,1.6c-0.6,0.7-1.1,1.5-1.4,2.4
c-0.3,0.9-0.5,1.8-0.6,2.7L381.7,47.4"/>
<path id="path2999" class="st2" d="M400.1,22.6l10.8-1.7v11.2h13v9h-13v13.4c-0.1,1.9,0.3,3.8,1.2,5.4c0.8,1.3,2.4,2,4.9,2
c1.2,0,2.4-0.1,3.5-0.3c1.2-0.2,2.3-0.5,3.4-0.9l1.5,8.4c-1.4,0.6-2.9,1-4.4,1.4c-1.9,0.4-3.9,0.6-5.9,0.6
c-2.5,0.1-5-0.3-7.3-1.2c-1.8-0.7-3.4-1.9-4.6-3.3c-1.2-1.5-2-3.3-2.5-5.2c-0.5-2.2-0.7-4.5-0.6-6.7L400.1,22.6"/>
<path id="path3001" class="st2" d="M429.4,51.5c-0.1-3,0.5-6,1.5-8.8c0.9-2.4,2.3-4.5,4.1-6.4c1.7-1.7,3.6-3,5.8-3.8
c2.2-0.9,4.5-1.3,6.8-1.3c5.4,0,9.7,1.7,12.8,5c3.1,3.3,4.7,8.2,4.7,14.6c0,0.6,0,1.3-0.1,2.1c0,0.8-0.1,1.4-0.1,2h-24.5
c0.2,2.1,1.4,4,3.1,5.2c2.2,1.4,4.8,2.1,7.4,2c1.9,0,3.9-0.2,5.8-0.5c1.6-0.3,3.2-0.8,4.7-1.4l1.5,8.8c-0.7,0.4-1.5,0.6-2.3,0.9
c-1.1,0.3-2.2,0.6-3.3,0.7c-1.2,0.2-2.4,0.4-3.8,0.6c-1.3,0.1-2.7,0.2-4.1,0.2c-3.1,0.1-6.1-0.4-9-1.5c-2.4-0.9-4.5-2.3-6.3-4.1
c-1.7-1.8-2.9-4-3.7-6.3C429.8,56.8,429.4,54.1,429.4,51.5 M454.8,47.4c0-0.9-0.2-1.8-0.5-2.7c-0.2-0.9-0.7-1.7-1.2-2.4
c-0.6-0.7-1.3-1.3-2.1-1.7c-1-0.5-2-0.7-3.1-0.7c-1.1,0-2.1,0.2-3.1,0.7c-0.8,0.4-1.6,0.9-2.2,1.6c-0.6,0.7-1.1,1.5-1.4,2.4
c-0.3,0.9-0.5,1.8-0.6,2.7L454.8,47.4"/>
<path id="path3003" class="st2" d="M484.5,62.5c1.4,0.1,2.9-0.1,4.2-0.6c0.8-0.4,1.3-1.3,1.2-2.2c-0.1-1-0.7-1.9-1.6-2.2
c-1.5-0.9-3.2-1.7-4.9-2.2c-1.7-0.6-3.2-1.3-4.6-2c-1.3-0.6-2.4-1.4-3.5-2.4c-1-1-1.7-2.1-2.2-3.4c-0.6-1.5-0.8-3.1-0.8-4.7
c-0.1-3.3,1.4-6.5,4-8.5c2.7-2.1,6.3-3.1,10.9-3.1c2.2,0,4.5,0.2,6.7,0.6c1.7,0.3,3.4,0.7,5.1,1.3l-1.9,8.4
c-1.4-0.5-2.7-0.8-4.1-1.2c-1.6-0.3-3.3-0.5-4.9-0.4c-3.4,0-5.1,0.9-5.1,2.8c0,0.4,0.1,0.8,0.2,1.2c0.2,0.4,0.5,0.7,0.9,1
c0.4,0.3,1,0.6,1.7,1c0.7,0.4,1.7,0.8,2.9,1.2c2,0.7,4,1.6,5.9,2.6c1.4,0.7,2.6,1.6,3.6,2.8c0.9,0.9,1.5,2.1,1.9,3.3
c0.4,1.4,0.6,2.8,0.6,4.2c0.2,3.4-1.4,6.7-4.3,8.6c-2.8,1.9-6.8,2.9-12,2.9c-2.9,0.1-5.7-0.2-8.5-0.9c-1.6-0.4-3.1-0.9-4.6-1.4
l1.8-8.8c1.8,0.7,3.7,1.3,5.6,1.7C480.5,62.3,482.4,62.5,484.5,62.5"/>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 10 KiB

-44
View File
@@ -1,44 +0,0 @@
/*
Copyright 2018 Google LLC
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
(function ($) {
"use strict";
var Search = {
init: function () {
$(document).ready(function () {
// Fill the search input form with the current search keywords
const searchKeywords = new URLSearchParams(location.search).get('q');
if (searchKeywords !== null && searchKeywords !== '') {
const searchInput = document.querySelector('.td-search-input');
searchInput.focus();
searchInput.value = searchKeywords;
}
// Set a keydown event
$(document).on("keypress", ".td-search-input", function (e) {
if (e.keyCode !== 13) {
return;
}
var query = $(this).val();
document.location = "{{ "search/" | absURL }}?q=" + query;
return false;
});
});
},
};
Search.init();
})(jQuery);
+10
View File
@@ -0,0 +1,10 @@
# See the OWNERS docs at https://go.k8s.io/owners
# Allow CSS/SASS updates from blog and case studies owners
options:
no_parent_owners: false
reviewers:
- alexcontini
approvers:
- alexcontini
File diff suppressed because it is too large Load Diff
+99
View File
@@ -0,0 +1,99 @@
// SASS for Case Studies pages go here:
hr
background-color: #999999
h2
margin-bottom: 15px !important
.subhead
padding-bottom: 2% !important
padding-top: 0% !important
.details
margin-left: 1.9%
padding-right: 5%
font-size: 16px !important
padding-bottom: 2% !important
.section1
margin-bottom: 3%
.cols
width: 80% !important
margin-left: 6.8%
padding-top: 1.5%
.col1
width: 52% !important
font-weight: 300 !important
.col2
width: 46% !important
.banner2text
width: 63%
padding-top: 10%
padding-left: 0% !important
float: initial !important
text-align: center
margin: 0 auto
position: relative
.banner3text, .banner4text, .banner5text
width: 63%
padding-left: 0% !important
float: initial !important
text-align: center
margin: 0 auto
position: relative
.fullcol
float: initial !important
body footer
background-color: #585858 !important
.section1
float: left !important
.banner1
padding-left: 11.9% !important
.banner2
float: initial !important
padding-bottom: 2% !important
footer
padding: 0% 7%
.banner4, .banner3, .banner5
float: initial !important
@media screen and (max-width: 910px)
.banner2text
width: 47%
padding-top: 45%
.details
margin-left: 0%
margin-bottom: 3%
.subhead
padding-bottom: 0% !important
padding-top: 0% !important
.banner3
width: 100% !important
@media screen and (max-width: 780px)
.section1 .cols
width: 100% !important
margin-left: 0%
padding-top: 5%
.col1, .col2
width: 100% !important
margin-left: 0% !important
.fullcol
width: 90% !important
margin-left: 5% !important
.banner1
padding-left: 10% !important
margin-bottom: 6% !important
.banner2text
padding-top: 60% !important
padding-bottom: 2% !important
+296
View File
@@ -0,0 +1,296 @@
$main-max-width: 1200px
$vendor-strip-height: 44px
$video-section-height: 550px
@media screen and (min-width: 1025px)
#hamburger
display: none
ul.global-nav
display: inline-block
#docs #vendorStrip #searchBox:before
top: 15px
#vendorStrip
height: $vendor-strip-height
line-height: $vendor-strip-height
li
a.YAH
&:after
content: ""
display: block
position: absolute
left: 0
bottom: 0
width: 100%
height: 4px
background-color: $blue
#searchBox
float: right
#home
#hero
#vendorStrip
display: block
#docs
#hero
h1, h5
text-align: left
#vendorStrip
ul
float: left
#searchBox
float: right
width: 250px
#search
vertical-align: middle
.flyout-button
display: none
.logo
position: relative
float: left
display: block
width: 180px
height: 88px
top: 0
left: 0
transform: none
background-image: url(../images/nav_logo.svg)
&.flip-nav, &.open-nav
.logo
background-image: url(../images/nav_logo2.svg)
#encyclopedia
padding: 50px 50px 100px 100px
clear: both
#docsToc
position: relative
float: left
padding: 0 20px
left: 0
width: 350px
z-index: auto
.push-menu-close-button
display: none
#docsContent
width: calc(100% - 400px)
#editPageButton
right: -25px
section, header, footer
main
max-width: $main-max-width
header, #vendorStrip, #encyclopedia, #hero h1, #hero h5, #docs #hero h1, #docs #hero h5,
#community #hero h1, .gridPage #hero h1, #community #hero h5, .gridPage #hero h5
padding-left: 100px
padding-right: 100px
#vendorStrip
padding-right: 10px
#home
section, header, footer
main
max-width: 1000px
#oceanNodes
main
position: relative
max-width: 830px
&:nth-child(1)
max-width: 1000px
padding-right: 475px
h3, p
text-align: left
.image-wrapper
position: absolute
max-width: 48%
transform: translateY(-50%)
img
max-width: 425px
//.content
// width: 50%
#video
height: $video-section-height
position: relative
background-position: center center
background-size: cover
#talkToUs
h4
br
display: block
#bigSocial
div
width: calc(25% - 18px)
div + div
margin-left: 20px
//
//div:nth-child(3), div:nth-child(4)
// margin-top: 0
//#home #bigSocial
// div
// width: calc(33% - 15px)
//
// div:nth-child(3)
// margin-top: inherit
// FOOTER
footer
width: 100%
background-image: url(../images/texture.png)
background-color: $dark-grey
main
padding: 20px 0
nav
overflow: hidden
margin-bottom: 20px
a
width: 16.65%
float: left
font-size: 24px
font-weight: 300
white-space: nowrap
.social
padding: 0 30px
max-width: 1200px
div
float: left
div:last-child
float: right
#search, #wishField
background-color: transparent
padding: 10px
font-size: 16px
font-weight: 100
color: white
border: 1px solid white
transition: 0.3s
&:focus
background-color: $light-grey
color: $dark-grey
.social a
display: inline-block
background-image: url(../images/social_sprite.png)
background-repeat: no-repeat
background-size: auto
width: 50px
height: 50px
border-radius: 5px
margin-right: 10px
&:hover
background-color: #fff
span
position: absolute
display: block
height: 0
overflow: hidden
a.twitter
background-position: 0 0
&:hover
background-position: 0 100%
a.stack-overflow
background-position: -50px 0
&:hover
background-position: -50px 100%
a.slack
background-position: -100px 0
&:hover
background-position: -100px 100%
a.github
background-position: -150px 0
&:hover
background-position: -150px 100%
a.mailing-list
background-position: -200px 0
&:hover
background-position: -200px 100%
a.calendar
background-position: -250px 0
&:hover
background-position: -250px 100%
#community, .gridPage
#hero
text-align: left
h1
padding: 20px 100px
#tryKubernetes
width: auto
background-color: $blue
padding: 0 20px
#bigSocial
div
width: calc(25% - 18px)
#home #caseStudiesWrapper
div
width: 24%
min-height: 260px
@media screen and (min-width: 1300px)
#vendorStrip
padding-right: 100px
@media screen and (min-width: 456px)
#vendorStrip
li + li
margin-left: 20px
+61
View File
@@ -0,0 +1,61 @@
html, body
margin: 0
padding: 0
input, button
outline: none
button
cursor: pointer
ul, li
list-style: none
ul
margin: 0
padding: 0
a
text-decoration: none
// CONVENIENCE
.clear
display: block
clear: both
.light-text
color: white
.right
float: right
.left
float: left
.center
text-align: center
//mixins
@mixin fullScreen
position: fixed
top: 0
left: 0
width: 100vw
height: 100vh
@mixin pureCenter($left: 50%, $top: 50%)
position: absolute
top: $top
left: $left
transform: translate(-50%, -50%)
@mixin maintain-aspect-ratio ($width-factor: 16, $height-factor: 9, $target-width: 80vw, $target-height: 80vh)
width: $target-width
height: $target-width * ($height-factor / $width-factor)
max-width: $target-height * ($width-factor / $height-factor)
max-height: $target-height
+86
View File
@@ -0,0 +1,86 @@
h1
font-size: $h1-font-size
line-height: $h1-line-height
h2
font-size: $h2-font-size
line-height: $h2-line-height
h3
font-size: $h3-font-size
line-height: $h3-line-height
h4
font-size: $h4-font-size
line-height: $h4-line-height
h5
font-size: $h5-font-size
line-height: $h5-line-height
p
font-size: $p-font-size
line-height: $p-line-height
section, header, #vendorStrip
padding-left: $full-width-paddingX
padding-right: $full-width-paddingX
main
width: $main-width
max-width: $main-max-width
header
height: $header-height
.nav-buttons
height: $header-height
line-height: $header-height
.button + *
margin-left: $nav-buttons-margin-left
#hamburger
width: $hamburger-size
height: $hamburger-size
#mainNav
padding: $main-nav-padding
h5
margin-bottom: $main-nav-h5-margin-bottom
h3
margin-bottom: $main-nav-h3-margin-bottom
.nav-box
width: $nav-box-width
.nav-box + .nav-box
margin-left: $nav-box-sibling-margin-left
main + main
margin-top: $main-nav-main-sibling-margin-top
.left .button
height: $main-nav-left-button-size
line-height: $main-nav-left-button-size
font-size: $main-nav-left-button-font-size
.open-nav, .y-enough
#tryKubernetes
margin-left: $nav-buttons-margin-left
#hero
padding-top: $hero-padding-top
#docs
#hero
h1, h5
padding-left: $full-width-paddingX
padding-right: $full-width-paddingX
#vendorStrip
height: $vendor-strip-height
line-height: $vendor-strip-height
font-size: $vendor-strip-font-size
+25
View File
@@ -0,0 +1,25 @@
$blue: #3371e3
$light-grey: #f7f7f7
$dark-grey: #303030
$medium-grey: #4c4c4c
$white: #ffffff
$base-font: 'Roboto', sans-serif
$mono-font: 'Roboto Mono', monospace
*, .button
box-sizing: border-box
font-family: $base-font
background: none
margin: 0
border: 0
body
font-family: $base-font
h1, h2, h5, p
font-weight: 300
h3, h4
font-weight: 400
+248
View File
@@ -0,0 +1,248 @@
// TEXT
//$h1-font-size: 60px
//$h1-line-height: 80px
//
//$h2-font-size: 42px
//$h2-line-height: 60px
//
//$h3-font-size: 26px
//$h3-line-height: 32px
//
//$h4-font-size: 26px
//$h4-line-height: 40px
//
//$h5-font-size: 18px
//$h5-line-height: 36px
//
//$p-font-size: 20px
//$p-line-height: 28px
// header
$full-width-paddingX: 20px
$main-width: 100%
$main-max-width: 100%
$header-height: 80px
$logo-width: 180px
$nav-buttons-margin-left: 30px
$hamburger-size: 50px
// main nav
$main-nav-padding: 140px 0 30px
$main-nav-h5-margin-bottom: 1em
$main-nav-h3-margin-bottom: 0.6em
$nav-box-width: 20%
$nav-box-sibling-margin-left: calc(20% / 3)
$main-nav-main-sibling-margin-top: 60px
$main-nav-left-button-size: 50px
$main-nav-left-button-font-size: 18px
// hero
$hero-padding-top: 80px
$headline-wrapper-margin-bottom: 40px
$quickstart-button-padding: 0 50px
$vendor-strip-font-size: 16px
//video
$video-section-height: 400px
//features
$features-h3-margin-bottom: 40px
$feature-box-margin-bottom: 60px
$feature-box-div-margin-bottom: 0
$feature-box-div-width: 45%
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
@media screen and (min-width: 750px)
@import "size"
p
font-size: 16px
line-height: 24px
letter-spacing: 0.1px
h1
font-size: 36px
line-height: 44px
h3
font-size: 28px
line-height: 36px
h4
font-size: 24px
line-height: 40px
#home
#viewDocs, #tryKubernetes
display: inline-block
#vendorStrip
display: block
text-align: center
img
max-height: 24px
vertical-align: middle
margin: 0 30px
#docs
#vendorStrip
li
a
font-size: 1em
font-weight: normal
li + li
margin-left: 60px
#oceanNodes
h3
text-align: left
margin-bottom: 18px
main
position: relative
clear: both
display: table
height: 160px
.content
display: table-cell
position: relative
vertical-align: middle
.image-wrapper
position: absolute
top: 50%
max-width: 25%
max-height: 100%
transform: translateY(-50%)
&:nth-child(odd)
padding-right: 210px
.image-wrapper
right: 0
&:nth-child(even)
padding-left: 210px
.image-wrapper
left: 0
&:nth-child(1)
padding-right: 0
h3, p
text-align: center
.image-wrapper
position: relative
display: block
float: none
max-width: 100%
transform: none
.content
display: block
img
width: 100%
#video
height: $video-section-height
display: block
& > .light-text
display: block
#mobileShowVideoButton
display: none
#features
padding-bottom: 60px
.feature-box
margin-bottom: 30px
&:last-child
margin-bottom: 0
h3
margin-bottom: $features-h3-margin-bottom
.feature-box
& > div
width: $feature-box-div-width
margin-bottom: $feature-box-div-margin-bottom
#talkToUs
#bigSocial
div
width: calc(50% - 15px)
div + div
margin-top: 0
div:nth-child(2)
margin-left: 20px
div:nth-child(3)
div:nth-child(4)
margin-left: 20px
a
display: inline-block
color: $blue
font-weight: 400
text-decoration: none
// FOOTER
footer
nav
text-align: center
a
width: 30%
padding: 0 20px
.social
text-align: center
div
display: inline-block
div:last-child
display: block
margin: 0
span
display: inline-block
margin-right: 10px
input
text-align: left
#home #caseStudiesWrapper
div
width: 48%
+11
View File
@@ -0,0 +1,11 @@
@import "reset"
@import "skin"
// media queries
@import "base"
@import "tablet"
@import "desktop"
{{ if .Params.case_study_styles }}
@import "case-studies"
{{ end }}
-878
View File
@@ -1,878 +0,0 @@
@import "reset";
// header
$full-width-paddingX: 20px;
$main-width: 100%;
$main-max-width: 100%;
$header-height: 80px;
$logo-width: 180px;
$nav-buttons-margin-left: 30px;
$hamburger-size: 50px;
// main nav
$main-nav-padding: 140px 0 30px;
$main-nav-h5-margin-bottom: 1em;
$main-nav-h3-margin-bottom: 0.6em;
$nav-box-width: 20%;
$nav-box-sibling-margin-left: calc(20% / 3);
$main-nav-main-sibling-margin-top: 60px;
$main-nav-left-button-size: 50px;
$main-nav-left-button-font-size: 18px;
// hero
$hero-padding-top: 80px;
$headline-wrapper-margin-bottom: 40px;
$quickstart-button-padding: 0 50px;
$vendor-strip-height: 88px;
$vendor-strip-font-size: 16px;
// video
$video-section-height: 200px;
@import "size";
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
body {
background-color: white;
a {
color: $blue;
}
}
section {
position: relative;
background-color: white;
}
section,
header,
footer {
.main-section {
position: relative;
margin: auto;
}
p {
font-size: 14px;
font-weight: 400;
}
.button {
display: inline-block;
border-radius: 6px;
padding: 6px 20px;
line-height: 1.3rem;
color: white;
background-color: $blue;
text-decoration: none;
font-size: 1rem;
border: 0px;
}
#cellophane {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: none;
}
}
main {
.button {
display: inline-block;
border-radius: 6px;
padding: 6px 20px;
line-height: 1.3rem;
color: white;
background-color: $blue;
text-decoration: none;
font-size: 1rem;
border: 0px;
}
}
// HEADER
#hamburger {
display: inline-block;
position: relative;
margin-left: auto;
vertical-align: middle;
padding: 0;
border: 0;
background: none;
div,
&:before,
&:after {
position: absolute;
left: 15%;
width: 70%;
height: 2px;
background-color: $blue;
transition: 0.3s;
content: "";
}
div {
top: calc(50% - 1px);
}
&:before {
top: 24%;
}
&:after {
bottom: 24%;
}
&:hover {
div,
&:before,
&:after {
background-color: white;
}
}
}
// HERO
.header-hero {
background-image: url(/images/texture.png);
background-color: $dark-grey;
text-align: center;
padding-left: 0;
padding-right: 0;
margin-bottom: 0;
position: relative;
&.bot-bar:after {
display: block;
margin-bottom: -24px;
height: 8px;
width: 100%;
background-color: transparentize(white, 0.9);
content: "";
}
&.no-sub {
h5 {
display: none;
}
h1 {
margin-bottom: 20px;
}
}
}
.td-home .header-hero:after {
display: none;
}
.header-hero {
background-color: $dark-grey;
h5 {
margin: 20px 0;
line-height: 28px;
}
}
#vendorStrip {
position: relative;
ul {
float: left;
}
li {
display: inline-block;
height: 100%;
}
a {
display: block;
height: 100%;
color: white;
font-size: 0.75em;
font-weight: bold;
}
li + li {
margin-left: 0;
}
}
.pi-accordion {
& > .container:first-child > .item:first-child > .title:first-child {
padding-left: 0;
font-size: 1.5em;
font-weight: 700;
}
& > .container:first-child > .item.yah:first-child > .title:first-child {
margin-left: -20px !important;
}
.item {
overflow: hidden;
}
.title {
color: $dark-grey;
position: relative;
padding: 7.5px 10px 7.5px 18px;
cursor: pointer;
transition: 0.3s;
&:hover {
color: $blue;
}
}
a.item > .title {
color: black;
&:hover {
color: $blue;
}
}
div.item > .title {
&:before {
content: "";
position: absolute;
top: 12px;
left: 2px;
border-style: solid;
border-width: 5px 0 5px 8px;
border-color: transparent transparent transparent $blue;
transform: rotate(0deg);
transition: 0.3s;
}
}
.wrapper {
position: relative;
width: 100%;
transition: height 0.3s;
}
.content {
padding-left: 20px;
opacity: 0;
transition: 0.3s;
}
.item.on {
& > .title:before {
transform: rotate(90deg);
}
& > .wrapper > .content {
opacity: 1;
}
}
}
dt {
margin-bottom: 8px;
}
dd {
margin-bottom: 16px;
}
.pi-pushmenu {
display: none;
position: fixed;
top: 0;
width: 100%;
height: 100%;
opacity: 0;
transition: opacity 0.3s;
&.on {
opacity: 1;
}
.overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.4);
}
.sled {
position: absolute;
top: 0;
width: 0;
height: 100%;
background-color: white;
overflow: auto;
transition: 0.3s;
}
&.on .sled {
width: 400px;
max-width: 100vw;
}
.top-bar {
height: 0;
line-height: 60px;
background-color: #444;
}
ul {
margin-top: 25px;
}
li {
position: relative;
display: block;
width: 100%;
min-height: 45px;
padding: 0 60px 0 20px;
border-bottom: 1px solid #cccccc;
}
a {
display: inline-block;
width: 100%;
height: 45px;
line-height: 45px;
font-size: 20px;
color: $blue;
}
.button {
background: none;
padding: 0;
}
ul ul {
padding: 0 20px;
li {
min-height: 40px;
}
a {
height: 40px;
line-height: 40px;
font-size: 18px;
color: lighten(#222222, 20%);
}
}
}
.push-menu-close-button {
position: absolute;
top: 0;
right: 0;
width: 50px;
height: 50px;
&:before,
&:after {
content: "";
position: absolute;
top: calc(50% - 1px);
left: 25%;
width: 50%;
height: 2px;
background-color: black;
}
&:before {
transform: rotate(45deg);
}
&:after {
transform: rotate(-45deg);
}
}
// ocean nodes
$ocean-nodes-padding-Y: 60px;
$ocean-nodes-main-margin-bottom: 60px;
$ocean-nodes-h3-margin-bottom: 30px;
// video
$video-section-height: 200px;
// features
$features-h3-margin-bottom: 20px;
$feature-box-div-width: 100%;
$feature-box-margin-bottom: 0;
$feature-box-div-margin-bottom: 40px;
// Home-specific
.td-home {
&.flip-nav,
&.open-nav {
.logo {
background-image: url(/images/nav_logo2.svg);
}
}
}
.header-hero {
margin-bottom: 0;
padding-bottom: 1px;
.main-section {
padding: 0 10px;
margin-bottom: 30px;
}
#vendorStrip {
display: none;
}
}
// Add logo to CNCF section
section#cncf {
padding-top: 60px;
padding-bottom: 140px;
background-image: url(/images/cncf-color.svg);
background-position: center 100px;
background-repeat: no-repeat;
background-size: 300px;
}
// OCEAN NODES
#oceanNodes {
padding-top: $ocean-nodes-padding-Y;
padding-bottom: $ocean-nodes-padding-Y;
a {
color: $blue;
}
.main-section {
margin-bottom: $ocean-nodes-padding-Y;
min-height: 160px;
}
.image-wrapper {
max-width: 75%;
margin: 0 auto 20px;
text-align: center;
img {
width: 100%;
max-width: 160px;
}
}
.main-section:first-child {
.image-wrapper {
max-width: 100%;
img {
max-width: 491px;
}
}
}
h3 {
margin-bottom: $ocean-nodes-h3-margin-bottom;
}
}
// Video thingy
#video {
height: $video-section-height;
}
#video {
width: 100%;
position: relative;
background-position: center center;
background-size: cover;
& > .light-text {
display: none;
// position: absolute;
// top: 50%;
// left: 75%;
width: 500px;
padding-top: 2rem;
// transform: translate(-50%, -50%);
color: white;
}
h2 {
font-size: 32px;
line-height: 44px;
margin-bottom: 20px;
}
p {
margin-bottom: 20px;
}
#desktopKCButton {
position: absolute;
font-size: 18px;
background-color: $dark-grey;
border-radius: 8px;
color: $white;
padding: 20px 10px 20px 10px;
}
#desktopShowVideoButton {
position: relative;
font-size: 24px;
background-color: white;
border-radius: 8px;
color: $blue;
padding: 15px 30px 15px 80px;
margin-bottom: 15px;
&:before {
content: "";
position: absolute;
@include pureCenter(40px);
width: 0;
height: 0;
border-style: solid;
border-width: 10px 0 10px 20px;
border-color: transparent transparent transparent $blue;
}
}
#mobileShowVideoButton {
@include pureCenter;
width: 80px;
height: 80px;
border-radius: 50%;
background-color: transparent;
border: 5px solid rgba(255, 255, 255, 0.2);
overflow: visible;
&:after {
@include pureCenter;
left: 40px;
content: "";
width: 0;
height: 0;
border-style: solid;
border-width: 20px 0 20px 30px;
border-color: transparent transparent transparent #ffffff;
}
}
}
#videoPlayer {
@include fullScreen;
background-color: rgba(0, 0, 0, 0.9);
display: none;
iframe {
@include pureCenter;
@include maintain-aspect-ratio;
}
#closeButton {
position: absolute;
top: 20px;
right: 20px;
width: 50px;
height: 50px;
border: 2px solid transparent;
transition: 0.3s;
&:before,
&:after {
content: "";
position: absolute;
top: calc(50% - 1px);
left: 10%;
width: 80%;
height: 2px;
background-color: white;
}
&:before {
transform: rotate(45deg);
}
&:after {
transform: rotate(-45deg);
}
&:hover {
border-color: white;
}
}
}
// KubeWeekly
#kubeweekly {
background-color: $light-grey;
padding-top: 30px;
padding-bottom: 80px;
background-size: auto;
font-size: 24px;
// font-weight: bold;
h5 {
font-size: 20px;
}
}
.subscribe-button {
border-radius: 6px;
padding: 0 20px;
line-height: 31px;
color: white;
background-color: blue;
text-decoration: none;
font-size: 14px;
}
// Features
#features {
padding-top: 140px;
background-color: $light-grey;
background-image: url(/images/wheel.svg);
background-position: center 60px;
background-repeat: no-repeat;
background-size: 60px;
}
.feature-box {
//padding: 50px 0
width: 100%;
overflow: hidden;
clear: both;
h4 {
line-height: normal;
margin-bottom: 15px;
}
& > div:first-child {
float: left;
}
& > div:last-child {
float: right;
}
}
#features {
h3 {
margin-bottom: $features-h3-margin-bottom;
}
.feature-box {
margin-bottom: $feature-box-margin-bottom;
& > div {
width: $feature-box-div-width;
margin-bottom: $feature-box-div-margin-bottom;
}
}
}
// Talk to us
#talkToUs {
h3,
h4 {
text-align: center;
}
h3 {
margin-bottom: 15px;
}
h4 {
line-height: normal;
margin-bottom: 50px;
br {
display: none;
}
}
#bigSocial {
overflow: hidden;
div {
width: 100%;
float: left;
padding: 30px;
padding-top: 110px;
background-position: center top;
background-size: auto;
background-repeat: no-repeat;
}
div:nth-child(1) {
background-image: url(/images/twitter_icon.png);
}
div:nth-child(2) {
background-image: url(/images/github_icon.png);
}
div:nth-child(3) {
background-image: url(/images/slack_icon.png);
}
div:nth-child(4) {
background-image: url(/images/stackoverflow_icon.png);
}
div + div {
margin-top: 20px;
margin-left: 0;
}
a {
display: inline-block;
color: $blue;
font-size: 24px;
font-weight: 400;
text-decoration: none;
margin-bottom: 15px;
}
a,
p {
text-align: center;
width: 100%;
}
}
}
.td-home {
#talkToUs {
.main-section {
padding: 30px 0;
}
h5 {
font-size: 20px;
}
}
#caseStudiesWrapper {
position: relative;
text-align: center;
margin-bottom: 30px;
img {
padding-bottom: 1rem;
}
div {
position: relative;
display: inline-block;
vertical-align: top;
width: 100%;
min-height: 230px;
margin-bottom: 60px;
padding-right: 1rem;
background-position: top center;
}
p {
font-size: 20px;
}
a {
position: absolute;
bottom: -30px;
left: 50%;
transform: translateX(-50%);
color: $blue;
font-weight: 400;
}
}
}
// Header filler size adjustment
.header-hero.filler {
height: $hero-padding-top;
}
// Docs specific
#editPageButton {
position: absolute;
top: 50px;
right: 25px;
width: 50px;
height: 50px;
line-height: 50px;
border-radius: 50%;
white-space: nowrap;
text-indent: 50px;
overflow: hidden;
background: $blue url(/images/icon-pencil.svg) no-repeat;
background-position: 12px 10px;
background-size: 29px 29px;
}
.feedback--response__hidden {
display: none;
}
// GitHub info/edit buttons
#pre-footer {
margin-top: 2rem;
.button {
font-size: 1.1rem;
&:first-of-type {
margin-right: 0.75rem;
}
}
.lastedit {
margin-top: 1rem;
font-size: 1rem;
}
}
/* DOCUMENTATION */
// nav-tabs and tab-content
.nav-tabs {
border-bottom: none !important;
}
.td-content .tab-content .highlight {
margin: 0;
}
.tab-pane {
border-radius: 0.25rem;
padding: 0 16px 16px;
border: 1px solid #dee2e6;
&:first-of-type.active {
border-top-left-radius: 0;
}
}
-143
View File
@@ -1,143 +0,0 @@
// SASS for Case Studies pages go here:
hr {
background-color: #999999;
margin-top: 0;
}
h2 {
margin-bottom: 15px !important;
}
.subhead {
padding-bottom: 2% !important;
padding-top: 0.75em !important;
}
.details {
margin-left: 1.9%;
padding-right: 5%;
font-size: 16px !important;
padding-bottom: 2% !important;
}
.section1 {
margin-bottom: 3%;
.cols {
width: 80% !important;
margin-left: 6.8%;
padding-top: 1.5%;
.col1 {
width: 52% !important;
font-weight: 300 !important;
}
.col2 {
width: 46% !important;
}
}
}
.banner2text {
width: 63%;
padding-top: 10%;
padding-left: 0% !important;
float: initial !important;
text-align: center;
margin: 0 auto;
position: relative;
}
.banner3text,
.banner4text,
.banner5text {
width: 63%;
padding-left: 0% !important;
float: initial !important;
text-align: center;
margin: 0 auto;
position: relative;
}
.fullcol {
float: initial !important;
}
body footer {
background-color: #585858 !important;
}
.section1 {
float: left !important;
}
.banner1 {
padding-left: 11.9% !important;
}
.banner2 {
float: initial !important;
padding-bottom: 2% !important;
}
footer {
padding: 0% 7%;
}
.banner4,
.banner3,
.banner5 {
float: initial !important;
}
@media screen and (max-width: 910px) {
.banner2text {
width: 47%;
padding-top: 45%;
}
.details {
margin-left: 0%;
margin-bottom: 3%;
}
.subhead {
padding-bottom: 0% !important;
padding-top: 0% !important;
}
.banner3 {
width: 100% !important;
}
}
@media screen and (max-width: 780px) {
.section1 .cols {
width: 100% !important;
margin-left: 0%;
padding-top: 5%;
.col1,
.col2 {
width: 100% !important;
margin-left: 0% !important;
.fullcol {
width: 90% !important;
margin-left: 5% !important;
.banner1 {
padding-left: 10% !important;
margin-bottom: 6% !important;
.banner2text {
padding-top: 60% !important;
padding-bottom: 2% !important;
}
}
}
}
}
}
-853
View File
@@ -1,853 +0,0 @@
$announcement-size-adjustment: 8px;
/* GLOBAL */
.td-main {
.row {
margin: 0;
}
main {
*:not(figure) > img {
max-width: 100%;
}
@media only screen and (min-width: 768px) {
padding-top: 2rem !important;
}
}
.ui-widget {
font-family: inherit;
font-size: inherit;
}
.ui-widget-content a {
color: $blue;
}
}
.header-hero #quickstartButton.button {
margin-top: 1em;
}
section {
.main-section {
@media only screen and (min-width: 1024px) {
max-width: 1200px;
}
}
}
body {
header + .td-outer {
min-height: 50vh;
height: auto;
}
}
/* Emphasize first paragraph of running text on site front page */
body.td-home main[role="main"] > section:first-of-type .content p:first-child {
line-height: 1.3em;
font-size: 1.4em;
margin-bottom: 1.5em;
}
#desktopShowVideoButton {
border: none
}
#videoPlayer {
#closeButton {
background: transparent;
}
}
body.td-404 main .error-details {
max-width: 1100px;
margin-left: auto;
margin-right: auto;
margin-top: 4em;
margin-bottom: 0;
}
/* Global - Mermaid.js diagrams */
.mermaid {
overflow-x: auto;
max-width: 80%;
border: 1px solid rgb(222, 226, 230);
border-radius: 5px;
margin-bottom: 1rem;
padding-top: 1rem;
padding-bottom: 1rem;
// mermaid diagram - sequence diagram
.actor {
fill: #326ce5 !important;
}
text.actor {
font-size: 18px !important;
stroke: white !important;
fill: white !important;
}
.activation0 {
fill: #c9e9ec !important;
}
}
/* HEADER */
.td-navbar {
position: fixed !important;
width: 100%;
padding-bottom: 1rem !important;
background: transparent !important;
transition: 0.3s;
.navbar-brand {
position: absolute;
width: 45px;
height: 44px;
background-repeat: no-repeat;
background-size: contain;
background-image: url("/images/favicon.png");
}
#hamburger {
&:focus {
outline: none;
}
}
@media only screen and (min-width: 768px) {
.navbar-brand {
background-image: url("/images/nav_logo.svg");
top: 1.5rem;
width: 180px;
margin-left: 1rem;
}
}
}
.td-navbar-nav-scroll {
overflow: visible !important;
display: none;
.navbar-nav {
overflow: visible !important;
position: relative;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-evenly;
.nav-item {
position: relative;
height: 10%;
.active::after {
position: absolute;
width: 100%;
height: 2px;
content: "";
bottom: -4px;
left: 0;
background: #fff;
}
}
}
@media only screen and (min-width: 768px) {
display: block;
margin-top: 3.5rem !important;
}
@media only screen and (min-width: 1075px) {
margin-top: 1rem !important;
}
}
// Flip-Nav
.flip-nav .td-navbar {
background-color: white !important;
box-shadow: 0 1px 2px $medium-grey;
.navbar-nav {
.nav-item {
&.show .nav-link,
.nav-link {
color: $dark-grey;
&:hover {
color: $medium-grey;
}
}
.dropdown {
&:hover {
color: $medium-grey;
}
}
}
}
.navbar-nav .nav-item .active {
color: $dark-grey;
&::after {
background: $dark-grey;
}
}
#hamburger:hover {
div,
&:before,
&:after {
background-color: $dark-grey;
}
}
@media only screen and (min-width: 768px) {
.navbar-brand {
background-image: url("/images/nav_logo2.svg");
}
}
}
/* FOOTER */
footer {
background-color: #303030;
background-image: url("/images/texture.png");
padding: 1rem !important;
min-height: initial !important;
> div, > p {
max-width: 95%;
@media only screen and (min-width: 768px) {
max-width: calc(min(80rem,90vw)); // avoid spreading too wide
}
}
> .footer__links {
margin: auto;
padding-bottom: 1rem;
nav a {
display: block;
text-align: center;
}
@media only screen and (min-width: 768px) {
max-width: calc(min(60rem,90vw)); // avoid spreading too wide
nav {
display: flex;
flex-direction: row;
justify-content: space-around;
}
}
}
small {
color: $light-grey;
font-size: 0.64rem;
a {
text-decoration: inherit;
color: inherit;
&:hover {
color: inherit;
}
}
}
}
/* SIDE-DRAWER MENU */
.pi-pushmenu .sled {
.content ul {
padding: 0;
li {
&:first-child {
display: none;
}
a.nav-link {
padding: 0;
}
}
}
.push-menu-close-button {
background: transparent;
border: none;
&:focus {
outline: none;
}
}
}
/* DOCS */
.launch-cards {
button {
cursor: pointer;
box-sizing: border-box;
background: none;
margin: 0;
border: 0;
}
ul,
li {
list-style: none;
padding-left: 0;
}
}
// table of contents
.td-toc {
padding-top: 1.5rem !important;
top: 5rem !important;
@supports (position: sticky) {
position: sticky !important;
height: calc(100vh - 10rem);
overflow-y: auto;
}
#TableOfContents {
padding-top: 1rem;
}
}
main {
.td-content table code,
.td-content>table td {
word-break: break-word;
}
table.no-word-break td,
table.no-word-break code {
word-break: normal;
}
}
// blockquotes and callouts
body {
.alert {
// Override Docsy styles
padding: 0.4rem 0.4rem 0.4rem 1rem;
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
border-right: 1px solid #eee;
border-radius: 0.25em;
border-left-width: 0.5em; // fallback in case calc() is missing
background: #fff;
color: #000;
margin-top: 0.5em;
margin-bottom: 0.5em;
}
// Set minimum width and radius for alert color
.alert {
border-left-width: calc(max(0.5em, 4px));
border-top-left-radius: calc(max(0.5em, 4px));
border-bottom-left-radius: calc(max(0.5em, 4px));
}
.alert.callout.caution {
border-left-color: #f0ad4e;
}
.alert.callout.note {
border-left-color: #428bca;
}
.alert.callout.warning {
border-left-color: #d9534f;
}
.alert.third-party-content {
border-left-color: #444;
}
h1:first-of-type + .alert.callout {
margin-top: 1.5em;
}
}
// Special color for third party content disclaimers
.alert.third-party-content { border-left-color: #222 };
// Highlight disclaimer when targeted as a fragment
#third-party-content-disclaimer {
color: #000;
background: #f8f9fa;
transition: all 0.5s ease;
}
@keyframes disclaimer-highlight {
from { background: #f8f922; color: #000; }
50% { background: #f8f944; color: #000; }
to { background: #f8f9cb; color: #000; }
}
#third-party-content-disclaimer:target {
color: #000;
animation: disclaimer-highlight 1.25s ease;
background: #f8f9cb;
}
.deprecation-warning, .pageinfo.deprecation-warning {
padding: clamp(10px, 2vmin, 20px);
margin: clamp(10px, 1vh, 20px) 0;
background-color: #faf5b6;
color: #000;
}
.deprecation-warning.outdated-blog, .pageinfo.deprecation-warning.outdated-blog {
background-color: $blue;
color: $white;
}
body.td-home .deprecation-warning, body.td-blog .deprecation-warning, body.td-documentation .deprecation-warning {
border-radius: 3px;
}
.deprecation-warning p:only-child {
margin-bottom: 0;
}
.td-documentation .td-content > .highlight {
max-width: initial;
width: 100%;
}
body.td-home #deprecation-warning {
max-width: 1000px;
margin-top: 2.5rem;
margin-left: auto;
margin-right: auto;
}
#caseStudies body > #deprecation-warning, body.cid-casestudies > #deprecation-warning, body.cid-community > #deprecation-warning {
display: inline-block;
vertical-align: top;
position: relative;
background-color: #326ce5; // Kubernetes blue
color: #fff;
padding: 0;
margin: 0;
width: 100vw;
}
#caseStudies body > #deprecation-warning, body.cid-casestudies > #deprecation-warning {
padding-top: 32px;
}
body.cid-partners > #deprecation-warning {
padding: 0;
margin-right: 0;
margin-left: 0;
margin-top: 0;
width: 100vw;
}
body.cid-partners > #deprecation-warning > .content {
width: 100%;
max-width: initial;
margin-right: 0;
margin-left: 0;
margin-top: 0;
padding-left: 5vw;
padding-right: 5vw;
padding-top: 2rem;
padding-bottom: 2rem;
}
body.cid-community > #deprecation-warning > .deprecation-warning {
margin-left: 20px;
margin-right: 20px;
color: #faf5b6;
background-color: inherit;
}
body.cid-community > #deprecation-warning > .deprecation-warning > * {
color: inherit;
background-color: inherit;
}
#caseStudies body > #deprecation-warning > .deprecation-warning, body.cid-casestudies > #deprecation-warning > .deprecation-warning {
color: inherit;
background: inherit;
width: 80%;
margin: 0;
margin-top: 120px;
margin-left: auto;
margin-right: auto;
border-radius: initial;
}
#deprecation-warning > .deprecation-warning a {
background: transparent;
color: inherit;
text-decoration: underline;
}
// search & sidebar
.td-sidebar {
@media only screen and (min-width: 768px) {
padding-top: 1.5rem !important;
.td-sidebar__inner {
top: 8.5rem;
@media only screen and (min-width: 1075px) {
top: 6.5rem;
}
}
}
}
.td-sidebar-nav {
& > .td-sidebar-nav__section {
padding-top: .5rem;
padding-left: 1.5rem;
}
}
.td-sidebar__inner {
form.td-sidebar__search {
.td-sidebar__toggle {
&:hover {
color: #000000;
}
color: $blue;
margin: 1rem;
}
}
}
.no-underline {
text-decoration: none !important;
}
.hide {
display: none !important;
}
.td-sidebar-link__page {
&#m-docs-search {
display: none;
}
&#m-docs-test {
display: none;
}
}
//Tutorials
main.content {
position: inherit;
}
/* BLOG */
.td-blog {
.widget-link {
margin-bottom: 1rem;
.svg-inline--fa {
width: 25px;
}
span {
margin-left: 0.5rem;
}
}
}
/* COMMUNITY legacy styles */
/* Leave these in place until localizations are caught up */
.newcommunitywrapper {
.news {
margin-left: 0;
@media screen and (min-width: 768px) {
margin-left: 10%;
}
}
}
/* CASE-STUDIES */
// Many of the case studies have small variations in markup and styles;
// some issues cannot be addressed due to inlined !important rules.
#caseStudies {
section .cols {
margin-left: 11%;
div {
width: initial !important;
h2 {
margin-top: 1rem;
}
}
}
}
/* DOCUMENTATION */
/* Don't show lead text */
body.td-documentation {
main {
@media only screen {
> * {
> .lead:first-of-type {
display: none;
}
}
}
}
}
/* glossary tooltip */
.glossary-tooltip {
display: inline-block;
border-bottom: 1px dotted black; /* If you want dots under the hoverable text */
color: black;
text-decoration: none !important;
}
@media print {
/* Do not print announcements */
#announcement {
display: none;
}
}
#announcement {
> * {
color: inherit;
background: transparent;
}
a {
color: inherit;
border-bottom: 1px solid #fff;
}
a:hover {
color: inherit;
border-bottom: none;
}
}
.header-hero {
padding-top: 40px;
}
#announcement {
.announcement-main {
margin-left: auto;
margin-right: auto;
margin-bottom: 0px;
// for padding-top see _size.scss
padding-bottom: calc(max(2em, 2rem));
max-width: calc(min(1200px - 8em, 80vw));
}
/* always white */
h1, h2, h3, h4, h5, h6, p * {
color: #ffffff;
background: transparent;
img.event-logo {
display: inline-block;
max-height: calc(min(80px, 8em));
max-width: calc(min(240px, 33vw));
float: right;
}
}
}
#announcement + .header-hero {
padding-top: 2em;
}
// Extra padding for anything except wide viewports
@media (min-width: 992px) {
#announcement aside { // more specific
.announcement-main {
padding-top: calc(max(8em, 8rem));
}
}
}
@media (max-width: 768px) {
#announcement {
padding-top: 4rem;
padding-bottom: 4rem;
.announcement-main, aside .announcement-main {
padding-top: calc(min(2rem,2em));
}
}
}
@media (max-width: 480px) {
#announcement {
padding-bottom: 0.5em;
}
#announcement aside {
h1, h2, h3, h4, h5, h6 {
img.event-logo {
margin-left: auto;
margin-right: auto;
margin-bottom: 0.75em;
display: block;
max-height: initial;
max-width: calc(min(calc(100vw - 2em), 240px));
float: initial;
}
}
}
}
#announcement + .header-hero.filler {
display: none;
}
@media (min-width: 768px) {
#announcement + .header-hero {
display: none;
}
}
figure {
> figcaption {
padding-top: 1em;
margin-bottom: 3em;
}
}
// Clamp size for release logos
figure.release-logo {
> figcaption {
font-size: 1.8em;
}
> img {
max-width: 100%;
max-height: calc(max(40em,min(80vh,70em)));
height: auto;
width: auto;
}
}
// Match Docsy-imposed max width on text body
@media (min-width: 1200px) {
body.td-blog main .td-content > figure {
max-width: 80%;
}
}
.td-content {
table code {
background-color: inherit !important;
color: inherit !important;
font-size: inherit !important;
}
}
/* Force size constraints on figures */
figure {
&.diagram-small img {
max-height: clamp(20mm,12em,80vh);
margin-left: auto;
margin-right: auto;
display: block;
}
&.diagram-medium img {
max-height: clamp(25mm,20em,80vh);
margin-left: auto;
margin-right: auto;
display: block;
}
&.diagram-large img {
max-width: clamp(0vw, 95vw, 100%);
max-height: calc(80vh - 8rem);
}
figure + noscript > *{
max-width: calc(max(100%, 100vw));
}
}
@media only screen and (min-width: 768px) {
figure {
&.diagram-small, &.diagram-medium {
max-width: 80%;
}
&.diagram-large {
max-width: 100%;
width: 100%;
}
&.diagram-small img {
max-width: clamp(30rem, 45ch, 100mm);
}
&.diagram-medium img {
max-width: clamp(50rem, 20ch, 160mm);
}
&.diagram-large img {
max-width: clamp(25vw, 95vw, 100%);
max-height: calc(100vh - 10rem);
}
}
figure + noscript > * {
max-width: 80%;
}
}
// Indent definition lists
dl {
padding-left: 1.5em;
// Add vertical space before definitions
> *:not(dt) + dt, dt:first-child {
margin-top: 1.5em;
}
}
.release-details {
padding-left: 2em;
> :not(p) {
font-size: 1.125em;
}
.release-inline-heading, .release-inline-value {
display: inline-block
}
.release-inline-value {
padding-left: 0.25em;
}
p {
margin-top: 1em;
margin-bottom: 1em;
}
}
.no-js .mermaid {
display: none;
}
div.alert > em.javascript-required {
display: inline-block;
min-height: 1.5em;
margin: calc(max(4em, ( 8vh + 4em ) / 2)) 0 0.25em 0;
}
-99
View File
@@ -1,99 +0,0 @@
$main-max-width: 1200px;
$vendor-strip-height: 44px;
$video-section-height: 550px;
@media screen and (min-width: 1024px) {
.td-home {
.header-hero {
#vendorStrip {
display: block;
}
}
}
.td-home {
section,
header,
footer {
.main-section {
max-width: 1000px;
}
}
}
#oceanNodes {
.main-section {
position: relative;
&:nth-child(1) {
max-width: 1000px;
padding-right: 475px;
h3,
p {
text-align: left
}
.image-wrapper {
position: absolute;
max-width: 48%;
transform: translateY(-50%);
}
img {
width: 425px;
}
}
}
}
#video {
height: $video-section-height;
position: relative;
background-position: center center;
background-size: cover;
&>.light-text {
margin-right: 10%;
}
}
#talkToUs {
h4 {
br {
display: block;
}
}
#bigSocial {
div {
width: calc(25% - 18px);
}
div+div {
margin-left: 20px;
}
}
.td-home #bigSocial {
div {
width: calc(33% - 15px);
}
div:nth-child(3) {
margin-top: inherit;
}
}
}
.td-home #caseStudiesWrapper {
div {
width: 24%;
min-height: 260px;
}
}
}
-49
View File
@@ -1,49 +0,0 @@
// CONVENIENCE
.clear {
display: block;
clear: both;
}
.light-text {
color: white;
}
.right {
float: right;
}
.left {
float: left;
}
.center {
text-align: center;
}
//mixins
@mixin fullScreen {
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
}
@mixin pureCenter($left: 50%, $top: 50%) {
position: absolute;
top: $top;
left: $left;
transform: translate(-50%, -50%);
}
@mixin maintain-aspect-ratio(
$width-factor: 16,
$height-factor: 9,
$target-width: 80vw,
$target-height: 80vh
) {
width: $target-width;
height: $target-width * ($height-factor / $width-factor);
max-width: $target-height * ($width-factor / $height-factor);
max-height: $target-height;
}
-28
View File
@@ -1,28 +0,0 @@
section,
#vendorStrip {
padding-left: $full-width-paddingX;
padding-right: $full-width-paddingX;
}
#hamburger {
width: $hamburger-size;
height: $hamburger-size;
}
.header-hero {
padding-top: $hero-padding-top;
}
#vendorStrip {
height: $vendor-strip-height;
line-height: $vendor-strip-height;
font-size: $vendor-strip-font-size;
}
#announcement {
min-height: $hero-padding-top;
.announcement-main {
padding-top: calc(max(8em, 8rem, #{$hero-padding-top} / 3));
}
}
-5
View File
@@ -1,5 +0,0 @@
$blue: #3371e3;
$light-grey: #f7f7f7;
$dark-grey: #303030;
$medium-grey: #4c4c4c;
$white: #ffffff;
-214
View File
@@ -1,214 +0,0 @@
// header
$full-width-paddingX: 20px;
$main-width: 100%;
$main-max-width: 100%;
$header-height: 80px;
$logo-width: 180px;
$nav-buttons-margin-left: 30px;
$hamburger-size: 50px;
// main nav
$main-nav-padding: 140px 0 30px;
$main-nav-h5-margin-bottom: 1em;
$main-nav-h3-margin-bottom: 0.6em;
$nav-box-width: 20%;
$nav-box-sibling-margin-left: calc(20% / 3);
$main-nav-main-sibling-margin-top: 60px;
$main-nav-left-button-size: 50px;
$main-nav-left-button-font-size: 18px;
// hero
$hero-padding-top: 116px;
$headline-wrapper-margin-bottom: 40px;
$quickstart-button-padding: 0 50px;
$vendor-strip-font-size: 16px;
//video
$video-section-height: 400px;
//features
$features-h3-margin-bottom: 40px;
$feature-box-margin-bottom: 60px;
$feature-box-div-margin-bottom: 0;
$feature-box-div-width: 45%;
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
@media screen and (min-width: 768px) {
@import "size";
#hamburger {
display: none;
}
.td-home {
#viewDocs,
#tryKubernetes {
display: inline-block;
}
}
#vendorStrip {
display: block;
text-align: center;
img {
max-height: 24px;
vertical-align: middle;
margin: 0 30px;
}
}
#oceanNodes {
h3 {
text-align: left;
margin-bottom: 18px;
}
main,
.main-section {
position: relative;
clear: both;
display: table;
.content {
display: table-cell;
position: relative;
vertical-align: middle;
}
.image-wrapper {
position: absolute;
top: 50%;
max-width: 25%;
max-height: 100%;
transform: translateY(-50%);
width: 100%;
}
&:nth-child(odd) {
padding-right: 210px;
.image-wrapper {
right: 0;
text-align: right;
}
}
&:nth-child(even) {
padding-left: 210px;
.image-wrapper {
left: 0;
text-align: left;
}
}
&:nth-child(1) {
padding-right: 0;
h3,
p {
text-align: center;
}
.image-wrapper {
position: relative;
display: block;
float: none;
text-align: center;
max-width: 100%;
transform: none;
}
.content {
display: block;
}
}
img {
width: 100%;
}
}
}
#video {
height: $video-section-height;
display: block;
height: 500px;
& > .light-text {
display: block;
float: right;
text-align: left;
margin-right: 5%;
}
}
#mobileShowVideoButton {
display: none;
}
#features {
padding-bottom: 60px;
.feature-box {
margin-bottom: 30px;
&:last-child {
margin-bottom: 0;
}
}
h3 {
margin-bottom: $features-h3-margin-bottom;
}
.feature-box {
& > div {
width: $feature-box-div-width;
margin-bottom: $feature-box-div-margin-bottom;
}
}
}
#talkToUs {
#bigSocial {
div {
width: calc(50% - 15px);
}
div + div {
margin-top: 0;
}
div:nth-child(2) {
margin-left: 20px;
}
div:nth-child(4) {
margin-left: 20px;
}
a {
display: inline-block;
color: $blue;
font-weight: 400;
text-decoration: none;
}
}
}
.td-home #caseStudiesWrapper {
div {
width: 48%;
}
}
}
-27
View File
@@ -1,27 +0,0 @@
/* This file is provided by Docsy as an entry point to styling.
Add styles or override variables from the theme here. */
@import "reset";
@import "skin";
//K8S-Docsy integration
@import "custom";
//Media queries
@import "base";
@import "tablet";
@import "desktop";
$primary: #3371e3;
// tooltip
$tooltip-bg: #555;
$tooltip-arrow-color: $tooltip-bg !default;
$tooltip-arrow-width: 10px !default;
$tooltip-opacity: 1 !default;
$tooltip-color: #fff !default;
$tooltip-max-width: 300px !default;
$tooltip-font-size: 1rem;
$tooltip-padding: 5px 8px;
$tooltip-border-radius: 6px;
$tooltip-font-weight: 400;
-25
View File
@@ -1,25 +0,0 @@
# See https://cloud.google.com/cloud-build/docs/build-config
# this must be specified in seconds. If omitted, defaults to 600s (10 mins)
timeout: 1200s
# this prevents errors if you don't use both _GIT_TAG and _PULL_BASE_REF,
# or any new substitutions added in the future.
options:
substitution_option: ALLOW_LOOSE
steps:
# It's fine to bump the tag to a recent version, as needed
- name: "gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20210917-12df099d55"
entrypoint: make
env:
- DOCKER_CLI_EXPERIMENTAL=enabled
- TAG=$_GIT_TAG
- BASE_REF=$_PULL_BASE_REF
args:
- container-image
substitutions:
# _GIT_TAG will be filled with a git-based tag for the image, of the form vYYYYMMDD-hash, and
# can be used as a substitution
_GIT_TAG: "12345"
# _PULL_BASE_REF will contain the ref that was pushed to to trigger this build -
# a branch like 'master' or 'release-0.2', or a tag like 'v0.2'.
_PULL_BASE_REF: "master"
+57 -286
View File
@@ -1,11 +1,6 @@
baseURL = "https://kubernetes.io"
title = "Kubernetes"
# Hugo allows theme composition (and inheritance). The precedence is from left to right.
theme = ["docsy"]
# Language settings
contentDir = "content/en"
defaultContentLanguage = "en"
defaultContentLanguageInSubdir = false
enableRobotsTXT = true
@@ -13,16 +8,15 @@ disableBrowserError = true
disableKinds = ["taxonomy", "taxonomyTerm"]
ignoreFiles = [ "(?:^|/)OWNERS$", "README[-]+[a-z]*\\.md", "^node_modules$", "content/en/docs/doc-contributor-tools" ]
ignoreFiles = [ "^OWNERS$", "README[-]+[a-z]*\\.md", "^node_modules$", "content/en/docs/doc-contributor-tools" ]
contentDir = "content/en"
timeout = 3000
# Highlighting config.
pygmentsCodeFences = true
pygmentsUseClasses = false
# Use the new Chroma Go highlighter in Hugo.
pygmentsUseClassic = false
#pygmentsOptions = "linenos=table"
# See https://help.farbox.com/pygments.html
pygmentsStyle = "emacs"
@@ -31,51 +25,12 @@ enableGitInfo = true
# Norwegian ("no") is sometimes but not currently used for testing.
# Hindi is disabled because it's currently in development.
disableLanguages = ["hi", "no"]
# Italian is disabled until it meets minimum standards for quality.
disableLanguages = ["hi", "it", "no"]
[caches]
[caches.assets]
dir = ":cacheDir/_gen"
maxAge = -1
[caches.getcsv]
dir = ":cacheDir/:project"
maxAge = "60s"
[caches.getjson]
dir = ":cacheDir/:project"
maxAge = "60s"
[caches.images]
dir = ":cacheDir/_images"
maxAge = -1
[caches.modules]
dir = ":cacheDir/modules"
maxAge = -1
[markup]
[markup.goldmark]
[markup.goldmark.extensions]
definitionList = true
table = true
typographer = false
[markup.goldmark.parser]
attribute = true
autoHeadingID = true
autoHeadingIDType = "blackfriday"
[markup.goldmark.renderer]
unsafe = true
[markup.highlight]
codeFences = true
guessSyntax = false
hl_Lines = ""
lineNoStart = 1
lineNos = false
lineNumbersInTable = true
noClasses = true
style = "emacs"
tabWidth = 4
[markup.tableOfContents]
endLevel = 3
ordered = false
startLevel = 2
[blackfriday]
hrefTargetBlank = true
fractions = false
[frontmatter]
date = ["date", ":filename", "publishDate", "lastmod"]
@@ -83,15 +38,11 @@ date = ["date", ":filename", "publishDate", "lastmod"]
[permalinks]
blog = "/:section/:year/:month/:day/:slug/"
[sitemap]
filename = "sitemap.xml"
priority = 0.75
# Be explicit about the output formats. We (currently) only want an RSS feed for the home page.
[outputs]
home = [ "HTML", "RSS", "HEADERS" ]
page = [ "HTML"]
section = [ "HTML", "print" ]
section = [ "HTML"]
# Add a "text/netlify" media type for auto-generating the _headers file
[mediaTypes]
@@ -109,187 +60,69 @@ baseName = "_headers"
isPlainText = true
notAlternative = true
# Image processing configuration.
[imaging]
resampleFilter = "CatmullRom"
quality = 75
anchor = "smart"
[services]
[services.googleAnalytics]
# Comment out the next line to disable GA tracking. Also disables the feature described in [params.ui.feedback].
id = "UA-00000000-0"
[params]
copyright_k8s = "The Kubernetes Authors"
copyright_linux = "Copyright © 2020 The Linux Foundation ®."
# privacy_policy = "https://policies.google.com/privacy"
# First one is picked as the Twitter card image if not set on page.
# images = ["images/project-illustration.png"]
# Menu title if your navbar has a versions selector to access old versions of your site.
# This menu appears only if you have at least one [params.versions] set.
version_menu = "Versions"
time_format_blog = "Monday, January 02, 2006"
time_format_default = "January 02, 2006 at 3:04 PM PST"
description = "Production-Grade Container Orchestration"
showedit = true
latest = "v1.24"
latest = "v1.18"
fullversion = "v1.24.0"
version = "v1.24"
githubbranch = "main"
docsbranch = "main"
deprecated = false
fullversion = "v1.14.10"
version = "v1.14"
githubbranch = "v1.14.10"
docsbranch = "release-1.14"
deprecated = true
currentUrl = "https://kubernetes.io/docs/home/"
nextUrl = "https://kubernetes-io-vnext-staging.netlify.com/"
# See codenew shortcode
githubWebsiteRepo = "github.com/kubernetes/website"
githubWebsiteRaw = "raw.githubusercontent.com/kubernetes/website"
# GitHub repository link for editing a page and opening issues.
github_repo = "https://github.com/kubernetes/website"
#Searching
k8s_search = true
#The following search parameters are specific to Docsy's implementation. Kubernetes implementes its own search-related partials and scripts.
# Google Custom Search Engine ID. Remove or comment out to disable search.
#gcs_engine_id = "011737558837375720776:fsdu1nryfng"
# Enable Algolia DocSearch
algolia_docsearch = false
# Enable Lunr.js offline search
offlineSearch = false
[params.pushAssets]
css = [
"callouts",
"styles"
"styles",
"custom-jekyll/tags"
]
js = [
"custom-jekyll/tags",
"script"
]
[[params.versions]]
fullversion = "v1.24.0"
version = "v1.24"
githubbranch = "v1.24.0"
docsbranch = "main"
fullversion = "v1.18.0"
version = "v1.18"
githubbranch = "v1.18.0"
docsbranch = "release-1.18"
url = "https://kubernetes.io"
[[params.versions]]
fullversion = "v1.23.6"
version = "v1.23"
githubbranch = "v1.23.6"
docsbranch = "release-1.23"
url = "https://v1-23.docs.kubernetes.io"
fullversion = "v1.17.4"
version = "v1.17"
githubbranch = "v1.17.4"
docsbranch = "release-1.17"
url = "https://v1-17.docs.kubernetes.io"
[[params.versions]]
fullversion = "v1.22.9"
version = "v1.22"
githubbranch = "v1.22.9"
docsbranch = "release-1.22"
url = "https://v1-22.docs.kubernetes.io"
fullversion = "v1.16.8"
version = "v1.16"
githubbranch = "v1.16.8"
docsbranch = "release-1.16"
url = "https://v1-16.docs.kubernetes.io"
[[params.versions]]
fullversion = "v1.21.12"
version = "v1.21"
githubbranch = "v1.21.12"
docsbranch = "release-1.21"
url = "https://v1-21.docs.kubernetes.io"
fullversion = "v1.15.11"
version = "v1.15"
githubbranch = "v1.15.11"
docsbranch = "release-1.15"
url = "https://v1-15.docs.kubernetes.io"
[[params.versions]]
fullversion = "v1.20.15"
version = "v1.20"
githubbranch = "v1.20.15"
docsbranch = "release-1.20"
url = "https://v1-20.docs.kubernetes.io"
# User interface configuration
[params.ui]
# Enable to show the side bar menu in its compact state.
sidebar_menu_compact = false
# Show expand/collapse icon for sidebar sections.
sidebar_menu_foldable = true
# https://github.com/gohugoio/hugo/issues/8918#issuecomment-903314696
sidebar_cache_limit = 1
# Set to true to disable breadcrumb navigation.
breadcrumb_disable = false
# Set to true to hide the sidebar search box (the top nav search box will still be displayed if search is enabled)
sidebar_search_disable = false
# Set to false if you don't want to display a logo (/assets/icons/logo.svg) in the top nav bar
navbar_logo = true
# Set to true to disable the About link in the site footer
footer_about_disable = false
# Adds a H2 section titled "Feedback" to the bottom of each doc. The responses are sent to Google Analytics as events.
# This feature depends on [services.googleAnalytics] and will be disabled if "services.googleAnalytics.id" is not set.
# If you want this feature, but occasionally need to remove the "Feedback" section from a single page,
# add "hide_feedback: true" to the page's front matter.
[params.ui.feedback]
enable = true
# The responses that the user sees after clicking "yes" (the page was helpful) or "no" (the page was not helpful).
yes = 'Glad to hear it! Please <a href="https://github.com/USERNAME/REPOSITORY/issues/new">tell us how we can improve</a>.'
no = 'Sorry to hear that. Please <a href="https://github.com/USERNAME/REPOSITORY/issues/new">tell us how we can improve</a>.'
[params.links]
# End user relevant links. These will show up on left side of footer and in the community page if you have one.
[[params.links.user]]
name = "User mailing list"
url = "https://discuss.kubernetes.io"
icon = "fa fa-envelope"
desc = "Discussion and help from your fellow users"
[[params.links.user]]
name = "Twitter"
url = "https://twitter.com/kubernetesio"
icon = "fab fa-twitter"
desc = "Follow us on Twitter to get the latest news!"
[[params.links.user]]
name = "Calendar"
url = "https://calendar.google.com/calendar/embed?src=calendar%40kubernetes.io"
icon = "fas fa-calendar-alt"
desc = "Google Calendar for Kubernetes"
[[params.links.user]]
name = "Youtube"
url = "https://youtube.com/kubernetescommunity"
icon = "fab fa-youtube"
desc = "Youtube community videos"
# Developer relevant links. These will show up on right side of footer and in the community page if you have one.
[[params.links.developer]]
name = "GitHub"
url = "https://github.com/kubernetes/kubernetes"
icon = "fab fa-github"
desc = "Development takes place here!"
[[params.links.developer]]
name = "Slack"
url = "https://slack.k8s.io"
icon = "fab fa-slack"
desc = "Chat with other project developers"
[[params.links.developer]]
name = "Contribute"
url = "https://git.k8s.io/community/contributors/guide"
icon = "fas fa-edit"
desc = "Contribute to the Kubernetes website"
[[params.links.developer]]
name = "Stack Overflow"
url = "https://stackoverflow.com/questions/tagged/kubernetes"
icon = "fab fa-stack-overflow"
desc = "Practical questions and curated answers"
fullversion = "v1.14.10"
version = "v1.14"
githubbranch = "v1.14.10"
docsbranch = "release-1.14"
url = "https://v1-14.docs.kubernetes.io"
# Language definitions.
@@ -300,27 +133,25 @@ description = "Production-Grade Container Orchestration"
languageName ="English"
# Weight used for sorting.
weight = 1
languagedirection = "ltr"
[languages.zh]
title = "Kubernetes"
description = "生产级别的容器编排系统"
description = "Production-Grade Container Orchestration"
languageName = "中文 Chinese"
weight = 2
contentDir = "content/zh"
languagedirection = "ltr"
[languages.zh.params]
time_format_blog = "2006.01.02"
language_alternatives = ["en"]
deprecated = false
[languages.ko]
title = "Kubernetes"
description = "운영 수준의 컨테이너 오케스트레이션"
description = "Production-Grade Container Orchestration"
languageName = "한국어 Korean"
weight = 3
contentDir = "content/ko"
languagedirection = "ltr"
[languages.ko.params]
time_format_blog = "2006.01.02"
@@ -328,11 +159,10 @@ language_alternatives = ["en"]
[languages.ja]
title = "Kubernetes"
description = "プロダクショングレードのコンテナ管理基盤"
description = "Production-Grade Container Orchestration"
languageName = "日本語 Japanese"
weight = 4
contentDir = "content/ja"
languagedirection = "ltr"
[languages.ja.params]
time_format_blog = "2006.01.02"
@@ -340,11 +170,10 @@ language_alternatives = ["en"]
[languages.fr]
title = "Kubernetes"
description = "Solution professionnelle dorchestration de conteneurs"
description = "Production-Grade Container Orchestration"
languageName ="Français"
weight = 5
contentDir = "content/fr"
languagedirection = "ltr"
[languages.fr.params]
time_format_blog = "02.01.2006"
@@ -353,11 +182,10 @@ language_alternatives = ["en"]
[languages.it]
title = "Kubernetes"
description = "Orchestrazione di Container in produzione"
languageName = "Italiano"
description = "Production-Grade Container Orchestration"
languageName ="Italian"
weight = 6
contentDir = "content/it"
languagedirection = "ltr"
[languages.it.params]
time_format_blog = "02.01.2006"
@@ -370,7 +198,6 @@ description = "Production-Grade Container Orchestration"
languageName ="Norsk"
weight = 7
contentDir = "content/no"
languagedirection = "ltr"
[languages.no.params]
time_format_blog = "02.01.2006"
@@ -379,11 +206,10 @@ language_alternatives = ["en"]
[languages.de]
title = "Kubernetes"
description = "Produktionsreife Container-Orchestrierung"
description = "Production-Grade Container Orchestration"
languageName ="Deutsch"
weight = 8
contentDir = "content/de"
languagedirection = "ltr"
[languages.de.params]
time_format_blog = "02.01.2006"
@@ -392,37 +218,34 @@ language_alternatives = ["en"]
[languages.es]
title = "Kubernetes"
description = "Orquestación de contenedores para producción"
description = "Production-Grade Container Orchestration"
languageName ="Español"
weight = 9
contentDir = "content/es"
languagedirection = "ltr"
[languages.es.params]
time_format_blog = "02.01.2006"
# A list of language codes to look for untranslated content, ordered from left to right.
language_alternatives = ["en"]
[languages.pt-br]
[languages.pt]
title = "Kubernetes"
description = "Orquestração de contêineres em nível de produção"
languageName ="Português"
weight = 9
contentDir = "content/pt-br"
languagedirection = "ltr"
contentDir = "content/pt"
[languages.pt-br.params]
[languages.pt.params]
time_format_blog = "02.01.2006"
# A list of language codes to look for untranslated content, ordered from left to right.
language_alternatives = ["en"]
[languages.id]
title = "Kubernetes"
description = "Orkestrasi Kontainer dengan Skala Produksi"
description = "Production-Grade Container Orchestration"
languageName ="Bahasa Indonesia"
weight = 10
contentDir = "content/id"
languagedirection = "ltr"
[languages.id.params]
time_format_blog = "02.01.2006"
@@ -432,58 +255,6 @@ language_alternatives = ["en"]
[languages.hi]
title = "Kubernetes"
description = "Production-Grade Container Orchestration"
languageName = "Hindi"
languageName ="Hindi"
weight = 11
contentDir = "content/hi"
languagedirection = "ltr"
[languages.hi.params]
time_format_blog = "01.02.2006"
language_alternatives = ["en"]
[languages.vi]
title = "Kubernetes"
description = "Giải pháp điều phối container trong môi trường production"
languageName = "Tiếng Việt"
contentDir = "content/vi"
weight = 12
languagedirection = "ltr"
[languages.ru]
title = "Kubernetes"
description = "Первоклассная оркестрация контейнеров"
languageName = "Русский"
weight = 12
contentDir = "content/ru"
languagedirection = "ltr"
[languages.ru.params]
time_format_blog = "02.01.2006"
# A list of language codes to look for untranslated content, ordered from left to right.
language_alternatives = ["en"]
[languages.pl]
title = "Kubernetes"
description = "Produkcyjny system zarządzania kontenerami"
languageName = "Polski"
weight = 13
contentDir = "content/pl"
languagedirection = "ltr"
[languages.pl.params]
time_format_blog = "01.02.2006"
# A list of language codes to look for untranslated content, ordered from left to right.
language_alternatives = ["en"]
[languages.uk]
title = "Kubernetes"
description = "Довершена система оркестрації контейнерів"
languageName = "Українська"
weight = 14
contentDir = "content/uk"
languagedirection = "ltr"
[languages.uk.params]
time_format_blog = "02.01.2006"
# A list of language codes to look for untranslated content, ordered from left to right.
language_alternatives = ["en"]
+12 -10
View File
@@ -1,35 +1,36 @@
---
title: "Produktionsreife Container-Orchestrierung"
title: "Production-Grade Container Orchestration"
abstract: "Automatisierte Bereitstellung, Skalierung und Verwaltung von Containern"
cid: home
---
{{< deprecationwarning >}}
{{< blocks/section id="oceanNodes" >}}
{{% blocks/feature image="flower" %}}
### [Kubernetes (K8s)]({{< relref "/docs/concepts/overview/what-is-kubernetes" >}}) ist ein Open-Source-System zur Automatisierung der Bereitstellung, Skalierung und Verwaltung von containerisierten Anwendungen.
Es gruppiert Container, aus denen sich eine Anwendung zusammensetzt, in logische Einheiten, um die Verwaltung und Erkennung zu erleichtern. Kubernetes baut auf [15 Jahre Erfahrung in Bewältigung von Produktions-Workloads bei Google](http://queue.acm.org/detail.cfm?id=2898444), kombiniert mit Best-of-Breed-Ideen und Praktiken aus der Community.
Es gruppiert Container, aus denen sich eine Anwendung zusammensetzt, in logische Einheiten, um die Verwaltung und Erkennung zu erleichtern. Kubernetes baut auf [15 Jahre Erfahrung in Bewältigung von Produktions-Workloads bei Google] (http://queue.acm.org/detail.cfm?id=2898444), kombiniert mit Best-of-Breed-Ideen und Praktiken aus der Community.
{{% /blocks/feature %}}
{{% blocks/feature image="scalable" %}}
#### Ausgereift
#### Planet Scale
Kubernetes basiert auf denselben Prinzipien, die es Google ermöglichen, Milliarden von Containern pro Woche zu betreiben.
{{% /blocks/feature %}}
{{% blocks/feature image="blocks" %}}
#### Mitwachsend
#### Never Outgrow
Unabhängig davon, ob Du lokal testest oder ein globales Unternehmen betreibst: Die Flexibilität von Kubernetes wächst mit Dir, um Deine Anwendungen konsistent und einfach bereitzustellen - Unabhängig von der Komplexität Deiner Anforderungen.
Unabhängig davon, ob Sie lokal testen oder ein globales Unternehmen betreiben, die Flexibilität von Kubernetes wächst mit Ihnen, um Ihre Anwendungen konsistent und einfach bereitzustellen, unabhängig von der Komplexität Ihrer Anforderungen.
{{% /blocks/feature %}}
{{% blocks/feature image="suitcase" %}}
#### Überall Lauffähig
#### Run Anywhere
Kubernetes ist Open Source und bietet Dir die Freiheit, die Infrastruktur vor Ort, Hybrid oder Public Cloud zu nutzen. So kannst Du Workloads mühelos dorthin verschieben, wo es Dir wichtig ist.
Kubernetes ist Open Source und bietet Ihnen die Freiheit, die Infrastruktur vor Ort, Hybrid oder Public Cloud zu nutzen. So können Sie Workloads mühelos dorthin verschieben, wo es Ihnen wichtig ist.
{{% /blocks/feature %}}
@@ -38,16 +39,17 @@ Kubernetes ist Open Source und bietet Dir die Freiheit, die Infrastruktur vor Or
{{< blocks/section id="video" background-image="kub_video_banner_homepage" >}}
<div class="light-text">
<h2>Die Herausforderungen bei der Migration von über 150 Microservices auf Kubernetes</h2>
<p>Von Sarah Wells, technische Direktorin für Betrieb und Zuverlässigkeit, Financial Times</p>
<p>Von Sarah Wells, technischer Direktor für Betrieb und Zuverlässigkeit, Financial Times</p>
<button id="desktopShowVideoButton" onclick="kub.showVideo()">Video ansehen</button>
<br>
<br>
<a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-europe-2022/?utm_source=kubernetes.io&utm_medium=nav&utm_campaign=kccnceu22" button id="desktopKCButton">Besuche die KubeCon Europe vom 16. bis 20. Mai 2022</a>
<br>
<a href="https://events.linuxfoundation.org/events/kubecon-cloudnativecon-europe-2019" button id="desktopKCButton">KubeCon vom 20-23. Mai 2019 in Barcelona</a>
<br>
<br>
<br>
<br>
<a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/?utm_source=kubernetes.io&utm_medium=nav&utm_campaign=kccncna22" button id="desktopKCButton">Besuchen die KubeCon North America vom 24. bis 28. Oktober 2022</a>
<a href="https://www.lfasiallc.com/events/kubecon-cloudnativecon-china-2019" button id="desktopKCButton">KubeCon vom 24-26. Juni 2019 in Shanghai</a>
</div>
<div id="videoPlayer">
<iframe data-url="https://www.youtube.com/embed/H06qrNmGqyE?autoplay=1" frameborder="0" allowfullscreen></iframe>
+1 -1
View File
@@ -1,7 +1,7 @@
---
title: Fallstudien
linkTitle: Fallstudien
bigheader: Kubernetes Anwenderberichte
bigheader: Kubernetes Anwenderberichte
abstract: Eine Sammlung von Benutzern, die Kubernetes in Produktion verwenden.
layout: basic
class: gridPage
+51 -246
View File
@@ -4,253 +4,58 @@ layout: basic
cid: community
---
<div class="newcommunitywrapper">
<div class="banner1">
<img src="/images/community/kubernetes-community-final-02.jpg" alt="Kubernetes-Konferenz Galerie" style="width:100%;padding-left:0px" class="desktop">
<img src="/images/community/kubernetes-community-02-mobile.jpg" alt="Kubernetes-Konferenz Galerie" style="width:100%;padding-left:0px" class="mobile">
</div>
<section id="mainContent">
<main>
<div class="content">
<h3>Die Gewissheit, dass Kubernetes überall und für alle gut funktioniert.</h3>
<p>Verbinden Sie sich mit der Kubernetes-Community in unserem <a href="http://slack.k8s.io/">Slack Kanal</a>, <a href="https://discuss.kubernetes.io/">Diskussionsforum</a>, oder beteiligen Sie sich an der <a href="https://groups.google.com/forum/#!forum/kubernetes-dev"> Kubernetes-dev-Google-Gruppe</a>. Eine wöchentliches Community-Meeting findet per Videokonferenz statt, um den Stand der Dinge zu diskutieren, folgen Sie
<a href="https://github.com/kubernetes/community/blob/master/events/community-meeting.md">diesen Anweisungen</a> für Informationen wie Sie teilnehmen können.</p>
<p>Sie können Kubernetes auch auf der ganzen Welt über unsere
<a href="https://www.meetup.com/topics/kubernetes/">Kubernetes Meetup Community</a> und der
<a href="https://www.meetup.com/Kubernetes-Cloud-Native-Online-Meetup/">Kubernetes Cloud Native Meetup Community</a> beitreten.</p>
</div>
<div class="content">
<h3>Special Interest Groups (SIGs)</h3>
<p>Haben Sie ein besonderes Interesse daran, wie Kubernetes mit einer anderen Technologie arbeitet? Werfen Sie einen Blick auf unsere kontinuierlich wachsende
<a href="https://git.k8s.io/community/sig-list.md">Listen von SIGs</a>, von AWS und Openstack bis hin zu Big Data und Skalierbarkeit, es gibt einen Platz für Sie, an dem Sie mitwirken können, und Anweisungen zur Gründung einer neuen SIG finden, wenn Ihr besonderes Interesse (noch) nicht abgedeckt ist.
</p>
<div class="intro">
<br class="mobile">
<p>Die Kubernetes-Community - Nutzer, Mitwirkende und die Kultur, die wir gemeinsam aufgebaut haben - ist einer der Hauptgründe für den kometenhaften Aufstieg dieses Open-Source-Projekts. Unsere Kultur und unsere Werte wachsen und entwickeln sich mit dem Wachstum und der Veränderung des Projekts selbst. Wir alle arbeiten gemeinsam an der ständigen Verbesserung des Projekts und der Art und Weise, wie wir daran arbeiten.
<br><br>Wir sind die Leute, die Probleme und Pull-Requests einreichen, an SIG-Treffen (Special Interest Groups), Kubernetes-Treffen und der KubeCon teilnehmen, sich für die Einführung und Innovation von Kubernetes einsetzen, <code>kubectl get pods</code> ausführen und auf tausend andere wichtige Arten beitragen. Lies weiter, um zu erfahren, wie Du dich engagieren und Teil dieser faszinierenden Gemeinschaft werden kannst.</p>
<br class="mobile">
</div>
<p>Als Mitglied der Kubernetes-Community sind Sie herzlich eingeladen, an allen SIG-Treffen teilzunehmen, die Sie interessieren. Eine Registrierung ist nicht erforderlich.</p>
<div class="community__navbar">
</div>
<a href="#values">Gemeinschaftswerte</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="#conduct">Verhaltenskodex </a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="#videos">Videos</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="#discuss">Diskussionen</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="#events">Veranstaltungen und meetups</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="#news">Neuigkeiten</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="/releases">Releases</a>
<div class="content">
<h3>Verhaltensregeln</h3>
<p>Die Kubernetes-Community schätzt Respekt und Inklusivität und setzt einen <a href="code-of-conduct/">Verhaltenskodex</a>
in allen Interaktionen durch. Wenn Sie einen Verstoß gegen den Verhaltenskodex bei einer Veranstaltung oder Sitzung,
in Slack oder in einem anderen Kommunikationsmechanismus feststellen, wenden Sie sich
bitte an das <a href="https://github.com/kubernetes/community/tree/master/committee-code-of-conduct">Kubernetes Code of Conduct Committee</a> <a href="mailto:conduct@kubernetes.io">conduct@kubernetes.io</a>. Ihre Anonymität wird geschützt.
</p>
</div>
</main>
</section>
</div>
<br class="mobile"><br class="mobile">
<div class="imagecols">
<br class="mobile">
<div class="imagecol">
<img src="/images/community/kubernetes-community-final-03.jpg" alt="Kubernetes-Konferenz Galerie" style="width:100%" class="desktop">
</div>
<div class="imagecol">
<img src="/images/community/kubernetes-community-final-04.jpg" alt="Kubernetes-Konferenz Galerie" style="width:100%" class="desktop">
</div>
<div class="imagecol" style="margin-right:0% important">
<img src="/images/community/kubernetes-community-final-05.jpg" alt="Kubernetes-Konferenz Galerie" style="width:100%;margin-right:0% important" class="desktop">
</div>
<img src="/images/community/kubernetes-community-04-mobile.jpg" alt="Kubernetes-Konferenz Galerie" style="width:100%;margin-bottom:3%" class="mobile">
<a name="values"></a>
</div>
<div><a name="values"></a></div>
<div class="conduct">
<div class="conducttext">
<br class="mobile"><br class="mobile">
<br class="tablet"><br class="tablet">
<div class="conducttextnobutton" style="margin-bottom:2%"><h1>Gemeinschaftswerte</h1>
Die Werte der Kubernetes-Community sind der Grundstein für den anhaltenden Erfolg des Projekts.<br>
Diese Prinzipien leiten jeden Aspekt des Kubernetes-Projekts.
<br>
<a href="/community/values/">
<br class="mobile"><br class="mobile">
<span class="fullbutton">
MEHR ERFAHREN
</span>
</a>
</div><a name="conduct"></a>
</div>
</div>
<div class="conduct">
<div class="conducttext">
<br class="mobile"><br class="mobile">
<br class="tablet"><br class="tablet">
<div class="conducttextnobutton" style="margin-bottom:2%"><h1>Verhaltenskodex</h1>
Die Kubernetes-Gemeinschaft legt Wert auf Respekt und Inklusivität und setzt bei allen Interaktionen einen Verhaltenskodex durch. Wenn Du einen Verstoß gegen den Verhaltenskodex bei einer Veranstaltung oder einem Treffen, in Slack oder in einem anderen Kommunikationsmechanismus bemerkst, wende dich an das Kubernetes Code of Conduct Committee unter <a href="mailto:conduct@kubernetes.io" style="color:#0662EE;font-weight:300">conduct@kubernetes.io</a>. Alle Berichte werden vertraulich behandelt. Du kannst&nbsp;<a href="https://github.com/kubernetes/community/tree/master/committee-code-of-conduct" style="color:#0662EE;font-weight:300">hier</a> mehr über den Ausschuss erfahren.
<br>
<a href="https://kubernetes.io/de/community/code-of-conduct/">
<br class="mobile"><br class="mobile">
<span class="fullbutton">
MEHR ERFAHREN
</span>
</a>
</div><a name="videos"></a>
</div>
</div>
<div class="videos">
<br class="mobile"><br class="mobile">
<br class="tablet"><br class="tablet">
<h1 style="margin-top:0px">Videos</h1>
<div style="margin-bottom:4%;font-weight:300;text-align:center;padding-left:10%;padding-right:10%">Wir sind auf YouTube, und zwar oft. Abonniere uns für eine Vielzahl von&nbsp;Themen.</div>
<div class="videocontainer">
<div class="video">
<iframe width="100%" height="250" src="https://www.youtube.com/embed/videoseries?list=PL69nYSiGNLP3azFUvYJjGn45YbF6C-uIg" title="Monatliche Bürozeiten" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
<a href="https://www.youtube.com/playlist?list=PL69nYSiGNLP3azFUvYJjGn45YbF6C-uIg">
<div class="videocta">
Monatliche Bürozeiten ansehen&nbsp;&#9654;</div>
</a>
</div>
<div class="video">
<iframe width="100%" height="250" src="https://www.youtube.com/embed/videoseries?list=PL69nYSiGNLP1pkHsbPjzAewvMgGUpkCnJ" title="Wöchentliche Treffen der Gemeinschaft" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
<a href="https://www.youtube.com/playlist?list=PL69nYSiGNLP1pkHsbPjzAewvMgGUpkCnJ">
<div class="videocta">
Wöchentliche Treffen der Gemeinschaft ansehen&nbsp;&#9654;
</div>
</a>
</div>
<div class="video">
<iframe width="100%" height="250" src="https://www.youtube.com/embed/videoseries?list=PL69nYSiGNLP3QpQrhZq_sLYo77BVKv09F" title="Vortrag eines Mitglieds der Gemeinschaft" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
<a href="https://www.youtube.com/playlist?list=PL69nYSiGNLP3QpQrhZq_sLYo77BVKv09F">
<div class="videocta">
Vortrag eines Mitglieds der Gemeinschaft ansehen&nbsp;&#9654;
</div>
</a>
<a name="discuss"></a>
</div>
</div>
</div>
<div class="resources">
<br class="mobile"><br class="mobile">
<br class="tablet"><br class="tablet">
<h1 style="padding-top:1%">Diskussionen</h1>
<div style="font-weight:300;text-align:center">Wir reden gerne und viel. Triff uns auf einer dieser Plattformen und beteilige dich an den Diskussionen.</div>
<div class="resourcecontainer">
<div class="resourcebox">
<img src="/images/community/discuss.png" alt=Forum" style="width:80%;padding-bottom:2%">
<a href="https://discuss.kubernetes.io/" style="color:#0662EE;display:block;margin-top:1%">
forum&nbsp;&#9654;
</a>
<div class="resourceboxtext" style="font-size:12px;text-transform:none !important;font-weight:300;line-height:1.4em;color:#333333;margin-top:4%">
Themenbezogene technische Diskussionen, die eine Brücke zu Docs, StackOverflow und vielem mehr schlagen.
</div>
</div>
<div class="resourcebox">
<img src="/images/community/twitter.png" alt="Twitter" style="width:80%;padding-bottom:2%">
<a href="https://twitter.com/kubernetesio" style="color:#0662EE;display:block;margin-top:1%">
twitter&nbsp;&#9654;
</a>
<div class="resourceboxtext" style="font-size:12px;text-transform:none !important;font-weight:300;line-height:1.4em;color:#333333;margin-top:4%">Echtzeit-Ankündigungen von Blogeinträgen, Veranstaltungen, Neuigkeiten und Ideen
</div>
</div>
<div class="resourcebox">
<img src="/images/community/github.png" alt="GitHub" style="width:80%;padding-bottom:2%">
<a href="https://github.com/kubernetes/kubernetes" style="color:#0662EE;display:block;margin-top:1%">
github&nbsp;&#9654;
</a>
<div class="resourceboxtext" style="font-size:12px;text-transform:none !important;font-weight:300;line-height:1.4em;color:#333333;margin-top:4%">
Die gesamte Projekt- und Problemverfolgung und natürlich der Code
</div>
</div>
<div class="resourcebox">
<img src="/images/community/stack.png" alt="Stack Overflow" style="width:80%;padding-bottom:2%">
<a href="https://stackoverflow.com/search?q=kubernetes" style="color:#0662EE;display:block;margin-top:1%">
stack overflow&nbsp;&#9654;
</a>
<div class="resourceboxtext" style="font-size:12px;text-transform:none !important;font-weight:300;line-height:1.4em;color:#333333;margin-top:4%">
Technische Problemlösung für jeden Anwendungsfall
<a name="events"></a>
</div>
</div>
<!--
<div class="resourcebox">
<img src="/images/community/slack.png" style="width:80%">
slack&nbsp;&#9654;
<div class="resourceboxtext" style="font-size:11px;text-transform:none !important;font-weight:200;line-height:1.4em;color:#333333;margin-top:4%">
With 170+ channels, you'll find one that fits your needs.
</div>
</div>-->
</div>
</div>
<div class="events">
<br class="mobile"><br class="mobile">
<br class="tablet"><br class="tablet">
<div class="eventcontainer">
<h1 style="color:white !important">Bevorstehende Veranstaltungen</h1>
{{< upcoming-events >}}
</div>
</div>
<div class="meetups">
<div class="meetupcol">
<div class="meetuptext">
<h1 style="text-align:left">Globale Gemeinschaft</h1>
Mit mehr als 150 Treffen auf der ganzen Welt, Tendenz steigend, solltest du deine lokalen Kube-Leute finden. Wenn keins in der Nähe ist, nimm die Sache in die Hand und gründe dein eigenes.
</div>
<a href="https://www.meetup.com/topics/kubernetes/">
<div class="button">
EIN MEETUP FINDEN
</div>
</a>
<a name="news"></a>
</div>
</div>
<!--
<div class="contributor">
<div class="contributortext">
<br>
<h1 style="text-align:left">
New Contributors Site
</h1>
Text about new contributors site.
<br><br>
<div class="button">
VISIT SITE
</div>
</div>
</div>
-->
<div class="news">
<br class="mobile"><br class="mobile">
<br class="tablet"><br class="tablet">
<h1 style="margin-bottom:2%">Aktuelle Neuigkeiten</h1>
<br>
<div class="twittercol1">
<a class="twitter-timeline" data-tweet-limit="1" href="https://twitter.com/kubernetesio?ref_src=twsrc%5Etfw">Tweets von kubernetesio</a> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</div>
<br>
<br><br><br><br>
</div>
</div>
<section id="talkToUs">
<main>
<h3>Talk to Us!</h3>
<h4>Wir würden uns freuen, von Ihnen zu hören, wie Sie Kubernetes verwenden<br>und was wir tun können, um es besser zu machen.</h4>
<div id="bigSocial">
<div>
<a href="https://twitter.com/kubernetesio">@kubernetesio</a>
<p>Erhalten Sie die neuesten Nachrichten und Updates.</p>
</div>
<div>
<a href="https://github.com/kubernetes/kubernetes">Github Project</a>
<p>Informieren Sie sich über das Projekt und erwägen Sie, einen Beitrag zu leisten.</p>
</div>
<div>
<a href="http://slack.k8s.io/">#kubernetes-users</a>
<p>Unser Slack-Kanal ist der beste Weg, um unsere Ingenieure zu kontaktieren und Ihre Ideen mit ihnen zu teilen.</p>
</div>
<div>
<a href="http://stackoverflow.com/questions/tagged/kubernetes">Stack Overflow</a>
<p>Unser Benutzerforum ist ein großartiger Ort, um Community-Support zu erhalten.</p>
</div>
</div>
</main>
</section>
-26
View File
@@ -1,26 +0,0 @@
---
title: Community
layout: basic
cid: community
css: /css/community.css
---
<div class="community_main">
<h1>Kubernetes Community Code of Conduct</h1>
Kubernetes folgt dem
<a href="https://github.com/cncf/foundation/blob/master/code-of-conduct-languages/de.md">CNCF Verhaltenskodex</a>.
Der Kodex befindet sich weiter unten auf der Seite, wie er auch in
<a href="https://github.com/cncf/foundation/blob/214585e24aab747fb85c2ea44fbf4a2442e30de6/code-of-conduct-languages/de.md">Commit 214585e</a> gefunden werden kann.
Wenn dir auffällt, dass die hier gezeigte Version nicht mehr aktuell ist,
<a href="https://github.com/kubernetes/website/issues/new">eröffne bitte ein Issue</a>.
Wenn dir bei einem Event, einem Meeting, in Slack oder einem anderen
Kommunikationskanal ein Verstoß gegen den Verhaltenskodex auffällt, wende dich an das <a href="https://git.k8s.io/community/committee-code-of-conduct">Kubernetes Code of Conduct Committee</a>.
Du kannst das Komitee über E-Mail erreichen: <a href="mailto:conduct@kubernetes.io">conduct@kubernetes.io</a>.
Deine Anonymität wird geschützt.
<div class="cncf_coc_container">
{{< include "/static/cncf-code-of-conduct.md" >}}
</div>
</div>
-2
View File
@@ -1,2 +0,0 @@
The files in this directory have been imported from other sources. Do not
edit them directly, except by replacing them with new versions.
@@ -1,30 +0,0 @@
<!-- Do not edit this file directly. Get the latest from
https://github.com/cncf/foundation/blob/master/code-of-conduct.md -->
## CNCF Gemeinschafts-Verhaltenskodex v1.0
### Verhaltenskodex für Mitwirkende
Als Mitwirkende und Betreuer dieses Projekts und im Interesse der Förderung einer offenen und einladenden Gemeinschaft verpflichten wir uns dazu, alle Menschen zu respektieren, die durch Berichterstattung, Veröffentlichung von Eigenschaftsanfragen, Aktualisierung der Dokumentation, Einreichung von Pull-Anfragen oder Patches und anderen Aktivitäten einen Beitrag leisten.
Wir sind bestrebt, die Teilnahme an diesem Projekt für alle zu einer belästigungsfreien Erfahrung zu machen, unabhängig von Erfahrungsstand, Geschlecht, geschlechtsspezifischer Identität und Ausdruck, sexueller Orientierung, Behinderung, persönlichem Aussehen, Körpergröße, Rasse, ethnischer Herkunft, Alter, Religion oder Nationalität.
Beispiele für unzumutbares Verhalten der Teilnehmer sind:
- Der Gebrauch von sexualisierter Sprache oder Bildern
- Persönliche Angriffe
- Trolling oder beleidigende/herabwürdigende Kommentare
- Öffentliche oder private Belästigungen
- Veröffentlichung privater Informationen anderer, wie z.B. physischer oder elektronischer Adressen, ohne ausdrückliche Genehmigung
- Anderes unethisches oder unprofessionelles Verhalten.
Projektbetreuer haben das Recht und die Verantwortung, Kommentare, Commits, Code, Wiki-Bearbeitungen, Probleme und andere Beiträge zu entfernen, zu bearbeiten oder abzulehnen, die nicht mit diesem Verhaltenskodex übereinstimmen. Mit der Annahme dieses Verhaltenskodex verpflichten sich die Projektbetreuer, diese Grundsätze fair und konsequent auf jeden Aspekt der Projektleitung anzuwenden. Projektbetreuer, die den Verhaltenskodex nicht befolgen oder durchsetzen, können dauerhaft vom Projektteam ausgeschlossen werden.
Dieser Verhaltenskodex gilt sowohl innerhalb von Projekträumen als auch in öffentlichen Räumen, wenn eine Person das Projekt oder seine Gemeinschaft vertritt.
Fälle von missbräuchlichem, belästigendem oder anderweitig unzumutbarem Verhalten in Kubernetes können gemeldet werden, indem Sie sich an das [Kubernetes Komitee für Verhaltenskodex](https://git.k8s.io/community/committee-code-of-conduct) wenden unter <conduct@kubernetes.io>. Für andere Projekte wenden Sie sich bitte an einen CNCF-Projektbetreuer oder an unseren Mediator, Mishi Choudhary <mishi@linux.com>.
Dieser Verhaltenskodex wurde aus dem Contributor Covenant übernommen (https://contributor-covenant.org), Version 1.2.0, verfügbar unter https://contributor-covenant.org/version/1/2/0/
### CNCF Verhaltenskodex für Veranstaltungen
Für CNCF Veranstaltungen gilt der Verhaltenskodex der Linux Foundation, der auf der Veranstaltungsseite verfügbar ist. Diese ist so konzipiert, dass sie mit der oben genannten Richtlinie kompatibel ist und enthält auch weitere Details zur Reaktion auf Vorfälle.
+19 -20
View File
@@ -1,24 +1,24 @@
---
title: Konzepte
main_menu: true
content_type: concept
content_template: templates/concept
weight: 40
---
<!-- overview -->
{{% capture overview %}}
Im Abschnitt Konzepte erfahren Sie mehr über die Bestandteile des Kubernetes-Systems und die Abstraktionen, die Kubernetes zur Verwaltung Ihres Clusters zur Verfügung stellt. Sie erhalten zudem ein tieferes Verständnis der Funktionsweise von Kubernetes.
Im Abschnitt Konzepte erfahren Sie mehr über die Teile des Kubernetes-Systems und die Abstraktionen, die Kubernetes zur Darstellung Ihres Clusters verwendet, und Sie erhalten ein tieferes Verständnis der Funktionsweise von Kubernetes.
{{% /capture %}}
<!-- body -->
{{% capture body %}}
## Überblick
Um mit Kubernetes zu arbeiten, verwenden Sie *Kubernetes-API-Objekte*, um den *gewünschten Status Ihres Clusters* zu beschreiben:
welche Anwendungen oder anderen Workloads Sie ausführen möchten, welche Containerimages sie verwenden, die Anzahl der Replikate, welche Netzwerk- und Festplattenressourcen Sie zur Verfügung stellen möchten, und vieles mehr. Sie legen den gewünschten Status fest, indem Sie Objekte mithilfe der Kubernetes-API erstellen. Dies geschieht normalerweise über die Befehlszeilenschnittstelle `kubectl`. Sie können die Kubernetes-API auch direkt verwenden, um mit dem Cluster zu interagieren und den gewünschten Status festzulegen oder zu ändern.
Um mit Kubernetes zu arbeiten, verwenden Sie *Kubernetes-API-Objekte*, um den *gewünschten Status Ihres Clusters* zu beschreiben:
welche Anwendungen oder anderen Workloads Sie ausführen möchten, welche Containerimages sie verwenden, die Anzahl der Replikate, welche Netzwerk- und Festplattenressourcen Sie zur Verfügung stellen möchten, und vieles mehr. Sie legen den gewünschten Status fest, indem Sie Objekte mithilfe der Kubernetes-API erstellen, normalerweise über die Befehlszeilenschnittstelle `kubectl`. Sie können die Kubernetes-API auch direkt verwenden, um mit dem Cluster zu interagieren und den gewünschten Status festzulegen oder zu ändern.
Sobald Sie den gewünschten Status eingestellt haben, wird das *Kubernetes Control Plane* dafür sorgen, dass der aktuelle Status des Clusters mit dem gewünschten Status übereinstimmt. Zu diesem Zweck führt Kubernetes verschiedene Aufgaben automatisch aus, z. B. das Starten oder Neustarten von Containern, Skalieren der Anzahl der Repliken einer bestimmten Anwendung und vieles mehr. Das Kubernetes Control Plane besteht aus einer Reihe von Prozessen, die in Ihrem Cluster ausgeführt werden:
Sobald Sie den gewünschten Status eingestellt haben, wird das *Kubernetes Control Plane* dafür sorgen, dass der aktuelle Status des Clusters mit dem gewünschten Status übereinstimmt. Zu diesem Zweck führt Kubernetes verschiedene Aufgaben automatisch aus, z. B. Starten oder Neustarten von Containern, Skalieren der Anzahl der Repliken einer bestimmten Anwendung und vieles mehr. Das Kubernetes Control Plane besteht aus einer Reihe von Prozessen, die in Ihrem Cluster ausgeführt werden:
* Der **Kubernetes Master** bestehet aus drei Prozessen, die auf einem einzelnen Node in Ihrem Cluster ausgeführt werden, der als Master-Node bezeichnet wird. Diese Prozesse sind:[kube-apiserver](/docs/admin/kube-apiserver/), [kube-controller-manager](/docs/admin/kube-controller-manager/) und [kube-scheduler](/docs/admin/kube-scheduler/).
* Jeder einzelne Node in Ihrem Cluster, welcher nicht der Master ist, führt zwei Prozesse aus:
@@ -27,16 +27,16 @@ Sobald Sie den gewünschten Status eingestellt haben, wird das *Kubernetes Contr
## Kubernetes Objects
Kubernetes enthält eine Reihe von Abstraktionen, die den Status Ihres Systems darstellen: im Container eingesetzte Anwendungen und Workloads, die zugehörigen Netzwerk- und Festplattenressourcen sowie weitere Informationen zu den Aufgaben Ihres Clusters. Diese Abstraktionen werden durch Objekte in der Kubernetes-API dargestellt; Lesen Sie [Kubernetes Objects Überblick](/docs/concepts/abstractions/overview/) für weitere Details.
Kubernetes enthält eine Reihe von Abstraktionen, die den Status Ihres Systems darstellen: implementierte containerisierte Anwendungen und Workloads, die zugehörigen Netzwerk- und Festplattenressourcen sowie weitere Informationen zu den Aufgaben Ihres Clusters. Diese Abstraktionen werden durch Objekte in der Kubernetes-API dargestellt; Lesen Sie [Kubernetes Objects Überblick](/docs/concepts/abstractions/overview/) für weitere Details.
Die Basisobjekte von Kubernetes umfassen:
Die grundlegenden Objekte von Kubernetes umfassen:
* [Pod](/docs/concepts/workloads/pods/pod-overview/)
* [Service](/docs/concepts/services-networking/service/)
* [Volume](/docs/concepts/storage/volumes/)
* [Namespace](/docs/concepts/overview/working-with-objects/namespaces/)
Darüber hinaus enthält Kubernetes Abstraktionen auf höherer Ebene, die als Controller bezeichnet werden. Controller bauen auf den Basisobjekten auf und bieten zusätzliche Funktionen und Komfortfunktionen. Sie beinhalten:
Darüber hinaus enthält Kubernetes eine Reihe von Abstraktionen auf höherer Ebene, die als Controller bezeichnet werden. Controller bauen auf den Basisobjekten auf und bieten zusätzliche Funktionen und Komfortfunktionen. Sie beinhalten:
* [ReplicaSet](/docs/concepts/workloads/controllers/replicaset/)
* [Deployment](/docs/concepts/workloads/controllers/deployment/)
@@ -46,31 +46,30 @@ Darüber hinaus enthält Kubernetes Abstraktionen auf höherer Ebene, die als Co
## Kubernetes Control Plane
Die verschiedenen Teile der Kubernetes-Steuerungsebene (Control Plane), wie der Kubernetes Master- und der Kubelet-Prozess, bestimmen, wie Kubernetes mit Ihrem Cluster kommuniziert. Das Control Plane verwaltet ein Inventar aller Kubernetes-Objekte im System und führt kontinuierlich Kontrollschleifen aus, um den Status dieser Objekte zu verwalten. Zu jeder Zeit reagieren die Kontrollschleifen des Control Plane auf Änderungen im Cluster und arbeiten daran, dass der tatsächliche Status aller Objekte im System mit dem von Ihnen definierten Status übereinstimmt.
Die verschiedenen Teile der Kubernetes-Steuerungsebene (Control Plane), wie der Kubernetes Master- und der Kubelet-Prozess, bestimmen, wie Kubernetes mit Ihrem Cluster kommuniziert. Das Control Plane führt ein Inventar aller Kubernetes-Objekte im System und führt fortlaufende Steuerkreise aus, um den Status dieser Objekte zu verwalten. Zu jeder Zeit reagieren die Steuerkreise des Control Plane auf Änderungen im Cluster und arbeiten daran, dass der tatsächliche Status aller Objekte im System mit dem gewünschten Status, den Sie definiert haben, übereinstimmt.
Wenn Sie beispielsweise mit der Kubernetes-API ein Deployment-Objekt erstellen, geben Sie einen neuen gewünschten Status für das System an. Das Kubernetes Control Plane zeichnet die Objekterstellung auf und führt Ihre Anweisungen aus, indem es die erforderlichen Anwendungen startet und Sie für auf den Cluster-Nodes plant - Dadurch wird der tatsächliche Status des Clusters an den gewünschten Status angepasst.
Wenn Sie beispielsweise mit der Kubernetes-API ein Deployment-Objekt erstellen, geben Sie einen neuen gewünschten Status für das System an. Das Kubernetes Control Plane zeichnet die Objekterstellung auf und führt Ihre Anweisungen aus, indem es die erforderlichen Anwendungen startet und sie für auf den Cluster-Nodes plant--Dadurch wird der tatsächliche Status des Clusters an den gewünschten Status angepasst.
### Kubernetes Master
Der Kubernetes-Master ist für Erhalt des gewünschten Status Ihres Clusters verantwortlich. Wenn Sie mit Kubernetes interagieren, beispielsweise mit dem Kommandozeilen-Tool `kubectl`, kommunizieren Sie mit dem Kubernetes-Master Ihres Clusters.
Der Kubernetes-Master ist für die Aufrechterhaltung des gewünschten Status für Ihren Cluster verantwortlich. Wenn Sie mit Kubernetes interagieren, beispielsweise mit dem Kommanduzeilen-Tool `kubectl`, kommunizieren Sie mit dem Kubernetes-Master Ihres Clusters.
> Der Begriff "Master" bezeichnet dabei eine Reihe von Prozessen, die den Clusterstatus verwalten. Normalerweise werden diese Prozesse alle auf einem einzigen Node im Cluster ausgeführt. Dieser Node wird auch als Master bezeichnet. Der Master kann repliziert werden, um die Verfügbarkeit und Redundanz zu erhöhen.
> Der "Master" bezieht sich auf eine Reihe von Prozessen, die den Clusterstatus verwalten. Normalerweise werden diese Prozesse alle auf einem einzigen Node im Cluster ausgeführt. Dieser Node wird auch als Master bezeichnet. Der Master kann repliziert werden um Verfügbarkeit und Redundanz zu erhöhen.
### Kubernetes Nodes
Die Nodes in einem Cluster sind die Maschinen (VMs, physische Server usw.), auf denen Ihre Anwendungen und Cloud-Workflows ausgeführt werden. Der Kubernetes-Master steuert jeden Node; Sie werden selten direkt mit Nodes interagieren.
Die Nodes in einem Cluster sind die Maschinen (VMs, physische Server usw.), auf denen Ihre Anwendungen und Cloud-Workflows ausgeführt werden. Der Kubernetes-Master steuert jeden Master. Sie werden selten direkt mit Nodes interagieren.
#### Objekt Metadata
* [Anmerkungen](/docs/concepts/overview/working-with-objects/annotations/)
{{% /capture %}}
## {{% heading "whatsnext" %}}
{{% capture whatsnext %}}
Wenn Sie eine Konzeptseite schreiben möchten, lesen Sie [Seitenvorlagen verwenden](/docs/home/contribute/page-templates/)
für Informationen zum Konzeptseitentyp und zur Dokumentations Vorlage.
{{% /capture %}}
@@ -1,238 +0,0 @@
---
title: Zugrunde liegende Konzepte des Cloud Controller Manager
content_type: concept
weight: 30
---
<!-- overview -->
Das Konzept des Cloud Controller Managers (CCM) (nicht zu verwechseln mit der Binärdatei) wurde ursprünglich entwickelt, um Cloud-spezifischen Anbieter Code und den Kubernetes Kern unabhängig voneinander entwickeln zu können. Der Cloud Controller Manager läuft zusammen mit anderen Master Komponenten wie dem Kubernetes Controller Manager, dem API-Server und dem Scheduler auf dem Host. Es kann auch als Kubernetes Addon gestartet werden, in diesem Fall läuft er auf Kubernetes.
Das Design des Cloud Controller Managers basiert auf einem Plugin Mechanismus, der es neuen Cloud Anbietern ermöglicht, sich mit Kubernetes einfach über Plugins zu integrieren. Es gibt Pläne für die Einbindung neuer Cloud Anbieter auf Kubernetes und für die Migration von Cloud Anbietern vom alten Modell auf das neue CCM-Modell.
Dieses Dokument beschreibt die Konzepte hinter dem Cloud Controller Manager und gibt Details zu den damit verbundenen Funktionen.
Die Architektur eines Kubernetes Clusters ohne den Cloud Controller Manager sieht wie folgt aus:
![Pre CCM Kube Arch](/images/docs/pre-ccm-arch.png)
<!-- body -->
## Design
Im vorhergehenden Diagramm sind Kubernetes und der Cloud-Provider über mehrere verschiedene Komponenten integriert:
* Kubelet
* Kubernetes Controller Manager
* Kubernetes API Server
CCM konsolidiert die gesamte Abhängigkeit der Cloud Logik von den drei vorhergehenden Komponenten zu einem einzigen Integrationspunkt mit der Cloud. So sieht die neue Architektur mit dem CCM aus:
![CCM Kube Arch](/images/docs/post-ccm-arch.png)
## Komponenten des CCM
Der CCM löst einen Teil der Funktionalität des Kubernetes Controller Managers (KCM) ab und führt ihn als separaten Prozess aus. Konkret trennt es die Cloud abhängigen Controller im KCM. Der KCM verfügt über die folgenden Cloud abhängigen Steuerungsschleifen:
* Node Controller
* Volume Controller
* Route Controller
* Service Controller
In der Version 1.9 führt der CCM die folgenden Controller aus der vorhergehenden Liste aus:
* Node Controller
* Route Controller
* Service Controller
{{< note >}}
Der Volume Controller wurde bewusst nicht als Teil des CCM gewählt. Aufgrund der Komplexität und der bestehenden Bemühungen, herstellerspezifische Volume Logik zu abstrahieren, wurde entschieden, dass der Volume Controller nicht zum CCM verschoben wird.
{{< /note >}}
Der ursprüngliche Plan, Volumes mit CCM zu integrieren, sah die Verwendung von Flex-Volumes vor welche austauschbare Volumes unterstützt. Allerdings ist eine konkurrierende Initiative namens CSI geplant, um Flex zu ersetzen.
In Anbetracht dieser Dynamik haben wir uns entschieden, eine Zwischenstopp durchzuführen um die Unterschiede zu beobachten , bis das CSI bereit ist.
## Funktionen des CCM
Der CCM erbt seine Funktionen von Komponenten des Kubernetes, die von einem Cloud Provider abhängig sind. Dieser Abschnitt ist auf der Grundlage dieser Komponenten strukturiert.
### 1. Kubernetes Controller Manager
Die meisten Funktionen des CCM stammen aus dem KCM. Wie im vorherigen Abschnitt erwähnt, führt das CCM die folgenden Steuerschleifen durch:
* Node Controller
* Route Controller
* Service Controller
#### Node Controller
Der Node Controller ist für die Initialisierung eines Knotens verantwortlich, indem er Informationen über die im Cluster laufenden Knoten vom Cloud Provider erhält. Der Node Controller führt die folgenden Funktionen aus:
1. Initialisierung eines Knoten mit Cloud-spezifischen Zonen-/Regionen Labels.
2. Initialisieren von Knoten mit Cloud-spezifischen Instanzdetails, z.B. Typ und Größe.
3. Ermitteln der Netzwerkadressen und des Hostnamen des Knotens.
4. Falls ein Knoten nicht mehr reagiert, überprüft der Controller die Cloud, um festzustellen, ob der Knoten aus der Cloud gelöscht wurde.
Wenn der Knoten aus der Cloud gelöscht wurde, löscht der Controller das Kubernetes Node Objekt.
#### Route Controller
Der Route Controller ist dafür verantwortlich, Routen in der Cloud so zu konfigurieren, dass Container auf verschiedenen Knoten im Kubernetes Cluster miteinander kommunizieren können. Der Route Controller ist nur auf einem Google Compute Engine Cluster anwendbar.
#### Service Controller
Der Service Controller ist verantwortlich für das Abhören von Ereignissen zum Erstellen, Aktualisieren und Löschen von Diensten. Basierend auf dem aktuellen Stand der Services in Kubernetes konfiguriert es Cloud Load Balancer (wie ELB, Google LB oder Oracle Cloud Infrastructure LB), um den Zustand der Services in Kubernetes abzubilden. Darüber hinaus wird sichergestellt, dass die Service Backends für Cloud Loadbalancer auf dem neuesten Stand sind.
### 2. Kubelet
Der Node Controller enthält die Cloud-abhängige Funktionalität des Kubelets. Vor der Einführung des CCM war das Kubelet für die Initialisierung eines Knotens mit cloudspezifischen Details wie IP-Adressen, Regions-/Zonenbezeichnungen und Instanztypinformationen verantwortlich. Mit der Einführung des CCM wurde diese Initialisierungsoperation aus dem Kubelet in das CCM verschoben.
In diesem neuen Modell initialisiert das Kubelet einen Knoten ohne cloudspezifische Informationen. Es fügt jedoch dem neu angelegten Knoten einen Taint hinzu, der den Knoten nicht verplanbar macht, bis der CCM den Knoten mit cloudspezifischen Informationen initialisiert. Dann wird der Taint entfernt.
## Plugin Mechanismus
Der Cloud Controller Manager verwendet die Go Schnittstellen, um Implementierungen aus jeder Cloud einzubinden. Konkret verwendet dieser das CloudProvider Interface, das [hier](https://github.com/kubernetes/cloud-provider/blob/9b77dc1c384685cb732b3025ed5689dd597a5971/cloud.go#L42-L62) definiert ist.
Die Implementierung der vier oben genannten geteiltent Controllern und einigen Scaffolding sowie die gemeinsame CloudProvider Schnittstelle bleiben im Kubernetes Kern. Cloud Provider spezifische Implementierungen werden außerhalb des Kerns aufgebaut und implementieren im Kern definierte Schnittstellen.
Weitere Informationen zur Entwicklung von Plugins findest du im Bereich [Entwickeln von Cloud Controller Manager](/docs/tasks/administer-cluster/developing-cloud-controller-manager/).
## Autorisierung
Dieser Abschnitt beschreibt den Zugriff, den der CCM für die Ausführung seiner Operationen auf verschiedene API Objekte benötigt.
### Node Controller
Der Node Controller funktioniert nur mit Node Objekten. Es benötigt vollen Zugang zu get, list, create, update, patch, watch, und delete Node Objekten.
v1/Node:
- Get
- List
- Create
- Update
- Patch
- Watch
- Delete
### Route Controller
Der Route Controller horcht auf die Erstellung von Node Objekten und konfiguriert die Routen entsprechend. Es erfordert get Zugriff auf die Node Objekte.
v1/Node:
- Get
### Service Controller
Der Service Controller hört auf die Service Objekt Events create, update und delete und konfiguriert dann die Endpunkte für diese Services entsprechend.
Um auf Services zuzugreifen, benötigt man list und watch Berechtigung. Um die Services zu aktualisieren, sind patch und update Zugriffsrechte erforderlich.
Um die Endpunkte für die Dienste einzurichten, benötigt der Controller Zugriff auf create, list, get, watch und update.
v1/Service:
- List
- Get
- Watch
- Patch
- Update
### Sonstiges
Die Implementierung des Kerns des CCM erfordert den Zugriff auf die Erstellung von Ereignissen und zur Gewährleistung eines sicheren Betriebs den Zugriff auf die Erstellung von ServiceAccounts.
v1/Event:
- Create
- Patch
- Update
v1/ServiceAccount:
- Create
Die RBAC ClusterRole für CCM sieht wie folgt aus:
```yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: cloud-controller-manager
rules:
- apiGroups:
- ""
resources:
- events
verbs:
- create
- patch
- update
- apiGroups:
- ""
resources:
- nodes
verbs:
- '*'
- apiGroups:
- ""
resources:
- nodes/status
verbs:
- patch
- apiGroups:
- ""
resources:
- services
verbs:
- list
- patch
- update
- watch
- apiGroups:
- ""
resources:
- serviceaccounts
verbs:
- create
- apiGroups:
- ""
resources:
- persistentvolumes
verbs:
- get
- list
- update
- watch
- apiGroups:
- ""
resources:
- endpoints
verbs:
- create
- get
- list
- watch
- update
```
## Anbieter Implementierung
Die folgenden Cloud Anbieter haben CCMs implementiert:
* [Digital Ocean](https://github.com/digitalocean/digitalocean-cloud-controller-manager)
* [Oracle](https://github.com/oracle/oci-cloud-controller-manager)
* [Azure](https://github.com/kubernetes/cloud-provider-azure)
* [GCP](https://github.com/kubernetes/cloud-provider-gcp)
* [AWS](https://github.com/kubernetes/cloud-provider-aws)
* [BaiduCloud](https://github.com/baidu/cloud-provider-baiducloud)
* [Linode](https://github.com/linode/linode-cloud-controller-manager)
## Cluster Administration
Eine vollständige Anleitung zur Konfiguration und zum Betrieb des CCM findest du [hier](/docs/tasks/administer-cluster/running-cloud-controller/#cloud-controller-manager).
@@ -1,18 +1,18 @@
---
title: Master-Node Kommunikation
content_type: concept
content_template: templates/concept
weight: 20
---
<!-- overview -->
{{% capture overview %}}
Dieses Dokument katalogisiert die Kommunikationspfade zwischen dem Master (eigentlich dem Apiserver) und des Kubernetes-Clusters.
Dieses Dokument katalogisiert die Kommunikationspfade zwischen dem Master (eigentlich dem Apiserver) und des Kubernetes-Clusters.
Die Absicht besteht darin, Benutzern die Möglichkeit zu geben, ihre Installation so anzupassen, dass die Netzwerkkonfiguration so abgesichert wird, dass der Cluster in einem nicht vertrauenswürdigen Netzwerk (oder mit vollständig öffentlichen IP-Adressen eines Cloud-Providers) ausgeführt werden kann.
{{% /capture %}}
<!-- body -->
{{% capture body %}}
## Cluster zum Master
@@ -20,11 +20,11 @@ Alle Kommunikationspfade vom Cluster zum Master enden beim Apiserver (keine der
In einem typischen Setup ist der Apiserver so konfiguriert, dass er Remote-Verbindungen an einem sicheren HTTPS-Port (443) mit einer oder mehreren Formen der [Clientauthentifizierung](/docs/reference/access-authn-authz/authentication/) überwacht.
Eine oder mehrere Formene von [Autorisierung](/docs/reference/access-authn-authz/authorization/) sollte aktiviert sein, insbesondere wenn [anonyme Anfragen](/docs/reference/access-authn-authz/authentication/#anonymous-requests) oder [Service Account Tokens](/docs/reference/access-authn-authz/authentication/#service-account-tokens) aktiviert sind.
Nodes sollten mit dem öffentlichen Stammzertifikat für den Cluster konfiguriert werden, sodass sie eine sichere Verbindung zum Apiserver mit gültigen Client-Anmeldeinformationen herstellen können.
Nodes sollten mit dem öffentlichen Stammzertifikat für den Cluster konfigurirert werden, sodass sie eine sichere Verbindung zum Apiserver mit gültigen Client-Anmeldeinformationen herstellen können.
Beispielsweise bei einer gewöhnlichen GKE-Konfiguration enstprechen die dem kubelet zur Verfügung gestellten Client-Anmeldeinformationen eines Client-Zertifikats.
Lesen Sie über [kubelet TLS bootstrapping](/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping/) zur automatisierten Bereitstellung von kubelet-Client-Zertifikaten.
Pods, die eine Verbindung zum Apiserver herstellen möchten, können dies auf sichere Weise tun, indem sie ein Dienstkonto verwenden, sodass Kubernetes das öffentliche Stammzertifikat und ein gültiges Trägertoken automatisch in den Pod einfügt, wenn er instanziiert wird.
Pods, die eine Verbindung zum Apiserver herstellen möchten, können dies auf sichere Weise tun, indem sie ein Dienstkonto verwenden, sodass Kubernetes das öffentliche Stammzertifikat und ein gültiges Trägertoken automatisch in den Pod einfügt, wenn er instanziert wird.
Der `kubernetes`-Dienst (in allen Namespaces) ist mit einer virtuellen IP-Adresse konfiguriert, die (über den Kube-Proxy) an den HTTPS-Endpunkt auf dem Apiserver umgeleitet wird.
Die Master-Komponenten kommunizieren auch über den sicheren Port mit dem Cluster-Apiserver.
@@ -34,26 +34,26 @@ Der Standardbetriebsmodus für Verbindungen vom Cluster (Knoten und Pods, die au
## Master zum Cluster
Es gibt zwei primäre Kommunikationspfade vom Master (Apiserver) zum Cluster.
Der Erste ist vom Apiserver hin zum Kubelet-Prozess, der auf jedem Node im Cluster ausgeführt wird.
Der Zweite ist vom Apiserver zu einem beliebigen Node, Pod oder Dienst über die Proxy-Funktionalität des Apiservers.
Der erste ist vom Apiserver bis zum Kubelet-Prozess, der auf jedem Node im Cluster ausgeführt wird.
Der zweite ist vom Apiserver zu einem beliebigen Node, Pod oder Dienst über die Proxy-Funktionalität des Apiservers.
### Apiserver zum kubelet
Die Verbindungen vom Apiserver zum Kubelet werden verwendet für:
* Das Abrufen von Protokollen für Pods.
* Das Verbinden (durch kubectl) mit laufenden Pods.
* Die Bereitstellung der Portweiterleitungsfunktion des kubelet.
* Abrufen von Protokollen für Pods.
* Verbinden (durch kubectl) mit laufenden Pods.
* Bereitstellung der Portweiterleitungsfunktion des kubelet.
Diese Verbindungen enden am HTTPS-Endpunkt des kubelet.
Standardmäßig überprüft der Apiserver das Serverzertifikat des Kubelets nicht, was die Verbindung angreifbar für Man-in-the-Middle-Angriffe macht. Die Kommunikation ist daher **unsicher**, wenn die Verbindungen über nicht vertrauenswürdige und/oder öffentliche Netzwerke laufen.
Standardmäßig überprüft der Apiserver das Serverzertifikat des Kubelet nicht, was die Verbindung von angreifbar für Man-in-the-Middle-Angriffe macht, und ist es ist daher **unsicher** wenn die Verbindungen über nicht vertrauenswürdige und/oder öffentliche Netzwerke laufen.
Um diese Verbindung zu überprüfen, verwenden Sie das Flag `--kubelet-certificate-authority`, um dem Apiserver ein Stammzertifikatbündel bereitzustellen, das zur Überprüfung des Server-Zertifikats des kubelets verwendet wird.
Um diese Verbindung zu überprüfen, verwenden Sie das Flag `--kubelet-certificate-authority`, um dem Apiserver ein Stammzertifikatbündel bereitzustellen, das zur Überprüfung des Server-Zertifikats des kubelet verwendet wird.
Wenn dies nicht möglich ist, verwenden Sie [SSH tunneling](/docs/concepts/architecture/master-node-communication/#ssh-tunnels)
zwischen dem Apiserver und dem kubelet, falls es erforderlich ist eine Verbindung über ein nicht vertrauenswürdiges oder öffentliches Netz zu vermeiden.
zwischen dem Apiserver und kubelet, falls erforderlich, um eine Verbindung über ein nicht vertrauenswürdiges oder öffentliches Netz zu vermeiden.
Außerdem sollte [Kubelet Authentifizierung und/oder Autorisierung](/docs/admin/kubelet-authentication-authorization/) aktiviert sein, um die kubelet-API abzusichern.
Ausserdem sollte, [Kubelet Authentifizierung und/oder Autorisierung](/docs/admin/kubelet-authentication-authorization/) sollte aktiviert sein, um die kubelet-API zu sichern.
### Apiserver zu Nodes, Pods und Services
@@ -63,10 +63,10 @@ Diese Verbindungen **sind derzeit nicht sicher** innerhalb von nicht vertrauensw
### SSH Tunnels
Kubernetes unterstützt SSH-Tunnel zum Schutz der Master -> Cluster Kommunikationspfade.
In dieser Konfiguration initiiert der Apiserver einen SSH-Tunnel zu jedem Node im Cluster (Verbindung mit dem SSH-Server, der mit Port 22 läuft), und leitet den gesamten Datenverkehr für ein kubelet, einen Node, einen Pod oder einen Dienst durch den Tunnel.
Kubernetes unterstützt SSH-Tunnel zum Schutz der Kommunikationspfade von Master -> Cluster.
In dieser Konfiguration initiiert der Apiserver einen SSH-Tunnel zu jedem Nodem im Cluster (Verbindung mit dem SSH-Server, der Port 22 läuft), und leitet den gesamten Datenverkehr für ein kubelet, einen Node, einen Pod oder einen Dienst durch den Tunnel.
Dieser Tunnel stellt sicher, dass der Datenverkehr nicht außerhalb des Netzwerks sichtbar ist, in dem die Knoten ausgeführt werden.
SSH-Tunnel werden zur Zeit nicht unterstützt. Sie sollten also nicht verwendet werden, sei denn, man weiß, was man tut. Ein Ersatz für diesen Kommunikationskanal wird entwickelt.
SSH-Tunnel sind derzeit nicht mehr unterstützt. Sie sollten sie also nicht verwenden, es sei denn, Sie wissen, was Sie tun. Ein Ersatz für diesen Kommunikationskanal wird entwickelt.
{{% /capture %}}
+36 -37
View File
@@ -1,22 +1,22 @@
---
title: Nodes
content_type: concept
content_template: templates/concept
weight: 10
---
<!-- overview -->
{{% capture overview %}}
Ein Knoten (Node in Englisch) ist eine Arbeitsmaschine in Kubernetes. Ein Node
Ein Knoten (Node in Englisch) ist eine Arbeitsmaschine in Kubernetes, früher als `minion` bekannt. Ein Node
kann je nach Cluster eine VM oder eine physische Maschine sein. Jeder Node enthält
die für den Betrieb von [Pods](/docs/concepts/workloads/pods/pod/) notwendigen Dienste
und wird von den Master-Komponenten verwaltet.
Die Dienste auf einem Node umfassen die [Container Runtime](/docs/concepts/overview/components/#node-components), das Kubelet und den Kube-Proxy.
die für den Betrieb von [Pods](/docs/concepts/workloads/pods/pod/) notwendigen Dienste
und wird von den Master-Komponenten verwaltet.
Die Dienste auf einem Node umfassen die [Container Runtime](/docs/concepts/overview/components/#node-components), das Kubelet und den Kube-Proxy.
Weitere Informationen finden Sie im Abschnitt Kubernetes Node in der Architekturdesign-Dokumentation.
{{% /capture %}}
<!-- body -->
{{% capture body %}}
## Node Status
@@ -64,13 +64,13 @@ Der Zustand eines Nodes wird als JSON-Objekt dargestellt. Die folgende Antwort b
Wenn der Status der `Ready`-Bedingung `Unknown` oder `False` länger als der `pod-eviction-timeout` bleibt, wird ein Parameter an den [kube-controller-manager](/docs/admin/kube-controller-manager/) übergeben und alle Pods auf dem Node werden vom Node Controller gelöscht.
Die voreingestellte Zeit vor der Entfernung beträgt **fünf Minuten**.
In einigen Fällen, in denen der Node nicht erreichbar ist, kann der Apiserver nicht mit dem Kubelet auf dem Node kommunizieren.
Die voreingestellte Zeit vor der Entfernung beträgt **fünf Minuten**.
In einigen Fällen, in denen der Node nicht erreichbar ist, kann der Apiserver nicht mit dem Kubelet auf dem Node kommunizieren.
Die Entscheidung, die Pods zu löschen, kann dem Kublet erst mitgeteilt werden, wenn die Kommunikation mit dem Apiserver wiederhergestellt ist.
In der Zwischenzeit können Pods, deren Löschen geplant ist, weiterhin auf dem unzugänglichen Node laufen.
In Versionen von Kubernetes vor 1.5 würde der Node Controller das Löschen dieser unerreichbaren Pods vom Apiserver [erzwingen](/docs/concepts/workloads/pods/pod/#force-deletion-of-pods). In Version 1.5 und höher erzwingt der Node Controller jedoch keine Pod Löschung, bis bestätigt wird, dass sie nicht mehr im Cluster ausgeführt werden. Pods die auf einem unzugänglichen Node laufen sind eventuell in einem einem `Terminating` oder `Unkown` Status. In Fällen, in denen Kubernetes nicht aus der zugrunde liegenden Infrastruktur schließen kann, ob ein Node einen Cluster dauerhaft verlassen hat, muss der Clusteradministrator den Node möglicherweise manuell löschen.
In Versionen von Kubernetes vor 1.5 würde der Node Controller das Löschen dieser unerreichbaren Pods vom Apiserver [erzwingen](/docs/concepts/workloads/pods/pod/#force-deletion-of-pods). In Version 1.5 und höher erzwingt der Node Controller jedoch keine Pod Löschung, bis bestätigt wird, dass sie nicht mehr im Cluster ausgeführt werden. Pods die auf einem unzugänglichen Node laufen sind eventuell in einem einem `Terminating` oder `Unkown` Status. In Fällen, in denen Kubernetes nicht aus der zugrunde liegenden Infrastruktur schließen kann, ob ein Node einen Cluster dauerhaft verlassen hat, muss der Clusteradministrator den Node möglicherweise manuell löschen.
Das Löschen des Kubernetes-Nodeobjekts bewirkt, dass alle auf dem Node ausgeführten Pod-Objekte gelöscht und deren Namen freigegeben werden.
In Version 1.12 wurde die Funktion `TaintNodesByCondition` als Beta-Version eingeführt, die es dem Node-Lebenszyklus-Controller ermöglicht, automatisch [Markierungen](/docs/concepts/configuration/taint-and-toleration/) (*taints* in Englisch) zu erstellen, die Bedingungen darstellen.
@@ -79,13 +79,13 @@ Ebenso ignoriert der Scheduler die Bedingungen, wenn er einen Node berücksichti
Anwender können jetzt zwischen dem alten Scheduling-Modell und einem neuen, flexibleren Scheduling-Modell wählen.
Ein Pod, der keine Toleranzen aufweist, wird gemäß dem alten Modell geplant.
Ein Pod, der keine Toleranzen aufweist, wird gemäß dem alten Modell geplant.
Aber ein Pod, die die Taints eines bestimmten Node toleriert, kann auf diesem Node geplant werden.
{{< caution >}}
Wenn Sie diese Funktion aktivieren, entsteht eine kleine Verzögerung zwischen der Zeit,
in der eine Bedingung beobachtet wird, und der Zeit, in der ein Taint entsteht.
Diese Verzögerung ist in der Regel kürzer als eine Sekunde, aber sie kann die Anzahl
Wenn Sie diese Funktion aktivieren, entsteht eine kleine Verzögerung zwischen der Zeit,
in der eine Bedingung beobachtet wird, und der Zeit, in der ein Taint entsteht.
Diese Verzögerung ist in der Regel kürzer als eine Sekunde, aber sie kann die Anzahl
der Pods erhöhen, die erfolgreich geplant, aber vom Kubelet abgelehnt werden.
{{< /caution >}}
@@ -104,7 +104,7 @@ Die Informationen werden von Kubelet vom Node gesammelt.
Im Gegensatz zu [Pods](/docs/concepts/workloads/pods/pod/) und [Services](/docs/concepts/services-networking/service/),
ein Node wird nicht von Kubernetes erstellt: Er wird extern von Cloud-Anbietern wie Google Compute Engine erstellt oder ist in Ihrem Pool physischer oder virtueller Maschinen vorhanden.
Wenn Kubernetes also einen Node erstellt, wird ein Objekt erstellt, das den Node darstellt.
Wenn Kubernetes also einen Node erstellt, wird ein Objekt erstellt, das den Node darstellt.
Nach der Erstellung überprüft Kubernetes, ob der Node gültig ist oder nicht.
Wenn Sie beispielsweise versuchen, einen Node aus folgendem Inhalt zu erstellen:
@@ -123,7 +123,7 @@ Wenn Sie beispielsweise versuchen, einen Node aus folgendem Inhalt zu erstellen:
```
Kubernetes erstellt intern ein Node-Objekt (die Darstellung) und validiert den Node durch Zustandsprüfung basierend auf dem Feld `metadata.name`.
Kubernetes erstellt intern ein Node-Oject (die Darstellung) und validiert den Node durch Zustandsprüfung basierend auf dem Feld `metadata.name`.
Wenn der Node gültig ist, d.h. wenn alle notwendigen Dienste ausgeführt werden, ist er berechtigt, einen Pod auszuführen.
Andernfalls wird er für alle Clusteraktivitäten ignoriert, bis er gültig wird.
@@ -140,46 +140,45 @@ Aktuell gibt es drei Komponenten, die mit dem Kubernetes Node-Interface interagi
Der Node Controller ist eine Kubernetes-Master-Komponente, die verschiedene Aspekte von Nodes verwaltet.
Der Node Controller hat mehrere Rollen im Leben eines Nodes.
Der Node Controller hat mehrere Rollen im Leben eines Nodes.
Der erste ist die Zuordnung eines CIDR-Blocks zu dem Node, wenn er registriert ist (sofern die CIDR-Zuweisung aktiviert ist).
Die zweite ist, die interne Node-Liste des Node Controllers mit der Liste der verfügbaren Computer des Cloud-Anbieters auf dem neuesten Stand zu halten.
Wenn ein Node in einer Cloud-Umgebung ausgeführt wird und sich in einem schlechten Zustand befindet, fragt der Node Controller den Cloud-Anbieter, ob die virtuelle Maschine für diesen Node noch verfügbar ist. Wenn nicht, löscht der Node Controller den Node aus seiner Node-Liste.
Der dritte ist die Überwachung des Zustands der Nodes. Der Node Controller ist dafür verantwortlich,
die NodeReady-Bedingung von NodeStatus auf ConditionUnknown zu aktualisieren, wenn ein Node unerreichbar wird (der Node Controller empfängt aus irgendeinem Grund keine Herzschläge mehr, z.B. weil der Node heruntergefahren ist) und später alle Pods aus dem Node zu entfernen (und diese ordnungsgemäss zu beenden), wenn der Node weiterhin unzugänglich ist. (Die Standard-Timeouts sind 40s, um ConditionUnknown zu melden und 5 Minuten, um mit der Evakuierung der Pods zu beginnen).
die NodeReady-Bedingung von NodeStatus auf ConditionUnknown zu aktualisieren, wenn ein wenn ein Node unerreichbar wird (der Node Controller empfängt aus irgendeinem Grund keine Herzschläge mehr, z.B. weil der Node heruntergefahren ist) und später alle Pods aus dem Node zu entfernen (und diese ordnungsgemäss zu beenden), wenn der Node weiterhin unzugänglich ist. (Die Standard-Timeouts sind 40s, um ConditionUnknown zu melden und 5 Minuten, um mit der Evakuierung der Pods zu beginnen).
Der Node Controller überprüft den Zustand jedes Nodes alle `--node-monitor-period` Sekunden.
In Versionen von Kubernetes vor 1.13 ist NodeStatus der Herzschlag des Nodes.
Ab Kubernetes 1.13 wird das Node-Lease-Feature als Alpha-Feature eingeführt (Feature-Gate `NodeLease`, [KEP-0009](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/0009-node-heartbeat.md)).
Ab Kubernetes 1.13 wird das Node-Lease-Feature als Alpha-Feature eingeführt (Feature-Gate `NodeLease`, [KEP-0009](https://github.com/kubernetes/community/blob/master/keps/sig-node/0009-node-heartbeat.md)).
Wenn die Node Lease Funktion aktiviert ist, hat jeder Node ein zugeordnetes `Lease`-Objekt im `kube-node-lease`-Namespace, das vom Node regelmäßig erneuert wird.
Sowohl NodeStatus als auch Node Lease werden als Herzschläge vom Node aus behandelt.
Node Leases werden häufig erneuert, während NodeStatus nur dann vom Node zu Master gemeldet wird, wenn sich etwas ändert oder genügend Zeit vergangen ist (Standard ist 1 Minute, was länger ist als der Standard-Timeout von 40 Sekunden für unerreichbare Nodes).
Wenn die Node Lease Funktion aktiviert ist, hat jeder Node ein zugeordnetes `Lease`-Objekt im `kube-node-lease`-Namespace, das vom Node regelmäßig erneuert wird.
Sowohl NodeStatus als auch Node Lease werden als Herzschläge vom Node aus behandelt.
Node Leases werden häufig erneuert, während NodeStatus nur dann vom Node zu Master gemeldet wird, wenn sich etwas ändert oder genügend Zeit vergangen ist (Standard ist 1 Minute, was länger ist als der Standard-Timeout von 40 Sekunden für unerreichbare Nodes).
Da Node Leases viel lastärmer sind als NodeStatus, macht diese Funktion den Node Herzschlag sowohl in Bezug auf Skalierbarkeit als auch auf die Leistung deutlich effizienter.
In Kubernetes 1.4 haben wir die Logik der Node-Steuerung aktualisiert, um Fälle besser zu handhaben, in denen eine große Anzahl von Nodes Probleme hat, den Master zu erreichen (z.B. weil der Master Netzwerkprobleme hat).
In Kubernetes 1.4 haben wir die Logik der Node-Steuerung aktualisiert, um Fälle besser zu handhaben, in denen eine große Anzahl von Nodes Probleme hat, den Master zu erreichen (z.B. weil der Master Netzwerkprobleme hat).
Ab 1.4 betrachtet der Node-Controller den Zustand aller Nodes im Cluster, wenn er eine Entscheidung über die Enterfung eines Pods trifft.
In den meisten Fällen begrenzt der Node-Controller die Entfernungsrate auf `--node-eviction-rate` (Standard 0,1) pro Sekunde, was bedeutet, dass er die Pods nicht von mehr als einem Node pro 10 Sekunden entfernt.
Das Entfernungsverhalten von Nodes ändert sich, wenn ein Node in einer bestimmten Verfügbarkeitszone ungesund wird.
Der Node-Controller überprüft gleichzeitig, wie viel Prozent der Nodes in der Zone ungesund sind (NodeReady-Bedingung ist ConditionUnknown oder ConditionFalse).
Das Entfernungsverhalten von Nodes ändert sich, wenn ein Node in einer bestimmten Verfügbarkeitszone ungesund wird.
Der Node-Controller überprüft gleichzeitig, wie viel Prozent der Nodes in der Zone ungesund sind (NodeReady-Bedingung ist ConditionUnknown oder ConditionFalse).
Wenn der Anteil der ungesunden Nodes mindestens `--unhealthy-zone-threshold` (Standard 0,55) beträgt, wird die Entfernungsrate reduziert:
Wenn der Cluster klein ist (d.h. weniger als oder gleich `--large-cluster-size-threshold` Node - Standard 50), werden die Entfernungen gestoppt. Andernfalls wird die Entfernungsrate auf `--secondary-node-eviction-rate` (Standard 0,01) pro Sekunde reduziert.
Wenn der Cluster klein ist (d.h. weniger als oder gleich `--large-cluster-size-threshold` Node - Standard 50), werden die Entfernungen gestoppt. Andernfalls wird die Entfernungsrate auf `--secondary-node-eviction-rate` (Standard 0,01) pro Sekunde reduziert.
Der Grund, warum diese Richtlinien pro Verfügbarkeitszone implementiert werden, liegt darin, dass eine Verfügbarkeitszone vom Master unerreichbar werden könnte, während die anderen verbunden bleiben. Wenn Ihr Cluster nicht mehrere Verfügbarkeitszonen von Cloud-Anbietern umfasst, gibt es nur eine Verfügbarkeitszone (den gesamten Cluster).
Ein wichtiger Grund für die Verteilung Ihrer Nodes auf Verfügbarkeitszonen ist, dass die Arbeitsbelastung auf gesunde Zonen verlagert werden kann, wenn eine ganze Zone ausfällt.
Wenn also alle Nodes in einer Zone ungesund sind, entfernt Node Controller mit der normalen `--node-eviction-rate` Geschwindigkeit.
Der Ausnahmefall ist, wenn alle Zonen völlig ungesund sind (d.h. es gibt keine gesunden Node im Cluster).
Wenn also alle Nodes in einer Zone ungesund sind, entfernt Node Controller mit der normalen `--node-eviction-rate` Geschwindigkeit.
Der Ausnahmefall ist, wenn alle Zonen völlig ungesund sind (d.h. es gibt keine gesunden Node im Cluster).
In diesem Fall geht der Node-Controller davon aus, dass es ein Problem mit der Master-Konnektivität gibt und stoppt alle Entfernungen, bis die Verbindung wiederhergestellt ist.
Ab Kubernetes 1.6 ist der Node-Controller auch für die Entfernung von Pods zuständig, die auf Nodes mit `NoExecute`-Taints laufen, wenn die Pods die Markierungen nicht tolerieren.
Zusätzlich ist der NodeController als Alpha-Funktion, die standardmäßig deaktiviert ist, dafür verantwortlich, Taints hinzuzufügen, die Node Probleme, wie `Node unreachable` oder `not ready` entsprechen.
Ab Kubernetes 1.6 ist der Node-Controller auch für die Entfernung von Pods zuständig, die auf Nodes mit `NoExecute`-Taints laufen, wenn die Pods die Markierungen nicht tolerieren.
Zusätzlich ist der NodeController als Alpha-Funktion, die standardmäßig deaktiviert ist, dafür verantwortlich, Taints hinzuzufügen, die Node Probleme, wie `Node unreachable` oder `not ready` entsprechen.
Siehe [diese Dokumentation](/docs/concepts/configuration/taint-and-toleration/) für Details über `NoExecute` Taints und die Alpha-Funktion.
@@ -199,7 +198,7 @@ Zur Selbstregistrierung wird das kubelet mit den folgenden Optionen gestartet:
- `--node-labels` - Labels, die bei der Registrierung des Nodes im Cluster hinzugefügt werden sollen (Beachten Sie die Richlinien des [NodeRestriction admission plugin](/docs/reference/access-authn-authz/admission-controllers/#noderestriction) in 1.13+).
- `--node-status-update-frequency` - Gibt an, wie oft kubelet den Nodestatus an den Master übermittelt.
Wenn der [Node authorization mode](/docs/reference/access-authn-authz/node/) und
Wenn der [Node authorization mode](/docs/reference/access-authn-authz/node/) und
[NodeRestriction admission plugin](/docs/reference/access-authn-authz/admission-controllers/#noderestriction) aktiviert sind,
dürfen kubelets nur ihre eigene Node-Ressource erstellen / ändern.
@@ -215,7 +214,7 @@ Zu den Änderungen gehören das Setzen von Labels und das Markieren des Nodes.
Labels auf Nodes können in Verbindung mit node selectors auf Pods verwendet werden, um die Planung zu steuern, z.B. um einen Pod so zu beschränken, dass er nur auf einer Teilmenge der Nodes ausgeführt werden darf.
Das Markieren eines Nodes als nicht geplant, verhindert, dass neue Pods für diesen Node geplant werden. Dies hat jedoch keine Auswirkungen auf vorhandene Pods auf dem Node.
Dies ist nützlich als vorbereitender Schritt vor einem Neustart eines Nodes usw.
Dies ist nützlich als vorbereitender Schritt vor einem Neustart eines Nodes usw.
Um beispielsweise einen Node als nicht geplant zu markieren, führen Sie den folgenden Befehl aus:
```shell
@@ -223,7 +222,7 @@ kubectl cordon $NODENAME
```
{{< note >}}
Pods, die von einem DaemonSet-Controller erstellt wurden, umgehen den Kubernetes-Scheduler und respektieren nicht das _unschedulable_ Attribut auf einem Node.
Pods, die von einem DaemonSet-Controller erstellt wurden, umgehen den Kubernetes-Scheduler und respektieren nicht das _unschedulable_ Attribut auf einem Node.
Dies setzt voraus, dass Daemons auf dem Computer verbleiben, auch wenn während der Vorbereitung eines Neustarts keine Anwendungen mehr vorhanden sind.
{{< /note >}}
@@ -235,7 +234,7 @@ Sofern Sie [Manuelle Nodeverwaltung](#Manuelle-Nodeverwaltung) betreiben, müsse
Der Kubernetes-Scheduler stellt sicher, dass für alle Pods auf einem Nodes genügend Ressourcen vorhanden sind.
Er prüft, dass die Summe der Requests von Containern auf dem Node nicht größer ist als die Kapazität des Nodes.
Er beinhaltet alle Container die vom kubelet gestarted worden, aber keine Container die direkt von der [container runtime](/docs/concepts/overview/components/#node-components) gestartet wurden, noch jegleiche Prozesse die ausserhalb von Containern laufen.
Er beinhaltet alle Container die vom kubelet gestarted worden, aber keine Container die direkt von der [container runtime](/docs/concepts/overview/components/#node-components) gestartet wurden, noch jegleiche Prozesse die ausserhalb von Containern laufen.
Wenn Sie Ressourcen explizit für Nicht-Pod-Prozesse reservieren möchten, folgen Sie diesem Lernprogramm um [Ressourcen für Systemdaemons zu reservieren](/docs/tasks/administer-cluster/reserve-compute-resources/#system-reserved).
@@ -245,4 +244,4 @@ Wenn Sie Ressourcen explizit für Nicht-Pod-Prozesse reservieren möchten, folge
Node ist eine Top-Level-Ressource in der Kubernetes-REST-API. Weitere Details zum API-Objekt finden Sie unter:
[Node API object](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#node-v1-core).
{{% /capture %}}
View File
@@ -1,54 +0,0 @@
---
title: Addons Installieren
content_type: concept
---
<!-- overview -->
Add-Ons erweitern die Funktionalität von Kubernetes.
Diese Seite gibt eine Übersicht über einige verfügbare Add-Ons und verweist auf die entsprechenden Installationsanleitungen.
Die Add-Ons in den einzelnen Kategorien sind alphabetisch sortiert - Die Reihenfolge impliziert keine bevorzugung einzelner Projekte.
<!-- body -->
## Networking und Network Policy
* [ACI](https://www.github.com/noironetworks/aci-containers) bietet Container-Networking und Network-Security mit Cisco ACI.
* [Calico](https://docs.projectcalico.org/latest/introduction/) ist ein Networking- und Network-Policy-Provider. Calico unterstützt eine Reihe von Networking-Optionen, damit Du die richtige für deinen Use-Case wählen kannst. Dies beinhaltet Non-Overlaying and Overlaying-Networks mit oder ohne BGP. Calico nutzt die gleiche Engine um Network-Policies für Hosts, Pods und (falls Du Istio & Envoy benutzt) Anwendungen auf Service-Mesh-Ebene durchzusetzen.
* [Canal](https://github.com/tigera/canal/tree/master/k8s-install) vereint Flannel und Calico um Networking- und Network-Policies bereitzustellen.
* [Cilium](https://github.com/cilium/cilium) ist ein L3 Network- and Network-Policy-Plugin welches das transparent HTTP/API/L7-Policies durchsetzen kann. Sowohl Routing- als auch Overlay/Encapsulation-Modes werden uterstützt. Außerdem kann Cilium auf andere CNI-Plugins aufsetzen.
* [CNI-Genie](https://github.com/Huawei-PaaS/CNI-Genie) ermöglicht das nahtlose Verbinden von Kubernetes mit einer Reihe an CNI-Plugins wie z.B. Calico, Canal, Flannel, Romana, oder Weave.
* [Contiv](https://contivpp.io/) bietet konfigurierbares Networking (Native L3 auf BGP, Overlay mit vxlan, Klassisches L2, Cisco-SDN/ACI) für verschiedene Anwendungszwecke und auch umfangreiches Policy-Framework. Das Contiv-Projekt ist vollständig [Open Source](http://github.com/contiv). Der [installer](http://github.com/contiv/install) bietet sowohl kubeadm als auch nicht-kubeadm basierte Installationen.
* [Contrail](http://www.juniper.net/us/en/products-services/sdn/contrail/contrail-networking/), basierend auf [Tungsten Fabric](https://tungsten.io), ist eine Open Source, multi-Cloud Netzwerkvirtualisierungs- und Policy-Management Plattform. Contrail und Tungsten Fabric sind mit Orechstratoren wie z.B. Kubernetes, OpenShift, OpenStack und Mesos integriert und bieten Isolationsmodi für Virtuelle Maschinen, Container (bzw. Pods) und Bare Metal workloads.
* [Flannel](https://github.com/flannel-io/flannel#deploying-flannel-manually) ist ein Overlay-Network-Provider der mit Kubernetes genutzt werden kann.
* [Knitter](https://github.com/ZTE/Knitter/) ist eine Network-Lösung die Mehrfach-Network in Kubernetes ermöglicht.
* Multus ist ein Multi-Plugin für Mehrfachnetzwerk-Unterstützung um alle CNI-Plugins (z.B. Calico, Cilium, Contiv, Flannel), zusätzlich zu SRIOV-, DPDK-, OVS-DPDK- und VPP-Basierten Workloads in Kubernetes zu unterstützen.
* [NSX-T](https://docs.vmware.com/en/VMware-NSX-T/2.0/nsxt_20_ncp_kubernetes.pdf) Container Plug-in (NCP) bietet eine Integration zwischen VMware NSX-T und einem Orchestator wie z.B. Kubernetes. Außerdem bietet es eine Integration zwischen NSX-T und Containerbasierten CaaS/PaaS-Plattformen wie z.B. Pivotal Container Service (PKS) und OpenShift.
* [Nuage](https://github.com/nuagenetworks/nuage-kubernetes/blob/v5.1.1-1/docs/kubernetes-1-installation.rst) ist eine SDN-Plattform die Policy-Basiertes Networking zwischen Kubernetes Pods und nicht-Kubernetes Umgebungen inklusive Sichtbarkeit und Security-Monitoring bereitstellt.
* [Romana](https://github.com/romana/romana) ist eine Layer 3 Network-Lösung für Pod-Netzwerke welche auch die [NetworkPolicy API](/docs/concepts/services-networking/network-policies/) unterstützt. Details zur Installation als kubeadm Add-On sind [hier](https://github.com/romana/romana/tree/master/containerize) verfügbar.
* [Weave Net](https://www.weave.works/docs/net/latest/kube-addon/) bietet Networking and Network-Policies und arbeitet auf beiden Seiten der Network-Partition ohne auf eine externe Datenbank angwiesen zu sein.
## Service-Discovery
* [CoreDNS](https://coredns.io) ist ein flexibler, erweiterbarer DNS-Server der in einem Cluster [installiert](https://github.com/coredns/deployment/tree/master/kubernetes) werden kann und das Cluster-interne DNS für Pods bereitzustellen.
## Visualisierung &amp; Überwachung
* [Dashboard](https://github.com/kubernetes/dashboard#kubernetes-dashboard) ist ein Dashboard Web Interface für Kubernetes.
* [Weave Scope](https://www.weave.works/documentation/scope-latest-installing/#k8s) ist ein Tool um Container, Pods, Services usw. Grafisch zu visualieren. Kann in Verbindung mit einem [Weave Cloud Account](https://cloud.weave.works/) genutzt oder selbst gehosted werden.
## Infrastruktur
* [KubeVirt](https://kubevirt.io/user-guide/docs/latest/administration/intro.html#cluster-side-add-on-deployment) ist ein Add-On um Virtuelle Maschinen in Kubernetes auszuführen. Wird typischer auf Bare-Metal Clustern eingesetzt.
## Legacy Add-Ons
Es gibt einige weitere Add-Ons die in dem abgekündigten [cluster/addons](https://git.k8s.io/kubernetes/cluster/addons)-Verzeichnis dokumentiert sind.
Add-Ons die ordentlich gewartet werden dürfen gerne hier aufgezählt werden. Wir freuen uns auf PRs!
@@ -1,40 +0,0 @@
---
title: Controller Manager Metriken
content_type: concept
weight: 100
---
<!-- overview -->
Controller Manager Metriken liefern wichtige Erkenntnisse über die Leistung und den Zustand von den Controller Managern.
<!-- body -->
## Was sind Controller Manager Metriken
Die Kennzahlen des Controller Managers liefert wichtige Erkenntnisse über die Leistung und den Zustand des Controller Managers.
Diese Metriken beinhalten gängige Go Language Laufzeitmetriken wie go_routine count und controller-spezifische Metriken wie z.B.
etcd Request Latenzen oder Cloud Provider (AWS, GCE, OpenStack) API Latenzen, die verwendet werden können um den Zustand eines Clusters zu messen.
Ab Kubernetes 1.7 stehen detaillierte Cloud Provider Metriken für den Speicherbetrieb für GCE, AWS, Vsphere und OpenStack zur Verfügung.
Diese Metriken können verwendet werden, um den Zustand persistenter Datenträgeroperationen zu überwachen.
Für GCE werden diese Metriken beispielsweise wie folgt aufgerufen:
```
cloudprovider_gce_api_request_duration_seconds { request = "instance_list"}
cloudprovider_gce_api_request_duration_seconds { request = "disk_insert"}
cloudprovider_gce_api_request_duration_seconds { request = "disk_delete"}
cloudprovider_gce_api_request_duration_seconds { request = "attach_disk"}
cloudprovider_gce_api_request_duration_seconds { request = "detach_disk"}
cloudprovider_gce_api_request_duration_seconds { request = "list_disk"}
```
## Konfiguration
In einem Cluster sind die Controller Manager Metriken unter `http://localhost:10252/metrics` auf dem Host verfügbar, auf dem der Controller Manager läuft.
Die Metriken werden im [Prometheus Format](https://prometheus.io/docs/instrumenting/exposition_formats/) ausgegeben.
In einer Produktionsumgebung können Sie Prometheus oder einen anderen Metrik Scraper konfigurieren, um diese Metriken regelmäßig zu sammeln und in einer Art Zeitreihen Datenbank verfügbar zu machen.
@@ -1,63 +0,0 @@
---
title: Proxies in Kubernetes
content_type: concept
weight: 90
---
<!-- overview -->
Auf dieser Seite werden die im Kubernetes verwendeten Proxies erläutert.
<!-- body -->
## Proxies
Es gibt mehrere verschiedene Proxies, die die bei der Verwendung von Kubernetes begegnen können:
1. Der [kubectl Proxy](/docs/tasks/access-application-cluster/access-cluster/#directly-accessing-the-rest-api):
- läuft auf dem Desktop eines Benutzers oder in einem Pod
- Proxy von einer lokalen Host-Adresse zum Kubernetes API Server
- Client zu Proxy verwendet HTTP
- Proxy zu API Server verwendet HTTPS
- lokalisiert den API Server
- fügt Authentifizierungs-Header hinzu
1. Der [API Server Proxy](/docs/tasks/access-application-cluster/access-cluster/#discovering-builtin-services):
- ist eine Bastion, die in den API Server eingebaut ist
- verbindet einen Benutzer außerhalb des Clusters mit Cluster IPs, die sonst möglicherweise nicht erreichbar wären
- läuft im API Server Prozess
- Client zu Proxy verwendet HTTPS (oder http, wenn API Server so konfiguriert ist)
- Proxy zum Ziel kann HTTP oder HTTPS verwenden, der Proxy wählt dies unter Verwendung der verfügbaren Informationen aus
- kann verwendet werden, um einen Knoten, Pod oder Service zu erreichen
- führt einen Lastausgleich durch um einen Service zu erreichen, wenn dieser verwendet wird
1. Der [kube Proxy](/docs/concepts/services-networking/service/#ips-and-vips):
- läuft auf jedem Knoten
- Proxy unterstüzt UDP, TCP und SCTP
- versteht kein HTTP
- stellt Lastausgleich zur Verfügung
- wird nur zum erreichen von Services verwendet
1. Ein Proxy/Load-balancer vor dem API Server:
- Existenz und Implementierung variieren von Cluster zu Cluster (z.B. nginx)
- sitzt zwischen allen Clients und einem oder mehreren API Servern
- fungiert als Load Balancer, wenn es mehrere API Server gibt
1. Cloud Load Balancer für externe Services:
- wird von einigen Cloud Anbietern angeboten (z.B. AWS ELB, Google Cloud Load Balancer)
- werden automatisch erstellt, wenn der Kubernetes Service den Typ `LoadBalancer` hat
- unterstützt normalerweiße nur UDP/TCP
- Die SCTP-Unterstützung hängt von der Load Balancer Implementierung des Cloud Providers ab
- die Implementierung variiert je nach Cloud Anbieter
Kubernetes Benutzer müssen sich in der Regel um nichts anderes als die ersten beiden Typen kümmern. Der Cluster Administrator stellt in der Regel sicher, dass die letztgenannten Typen korrekt eingerichtet sind.
## Anforderung an Umleitungen
Proxies haben die Möglichkeit der Umleitung (redirect) ersetzt. Umleitungen sind veraltet.
View File
View File
@@ -1,340 +0,0 @@
---
title: Images
content_type: concept
weight: 10
---
<!-- overview -->
Sie erstellen ihr Docker Image und laden es in eine Registry hoch, bevor es in einem Kubernetes Pod referenziert werden kann.
Die `image` Eigenschaft eines Containers unterstüzt die gleiche Syntax wie die des `docker` Kommandos, inklusive privater Registries und Tags.
<!-- body -->
## Aktualisieren von Images
Die Standardregel für das Herunterladen von Images ist `IfNotPresent`, dies führt dazu, dass das Kubelet Images überspringt, die bereits auf einem Node vorliegen.
Wenn sie stattdessen möchten, dass ein Image immer forciert heruntergeladen wird, können sie folgendes tun:
- Die `imagePullPolicy` des Containers auf `Always` setzen.
- Die `imagePullPolicy` auslassen und `:latest` als Image Tag nutzen.
- Die `imagePullPolicy` und den Tag des Images auslassen.
- Den [AlwaysPullImages](/docs/reference/access-authn-authz/admission-controllers/#alwayspullimages) Admission Controller aktivieren.
Beachten Sie, dass Sie die Nutzung des `:latest` Tags vermeiden sollten. Für weitere Informationen siehe: [Best Practices for Configuration](/docs/concepts/configuration/overview/#container-images).
## Multi-Architektur Images mit Manifesten bauen
Das Docker Kommandozeilenwerkzeug unterstützt jetzt das Kommando `docker manifest` mit den Subkommandos `create`, `annotate` and `push`.
Diese Kommandos können dazu genutzt werden Manifeste zu bauen und diese hochzuladen.
Weitere Informationen finden sie in der Docker Dokumentation:
https://docs.docker.com/edge/engine/reference/commandline/manifest/
Hier einige Beispiele wie wir dies in unserem Build - Prozess nutzen:
https://cs.k8s.io/?q=docker%20manifest%20(create%7Cpush%7Cannotate)&i=nope&files=&repos=
Diese Kommandos basieren rein auf dem Docker Kommandozeileninterface und werden auch damit ausgeführt. Sie sollten entweder die Datei `$HOME/.docker/config.json` bearbeiten und den `experimental` Schlüssel auf `enabled` setzen, oder einfach die Umgebungsvariable `DOCKER_CLI_EXPERIMENTAL` auf `enabled` setzen, wenn Sie das Docker Kommandozeileninterface aufrufen.
{{< note >}}
Nutzen die bitte Docker *18.06 oder neuer*, ältere Versionen haben entweder Bugs oder unterstützen die experimentelle Kommandozeilenoption nicht. Beispiel: https://github.com/docker/cli/issues/1135 verursacht Probleme unter containerd.
{{< /note >}}
Wenn mit alten Manifesten Probleme auftreten, können sie die alten Manifeste in `$HOME/.docker/manifests` entfernen, um von vorne zu beginnen.
Für Kubernetes selbst nutzen wir typischerweise Images mit dem Suffix `-$(ARCH)`. Um die Abwärtskompatibilität zu erhalten, bitten wir Sie, die älteren Images mit diesen Suffixen zu generieren. Die Idee dahinter ist z.B., das `pause` image zu generieren, welches das Manifest für alle Architekturen hat, `pause-amd64` wäre dann abwärtskompatibel zu älteren Konfigurationen, oder YAML - Dateien, die ein Image mit Suffixen hart kodiert enthalten.
## Nutzung einer privaten Registry
Private Registries könnten Schlüssel erfordern um Images von ihnen herunterzuladen.
Authentifizierungsdaten können auf verschiedene Weisen hinterlegt werden:
- Bei der Google Container Registry
- Je Cluster
- Automatisch in der Google Compute Engine oder Google Kubernetes Engine
- Allen Pods erlauben von der privaten Registry des Projektes lesen zu können
- Bei der Amazon Elastic Container Registry (ECR)
- IAM Rollen und Richtlinien nutzen um den Zugriff auf ECR Repositories zu kontrollieren
- Automatisch ECR Authentifizierungsdaten aktualisieren
- Bei der Oracle Cloud Infrastructure Registry (OCIR)
- IAM Rollen und Richtlinien nutzen um den Zugriff auf OCIR Repositories zu kontrollieren
- Bei der Azure Container Registry (ACR)
- Bei der IBM Cloud Container Registry
- Nodes konfigurieren sich bei einer privaten Registry authentifizieren zu können
- Allen Pods erlauben von jeder konfigurierten privaten Registry lesen zu können
- Setzt die Konfiguration der Nodes durch einen Cluster - Aministrator voraus
- Im Voraus heruntergeladene Images
- Alle Pods können jedes gecachte Image auf einem Node nutzen
- Setzt root - Zugriff auf allen Nodes zum Einrichten voraus
- Spezifizieren eines ImagePullSecrets auf einem Pod
- Nur Pods, die eigene Secret tragen, haben Zugriff auf eine private Registry
Jede Option wird im Folgenden im Detail beschrieben
### Bei Nutzung der Google Container Registry
Kubernetes hat eine native Unterstützung für die [Google Container
Registry (GCR)](https://cloud.google.com/tools/container-registry/) wenn es auf der Google Compute
Engine (GCE) läuft. Wenn Sie ihren Cluster auf GCE oder der Google Kubernetes Engine betreiben, genügt es, einfach den vollen Image Namen zu nutzen (z.B. gcr.io/my_project/image:tag ).
Alle Pods in einem Cluster haben dann Lesezugriff auf Images in dieser Registry.
Das Kubelet authentifiziert sich bei GCR mit Nutzung des Google service Kontos der jeweiligen Instanz.
Das Google Servicekonto der Instanz hat einen `https://www.googleapis.com/auth/devstorage.read_only`, so kann es vom GCR des Projektes herunter, aber nicht hochladen.
### Bei Nutzung der Amazon Elastic Container Registry
Kubernetes bietet native Unterstützung für die [Amazon Elastic Container Registry](https://aws.amazon.com/ecr/), wenn Knoten AWS EC2 Instanzen sind.
Es muss einfach nur der komplette Image Name (z.B. `ACCOUNT.dkr.ecr.REGION.amazonaws.com/imagename:tag`) in der Pod - Definition genutzt werden.
Alle Benutzer eines Clusters, die Pods erstellen dürfen, können dann jedes der Images in der ECR Registry zum Ausführen von Pods nutzen.
Das Kubelet wird periodisch ECR Zugriffsdaten herunterladen und auffrischen, es benötigt hierfür die folgenden Berechtigungen:
- `ecr:GetAuthorizationToken`
- `ecr:BatchCheckLayerAvailability`
- `ecr:GetDownloadUrlForLayer`
- `ecr:GetRepositoryPolicy`
- `ecr:DescribeRepositories`
- `ecr:ListImages`
- `ecr:BatchGetImage`
Voraussetzungen:
- Sie müssen Kubelet in der Version `v1.2.0` nutzen. (Führen sie z.B. (e.g. run `/usr/bin/kubelet --version=true` aus um die Version zu prüfen)
- Sie benötigen Version `v1.3.0` oder neuer wenn ihre Knoten in einer A - Region sind und sich ihre Registry in einer anderen B - Region befindet.
- ECR muss in ihrer Region angeboten werden
Fehlerbehebung:
- Die oben genannten Voraussetzungen müssen erfüllt sein
- Laden sie die $REGION (z.B. `us-west-2`) Zugriffsdaten auf ihren Arbeitsrechner. Verbinden sie sich per SSH auf den Host und nutzen die Docker mit diesen Daten. Funktioniert es?
- Prüfen sie ob das Kubelet it dem Parameter `--cloud-provider=aws` läuft.
- Prüfen sie die Logs des Kubelets (z.B. mit `journalctl -u kubelet`) auf Zeilen wie:
- `plugins.go:56] Registering credential provider: aws-ecr-key`
- `provider.go:91] Refreshing cache for provider: *aws_credentials.ecrProvider`
### Bei Nutzung der Azure Container Registry (ACR)
Bei Nutzung der [Azure Container Registry](https://azure.microsoft.com/en-us/services/container-registry/) können sie sich entweder als ein administrativer Nutzer, oder als ein Service Principal authentifizieren.
In jedem Fall wird die Authentifizierung über die Standard - Docker Authentifizierung ausgeführt. Diese Anleitung bezieht sich auf das [azure-cli](https://github.com/azure/azure-cli) Kommandozeilenwerkzeug.
Sie müssen zunächst eine Registry und Authentifizierungsdaten erstellen, eine komplette Dokumentation dazu finden sie hier: [Azure container registry documentation](https://docs.microsoft.com/en-us/azure/container-registry/container-registry-get-started-azure-cli).
Sobald sie ihre Container Registry erstellt haben, nutzen sie die folgenden Authentifizierungsdaten:
* `DOCKER_USER` : Service Principal oder Administratorbenutzername
* `DOCKER_PASSWORD`: Service Principal Password oder Administratorpasswort
* `DOCKER_REGISTRY_SERVER`: `${some-registry-name}.azurecr.io`
* `DOCKER_EMAIL`: `${some-email-address}`
Wenn sie diese Variablen befüllt haben, können sie:
[Kubernetes konfigurieren und damit einen Pod deployen](/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod).
### Bei Nutzung der IBM Cloud Container Registry
Die IBM Cloud Container Registry bietet eine mandantenfähige Private Image Registry, die Sie nutzen können, um ihre Docker Images sicher zu speichern und zu teilen.
Standardmäßig werden Images in ihrer Private Registry vom integrierten Schwachstellenscaner durchsucht, um Sicherheitsprobleme und potentielle Schwachstellen zu finden. Benutzer können ihren IBM Cloud Account nutzen, um Zugang zu ihren Images zu erhalten, oder um einen Token zu generieren, der Zugriff auf die Registry Namespaces erlaubt.
Um das IBM Cloud Container Registry Kommandozeilenwerkzeug zu installieren und einen Namespace für ihre Images zu erstellen, folgen sie dieser Dokumentation [Getting started with IBM Cloud Container Registry](https://cloud.ibm.com/docs/services/Registry?topic=registry-getting-started).
Sie können die IBM Cloud Container Registry nutzen, um Container aus [IBM Cloud public images](https://cloud.ibm.com/docs/services/Registry?topic=registry-public_images) und ihren eigenen Images in den `default` Namespace ihres IBM Cloud Kubernetes Service Clusters zu deployen.
Um einen Container in einen anderen Namespace, oder um ein Image aus einer anderen IBM Cloud Container Registry Region oder einem IBM Cloud account zu deployen, erstellen sie ein Kubernetes `imagePullSecret`.
Weitere Informationen finden sie unter: [Building containers from images](https://cloud.ibm.com/docs/containers?topic=containers-images).
### Knoten für die Nutzung einer Private Registry konfigurieren
{{< note >}}
Wenn sie Google Kubernetes Engine verwenden, gibt es schon eine `.dockercfg` auf jedem Knoten, die Zugriffsdaten für ihre Google Container Registry beinhaltet. Dann kann die folgende Vorgehensweise nicht angewendet werden.
{{< /note >}}
{{< note >}}
Wenn sie AWS EC2 verwenden und die EC2 Container Registry (ECR) nutzen, wird das Kubelet auf jedem Knoten die ECR Zugriffsdaten verwalten und aktualisieren. Dann kann die folgende Vorgehensweise nicht angewendet werden.
{{< /note >}}
{{< note >}}
Diese Vorgehensweise ist anwendbar, wenn sie ihre Knoten-Konfiguration ändern können; Sie wird nicht zuverlässig auf GCE oder einem anderen Cloud - Provider funktionieren, der automatisch Knoten ersetzt.
{{< /note >}}
{{< note >}}
Kubernetes unterstützt zurzeit nur die `auths` und `HttpHeaders` Abschnitte der Dockerkonfiguration. Das bedeutet, dass die Hilfswerkzeuge (`credHelpers` ooderr `credsStore`) nicht unterstützt werden.
{{< /note >}}
Docker speichert Schlüssel für eigene Registries entweder unter `$HOME/.dockercfg` oder `$HOME/.docker/config.json`. Wenn sie die gleiche Datei in einen der unten aufgeführten Suchpfade speichern, wird Kubelet sie als Hilfswerkzeug für Zugriffsdaten beim Beziehen von Images nutzen.
* `{--root-dir:-/var/lib/kubelet}/config.json`
* `{cwd of kubelet}/config.json`
* `${HOME}/.docker/config.json`
* `/.docker/config.json`
* `{--root-dir:-/var/lib/kubelet}/.dockercfg`
* `{cwd of kubelet}/.dockercfg`
* `${HOME}/.dockercfg`
* `/.dockercfg`
{{< note >}}
Eventuell müssen sie `HOME=/root` in ihrer Umgebungsvariablendatei setzen.
{{< /note >}}
Dies sind die empfohlenen Schritte, um ihre Knoten für eine Nutzung einer eigenen Registry zu konfigurieren.
In diesem Beispiel führen sie folgende Schritte auf ihrem Desktop/Laptop aus:
1. Führen sie `docker login [server]` für jeden Satz ihrer Zugriffsdaten aus. Dies aktualisiert `$HOME/.docker/config.json`.
2. Prüfen Sie `$HOME/.docker/config.json` in einem Editor darauf, ob dort nur Zugriffsdaten enthalten sind, die Sie nutzen möchten.
3. Erhalten sie eine Liste ihrer Knoten:
- Wenn sie die Namen benötigen: `nodes=$(kubectl get nodes -o jsonpath='{range.items[*].metadata}{.name} {end}')`
- Wenn sie die IP - Adressen benötigen: `nodes=$(kubectl get nodes -o jsonpath='{range .items[*].status.addresses[?(@.type=="ExternalIP")]}{.address} {end}')`
4. Kopieren sie ihre lokale `.docker/config.json` in einen der oben genannten Suchpfade.
- Zum Beispiel: `for n in $nodes; do scp ~/.docker/config.json root@$n:/var/lib/kubelet/config.json; done`
Prüfen durch das Erstellen eines Pods, der ein eigenes Image nutzt, z.B.:
```yaml
kubectl apply -f - <<EOF
apiVersion: v1
kind: Pod
metadata:
name: private-image-test-1
spec:
containers:
- name: uses-private-image
image: $PRIVATE_IMAGE_NAME
imagePullPolicy: Always
command: [ "echo", "SUCCESS" ]
EOF
pod/private-image-test-1 created
```
Wenn alles funktioniert, sollten sie nach einigen Momenten folgendes sehen:
```shell
kubectl logs private-image-test-1
SUCCESS
```
Wenn es nicht funktioniert, sehen Sie:
```shell
kubectl describe pods/private-image-test-1 | grep "Failed"
Fri, 26 Jun 2015 15:36:13 -0700 Fri, 26 Jun 2015 15:39:13 -0700 19 {kubelet node-i2hq} spec.containers{uses-private-image} failed Failed to pull image "user/privaterepo:v1": Error: image user/privaterepo:v1 not found
```
Sie müssen sich darum kümmern, dass alle Knoten im Cluster die gleiche `.docker/config.json` haben, andernfalls werden Pods auf einigen Knoten starten, auf anderen jedoch nicht.
Wenn sie zum Beispiel Knoten automatisch skalieren lassen, sollte dann jedes Instanztemplate die `.docker/config.json` beinhalten, oder ein Laufwerk einhängen, das diese beinhaltet.
Alle Pods haben Lesezugriff auf jedes Image in ihrer eigenen Registry, sobald die Registry - Schlüssel zur `.docker/config.json` hinzugefügt wurden.
### Im Voraus heruntergeladene Images
{{< note >}}
Wenn sie Google Kubernetes Engine verwenden, gibt es schon eine `.dockercfg` auf jedem Knoten die Zugriffsdaten für ihre Google Container Registry beinhaltet. Dann kann die folgende Vorgehensweise nicht angewendet werden.
{{< /note >}}
{{< note >}}
Diese Vorgehensweise ist anwendbar, wenn sie ihre Knoten-Konfiguration ändern können; Sie wird nicht zuverlässig auf GCE oder einem anderen Cloud - Provider funktionieren, der automatisch Knoten ersetzt.
{{< /note >}}
Standardmäßig wird das Kubelet versuchen, jedes Image von der spezifizierten Registry herunterzuladen.
Falls jedoch die `imagePullPolicy` Eigenschaft der Containers auf `IfNotPresent` oder `Never` gesetzt wurde, wird ein lokales Image genutzt (präferiert oder exklusiv, jenachdem).
Wenn Sie sich auf im Voraus heruntergeladene Images als Ersatz für eine Registry - Authentifizierung verlassen möchten, müssen sie sicherstellen, dass alle Knoten die gleichen, im Voraus heruntergeladenen Images aufweisen.
Diese Medthode kann dazu genutzt werden, bestimmte Images aus Geschwindigkeitsgründen im Voraus zu laden, oder als Alternative zur Authentifizierung an einer eigenen Registry zu nutzen.
Alle Pods haben Leserechte auf alle im Voraus geladenen Images.
### Spezifizieren eines ImagePullSecrets für einen Pod
{{< note >}}
Diese Vorgehensweise ist aktuell die empfohlene Vorgehensweise für Google Kubernetes Engine, GCE, und jeden Cloud - Provider bei dem die Knotenerstelltung automatisiert ist.
{{< /note >}}
Kubernetes unterstützt die Spezifikation von Registrierungsschlüsseln für einen Pod.
#### Erstellung eines Secrets mit einer Docker Konfiguration
Führen sie folgenden Befehl mit Ersetzung der groß geschriebenen Werte aus:
```shell
kubectl create secret docker-registry <name> --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL
```
Wenn Sie bereits eine Datei mit Docker-Zugriffsdaten haben, können Sie die Zugriffsdaten als ein Kubernetes Secret importieren:
[Create a Secret based on existing Docker credentials](/docs/tasks/configure-pod-container/pull-image-private-registry/#registry-secret-existing-credentials) beschreibt die Erstellung.
Dies ist insbesondere dann sinnvoll, wenn sie mehrere eigene Container Registries nutzen, da `kubectl create secret docker-registry` ein Secret erstellt, das nur mit einer einzelnen eigenen Registry funktioniert.
{{< note >}}
Pods können nur eigene Image Pull Secret in ihrem eigenen Namespace referenzieren, somit muss dieser Prozess jedes mal einzeln für jeden Namespace angewendet werden.
{{< /note >}}
#### Referenzierung eines imagePullSecrets bei einem Pod
Nun können Sie Pods erstellen, die dieses Secret referenzieren, indem Sie einen Aschnitt `imagePullSecrets` zu ihrer Pod - Definition hinzufügen.
```shell
cat <<EOF > pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: foo
namespace: awesomeapps
spec:
containers:
- name: foo
image: janedoe/awesomeapp:v1
imagePullSecrets:
- name: myregistrykey
EOF
cat <<EOF >> ./kustomization.yaml
resources:
- pod.yaml
EOF
```
Dies muss für jeden Pod getan werden, der eine eigene Registry nutzt.
Die Erstellung dieser Sektion kann jedoch automatisiert werden, indem man imagePullSecrets einer [serviceAccount](/docs/user-guide/service-accounts) Ressource hinzufügt.
[Add ImagePullSecrets to a Service Account](/docs/tasks/configure-pod-container/configure-service-account/#add-imagepullsecrets-to-a-service-account) bietet detaillierte Anweisungen hierzu.
Sie können dies in Verbindung mit einer auf jedem Knoten genutzten `.docker/config.json` benutzen, die Zugriffsdaten werden dann zusammengeführt. Dieser Vorgehensweise wird in der Google Kubernetes Engine funktionieren.
### Anwendungsfälle
Es gibt eine Anzahl an Lösungen um eigene Registries zu konfigurieren, hier sind einige Anwendungsfälle und empfohlene Lösungen.
1. Cluster die nur nicht-proprietäre Images (z.B. open-source) ausführen. Images müssen nicht versteckt werden.
- Nutzung von öffentlichen Images auf Docker Hub.
- Keine Konfiguration notwendig.
- Auf GCE/Google Kubernetes Engine, wird automatisch ein lokaler Spiegel für eine verbesserte Geschwindigkeit und Verfügbarkeit genutzt.
2. Cluster die einige proprietäre Images ausführen die für Außenstehende nicht sichtbar sein dürfen, aber für alle Cluster - Benutzer sichtbar sein sollen.
- Nutzung einer gehosteten privaten Registry [Docker registry](https://docs.docker.com/registry/).
- Kann auf [Docker Hub](https://hub.docker.com/signup), oder woanders gehostet werden.
- Manuelle Konfiguration der .docker/config.json auf jedem Knoten, wie oben beschrieben.
- Der Betrieb einer internen privaten Registry hinter ihrer Firewall mit offenen Leseberechtigungen.
- Keine Kubernetes - Konfiguration notwendig
- Wenn GCE/Google Kubernetes Engine genutzt wird, nutzen sie die Google Container Registry des Projektes.
- Funktioniert besser mit Cluster - Autoskalierung als mit manueller Knotenkonfiguration.
- Auf einem Cluster bei dem die Knotenkonfiguration ungünstig ist können `imagePullSecrets` genutzt werden.
3. Cluster mit proprieritären Images, mit einigen Images die eine erweiterte Zugriffskontrolle erfordern.
- Stellen sie sicher das [AlwaysPullImages admission controller](/docs/reference/access-authn-authz/admission-controllers/#alwayspullimages) aktiv ist, anderenfalls können alle Pods potenziell Zugriff auf alle Images haben.
- Verschieben sie sensitive Daten in eine "Secret" Ressource statt sie im Image abzulegen.
4. Ein mandantenfähiger Cluster in dem jeder Mandant eine eigene private Registry benötigt.
- Stellen sie dicher das [AlwaysPullImages admission controller](/docs/reference/access-authn-authz/admission-controllers/#alwayspullimages) aktiv ist, anderenfalls können alle Pods potenziell Zugriff auf alle Images haben.
- Nutzen sie eine private Registry die eine Authorisierung erfordert.
- Generieren die Registry - Zugriffsdaten für jeden Mandanten, abgelegt in einem Secret das in jedem Mandanten - Namespace vorhanden ist.
- Der Mandant fügt dieses Sercret zu den imagePullSecrets in jedem seiner Namespace hinzu.
Falls die Zugriff auf mehrere Registries benötigen, können sie ein Secret für jede Registry erstellen, Kubelet wird jedwede `imagePullSecrets` in einer einzelnen `.docker/config.json` zusammenfassen.
@@ -1,10 +1,10 @@
---
title: Konzept Dokumentations-Vorlage
content_type: concept
content_template: templates/concept
toc_hide: true
---
<!-- overview -->
{{% capture overview %}}
{{< note >}}
Stellen Sie auch sicher [einen Eintrag im Inhaltsverzeichnis](/docs/home/contribute/write-new-topic/#creating-an-entry-in-the-table-of-contents) für Ihr neues Dokument zu erstellen.
@@ -12,9 +12,9 @@ Stellen Sie auch sicher [einen Eintrag im Inhaltsverzeichnis](/docs/home/contrib
Diese Seite erklärt ...
{{% /capture %}}
<!-- body -->
{{% capture body %}}
## Verstehen ...
@@ -24,16 +24,15 @@ Kubernetes bietet ...
Benutzen Sie ...
{{% /capture %}}
## {{% heading "whatsnext" %}}
{{% capture whatsnext %}}
**[Optionaler Bereich]**
* Lernen Sie mehr über [ein neues Thema schreiben](/docs/home/contribute/write-new-topic/).
* Besuchen Sie [Seitenvorlagen verwenden - Konzeptvorlage](/docs/home/contribute/page-templates/#concept_template) wie Sie diese Vorlage verwenden.
{{% /capture %}}
View File
@@ -1,17 +1,17 @@
---
title: Kubernetes Komponenten
content_type: concept
content_template: templates/concept
weight: 20
card:
card:
name: concepts
weight: 20
---
<!-- overview -->
{{% capture overview %}}
In diesem Dokument werden die verschiedenen binären Komponenten beschrieben, die zur Bereitstellung eines funktionsfähigen Kubernetes-Clusters erforderlich sind.
{{% /capture %}}
<!-- body -->
{{% capture body %}}
## Master-Komponenten
Master-Komponenten stellen die Steuerungsebene des Clusters bereit. Master-Komponenten treffen globale Entscheidungen über den Cluster (z. B. Zeitplanung) und das Erkennen und Reagieren auf Clusterereignisse (Starten eines neuen Pods, wenn das `replicas`-Feld eines Replikationscontrollers nicht zufriedenstellend ist).
@@ -50,7 +50,7 @@ Der cloud-controller-manager ist eine Alpha-Funktion, die in Kubernetes Version
cloud-controller-manager führt nur Cloud-Provider-spezifische Controller-Schleifen aus. Sie müssen diese Controller-Schleifen im Cube-Controller-Manager deaktivieren. Sie können die Controller-Schleifen deaktivieren, indem Sie beim Starten des kube-controller-manager das Flag `--cloud-provider` auf `external` setzen.
cloud-controller-manager erlaubt es dem Cloud-Anbieter Code und dem Kubernetes-Code, sich unabhängig voneinander zu entwickeln.
cloud-controller-manager erlaubt es dem Cloud-Anbieter Code und dem Kubernetes-Code, sich unabhängig voneinander zu entwickeln.
In früheren Versionen war der Kerncode von Kubernetes für die Funktionalität von Cloud-Provider-spezifischem Code abhängig.
In zukünftigen Versionen sollte der für Cloud-Anbieter spezifische Code vom Cloud-Anbieter selbst verwaltet und mit dem Cloud-Controller-Manager verknüpft werden, während Kubernetes ausgeführt wird.
@@ -81,7 +81,7 @@ Kubernetes unterstützt mehrere Laufzeiten: [Docker](http://www.docker.com), [co
## Addons
Addons sind Pods und Dienste, die Clusterfunktionen implementieren. Die Pods können verwaltet werden
durch Deployments, ReplicationControllers, und so wieter.
durch Deployments, ReplicationControllers, und so wieter.
Namespace-Addon-Objekte werden im Namespace `kube-system` erstellt.
Ausgewählte Addons werden unten beschrieben. Eine erweiterte Liste verfügbarer Addons finden Sie unter [Addons](/docs/concepts/cluster-administration/addons/).
@@ -107,6 +107,6 @@ Von Kubernetes gestartete Container schließen diesen DNS-Server automatisch in
Ein [Cluster-level logging](/docs/concepts/cluster-administration/logging/) Mechanismus ist für das Speichern von Containerprotokollen in einem zentralen Protokollspeicher mit Such- / Browsing-Schnittstelle verantwortlich.
{{% /capture %}}
@@ -1,23 +1,23 @@
---
title: Was ist Kubernetes?
content_type: concept
content_template: templates/concept
weight: 10
card:
card:
name: concepts
weight: 10
---
<!-- overview -->
{{% capture overview %}}
Diese Seite ist eine Übersicht über Kubernetes.
{{% /capture %}}
<!-- body -->
{{% capture body %}}
Kubernetes ist eine portable, erweiterbare Open-Source-Plattform zur Verwaltung von
containerisierten Arbeitslasten und Services, die sowohl die deklarative Konfiguration als auch die Automatisierung erleichtert.
Es hat ein großes, schnell wachsendes Ökosystem. Kubernetes Dienstleistungen, Support und Tools sind weit verbreitet.
containerisierten Arbeitslasten und Services, die sowohl die deklarative Konfiguration als auch die Automatisierung erleichtert.
Es hat einen großes, schnell wachsendes Ökosystem. Kubernetes Dienstleistungen, Support und Tools sind weit verbreitet.
Google hat das Kubernetes-Projekt 2014 als Open-Source-Projekt zur Verfügung gestellt. Kubernetes baut auf anderthalb Jahrzehnten
Google hat das Kubernetes-Projekt 2014 als Open-Source-Projekt zur Verfügung gestellt. Kubernetes baut auf anderthalb Jahrzehnten
Erfahrung auf, die Google mit der Ausführung von Produktions-Workloads in großem Maßstab hat, kombiniert mit den besten Ideen und Praktiken der Community.
## Warum brauche ich Kubernetes und was kann ich damit tun?
@@ -29,65 +29,65 @@ Kubernetes hat eine Reihe von Funktionen. Es kann gesehen werden als:
- eine portable Cloud-Plattform
und vieles mehr.
Kubernetes bietet eine **containerzentrierte** Managementumgebung. Es koordiniert die Computer-, Netzwerk- und Speicherinfrastruktur
im Namen der Benutzer-Workloads. Dies bietet einen Großteil der Einfachheit von Platform as a Service (PaaS) mit der Flexibilität
Kubernetes bietet eine **containerzentrierte** Managementumgebung. Es koordiniert die Computer-, Netzwerk- und Speicherinfrastruktur
im Namen der Benutzer-Workloads. Dies bietet einen Großteil der Einfachheit von Platform as a Service (PaaS) mit der Flexibilität
von Infrastructure as a Service (IaaS) und ermöglicht die Portabilität zwischen Infrastrukturanbietern.
## Wie ist Kubernetes eine Plattform?
Auch wenn Kubernetes eine Menge Funktionalität bietet, gibt es immer wieder neue Szenarien,
die von neuen Funktionen profitieren würden. Anwendungsspezifische Workflows können optimiert werden,
um die Entwicklungsgeschwindigkeit zu beschleunigen.
Eine zunächst akzeptable Ad-hoc-Orchestrierung erfordert oft eine robuste Automatisierung in großem Maßstab.
Aus diesem Grund wurde Kubernetes auch als Plattform für den Aufbau eines Ökosystems von Komponenten und Tools
Auch wenn Kubernetes eine Menge Funktionalität bietet, gibt es immer wieder neue Szenarien,
die von neuen Funktionen profitieren würden. Anwendungsspezifische Workflows können optimiert werden,
um die Entwicklungsgeschwindigkeit zu beschleunigen.
Eine zunächst akzeptable Ad-hoc-Orchestrierung erfordert oft eine robuste Automatisierung in großem Maßstab.
Aus diesem Grund wurde Kubernetes auch als Plattform für den Aufbau eines Ökosystems von Komponenten und Tools
konzipiert, um die Bereitstellung, Skalierung und Verwaltung von Anwendungen zu erleichtern.
[Labels](/docs/concepts/overview/working-with-objects/labels/) ermöglichen es den Benutzern, ihre Ressourcen
[Labels](/docs/concepts/overview/working-with-objects/labels/) ermöglichen es den Benutzern, ihre Ressourcen
nach Belieben zu organisieren. [Anmerkungen](/docs/concepts/overview/working-with-objects/annotations/) ermöglichen es Benutzern,
Ressourcen mit benutzerdefinierten Informationen zu versehen, um ihre Arbeitsabläufe zu vereinfachen und eine einfache Möglichkeit
für Managementtools zu bieten, den Status von Kontrollpunkten zu ermitteln.
Darüber hinaus basiert die [Kubernetes-Steuerungsebene](/docs/concepts/overview/components/) auf den gleichen APIs,
die Entwicklern und Anwendern zur Verfügung stehen. Benutzer können ihre eigenen Controller, wie z.B.
[Scheduler](https://github.com/kubernetes/community/blob/master/contributors/devel/scheduler.md), mit
ihren [eigenen APIs](/docs/concepts/api-extension/custom-resources/) schreiben, die von einem
die Entwicklern und Anwendern zur Verfügung stehen. Benutzer können ihre eigenen Controller, wie z.B.
[Scheduler](https://github.com/kubernetes/community/blob/{{< param "githubbranch" >}}/contributors/devel/scheduler.md), mit
ihren [eigenen APIs](](/docs/concepts/api-extension/custom-resources/) schreiben, die von einem
universellen [Kommandozeilen-Tool](/docs/user-guide/kubectl-overview/) angesprochen werden können.
Dieses [Design](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md) hat es einer Reihe anderer Systeme ermöglicht, auf Kubernetes aufzubauen.
## Was Kubernetes nicht ist
Kubernetes ist kein traditionelles, allumfassendes PaaS (Plattform als ein Service) System. Da Kubernetes nicht auf Hardware-,
sondern auf Containerebene arbeitet, bietet es einige allgemein anwendbare Funktionen, die PaaS-Angeboten gemeinsam sind,
wie Bereitstellung, Skalierung, Lastausgleich, Protokollierung und Überwachung.
Kubernetes ist jedoch nicht monolithisch, und diese Standardlösungen sind optional und modular etweiterbar.
Kubernetes liefert die Bausteine für den Aufbau von Entwicklerplattformen, bewahrt aber die
Kubernetes ist kein traditionelles, allumfassendes PaaS (Plattform als ein Service) System. Da Kubernetes nicht auf Hardware-,
sondern auf Containerebene arbeitet, bietet es einige allgemein anwendbare Funktionen, die PaaS-Angeboten gemeinsam sind,
wie Bereitstellung, Skalierung, Lastausgleich, Protokollierung und Überwachung.
Kubernetes ist jedoch nicht monolithisch, und diese Standardlösungen sind optional und modular etweiterbar.
Kubernetes liefert die Bausteine für den Aufbau von Entwicklerplattformen, bewahrt aber die
Wahlmöglichkeiten und Flexibilität der Benutzer, wo es wichtig ist.
Kubernetes:
* Schränkt nicht die Art der unterstützten Anwendungen ein. Kubernetes zielt darauf ab,
eine extrem große Vielfalt von Workloads zu unterstützen, einschließlich stateless,
stateful und datenverarbeitender Workloads. Wenn eine Anwendung in einem Container ausgeführt
* Schränkt nicht die Art der unterstützten Anwendungen ein. Kubernetes zielt darauf ab,
eine extrem große Vielfalt von Workloads zu unterstützen, einschließlich stateless,
stateful und datenverarbeitender Workloads. Wenn eine Anwendung in einem Container ausgeführt
werden kann, sollte sie auf Kubernetes hervorragend laufen.
* Verteilt keinen Quellcode und entwickelt Ihre Anwendung nicht.
Kontinuierliche Integrations-, Liefer- und Bereitstellungs-Workflows (CI/CD) werden durch
* Verteilt keinen Quellcode und entwickelt Ihre Anwendung nicht.
Kontinuierliche Integrations-, Liefer- und Bereitstellungs-Workflows (CI/CD) werden durch
Unternehmenskulturen und -präferenzen sowie technische Anforderungen bestimmt.
* Bietet keine Dienste auf Anwendungsebene, wie Middleware (z.B. Nachrichtenbusse),
Datenverarbeitungs-Frameworks (z.B. Spark), Datenbanken (z.B. mysql), Caches oder
Cluster-Speichersysteme (z.B. Ceph) als eingebaute Dienste. Solche Komponenten können
auf Kubernetes laufen und/oder von Anwendungen, die auf Kubernetes laufen, über
* Bietet keine Dienste auf Anwendungsebene, wie Middleware (z.B. Nachrichtenbusse),
Datenverarbeitungs-Frameworks (z.B. Spark), Datenbanken (z.B. mysql), Caches oder
Cluster-Speichersysteme (z.B. Ceph) als eingebaute Dienste. Solche Komponenten können
auf Kubernetes laufen und/oder von Anwendungen, die auf Kubernetes laufen, über
portable Mechanismen wie den Open Service Broker angesprochen werden.
* Bietet keine Konfigurationssprache bzw. kein Konfigurationssystem (z.B.[jsonnet](https://github.com/google/jsonnet)).
* Bietet keine Konfigurationssprache bzw. kein Konfigurationssystem (z.B.[jsonnet](https://github.com/google/jsonnet)).
Es bietet eine deklarative API, die von beliebigen Formen deklarativer Spezifikationen angesprochen werden kann.
* Bietet keine umfassenden Systeme zur Maschinenkonfiguration, Wartung, Verwaltung oder Selbstheilung.
Außerdem ist Kubernetes nicht nur ein *Orchestrierungssystem*. Fakt ist, dass es die Notwendigkeit einer Orchestrierung
Außerdem ist Kubernetes nicht nur ein *Orchestrierungssystem*. Fakt ist, dass es die Notwendigkeit einer Orchestrierung
überflüssig macht. Die technische Definition von *Orchestrierung* ist die Ausführung eines
definierten Workflows: zuerst A, dann B, dann C. Im Gegensatz dazu besteht Kubernetes aus einer Reihe von unabhängigen,
komponierbaren Steuerungsprozessen, die den aktuellen Zustand kontinuierlich in Richtung des bereitgestellten Soll-Zustandes vorantreiben.
Es sollte keine Rolle spielen, wie Sie von A nach C kommen. Eine zentrale Steuerung ist ebenfalls nicht erforderlich.
komponierbaren Steuerungsprozessen, die den aktuellen Zustand kontinuierlich in Richtung des bereitgestellten Soll-Zustandes vorantreiben.
Es sollte keine Rolle spielen, wie Sie von A nach C kommen. Eine zentrale Steuerung ist ebenfalls nicht erforderlich.
Das Ergebnis ist ein System, das einfacher zu bedienen und leistungsfähiger, robuster, widerstandsfähiger und erweiterbar ist.
## Warum Container?
@@ -96,33 +96,33 @@ Sie suchen nach Gründen, warum Sie Container verwenden sollten?
![Why Containers?](/images/docs/why_containers.svg)
Der *Altbekannte* Weg zur Bereitstellung von Anwendungen war die Installation
Der *Altbekannte* Weg zur Bereitstellung von Anwendungen war die Installation
der Anwendungen auf einem Host mit dem Betriebssystempaketmanager.
Dies hatte den Nachteil, dass die ausführbaren Dateien, Konfigurationen,
Bibliotheken und Lebenszyklen der Anwendungen untereinander und mit dem
Host-Betriebssystem verwoben waren. Man könnte unveränderliche
Virtual-Machine-Images erzeugen, um vorhersehbare Rollouts
Dies hatte den Nachteil, dass die ausführbaren Dateien, Konfigurationen,
Bibliotheken und Lebenszyklen der Anwendungen untereinander und mit dem
Host-Betriebssystem verwoben waren. Man könnte unveränderliche
Virtual-Machine-Images erzeugen, um vorhersehbare Rollouts
und Rollbacks zu erreichen, aber VMs sind schwergewichtig und nicht portierbar.
Der *Neue Weg* besteht darin, Container auf Betriebssystemebene und nicht auf
Hardware-Virtualisierung bereitzustellen. Diese Container sind voneinander
und vom Host isoliert: Sie haben ihre eigenen Dateisysteme, sie können die
Prozesse des anderen nicht sehen, und ihr Ressourcenverbrauch kann begrenzt
werden. Sie sind einfacher zu erstellen als VMs, und da sie von der zugrunde
liegenden Infrastruktur und dem Host-Dateisystem entkoppelt sind,
Der *Neue Weg* besteht darin, Container auf Betriebssystemebene und nicht auf
Hardware-Virtualisierung bereitzustellen. Diese Container sind voneinander
und vom Host isoliert: Sie haben ihre eigenen Dateisysteme, sie können die
Prozesse des anderen nicht sehen, und ihr Ressourcenverbrauch kann begrenzt
werden. Sie sind einfacher zu erstellen als VMs, und da sie von der zugrunde
liegenden Infrastruktur und dem Host-Dateisystem entkoppelt sind,
sind sie über Clouds und Betriebssystem-Distributionen hinweg portabel.
Da Container klein und schnell sind, kann in jedes Containerimage eine Anwendung gepackt werden.
Diese 1:1-Beziehung zwischen Anwendung und Image ermöglicht es, die Vorteile von Containern
voll auszuschöpfen. Mit Containern können unveränderliche Container-Images eher zur Build-/Release-Zeit
als zur Deployment-Zeit erstellt werden, da jede Anwendung nicht mit dem Rest des Anwendungsstacks komponiert
werden muss und auch nicht mit der Produktionsinfrastrukturumgebung verbunden ist. Die Generierung von
Container-Images zum Zeitpunkt der Erstellung bzw. Freigabe ermöglicht es, eine konsistente Umgebung
von der Entwicklung bis zur Produktion zu gewährleisten.
Ebenso sind Container wesentlich transparenter als VMs, was die Überwachung und Verwaltung erleichtert.
Dies gilt insbesondere dann, wenn die Prozesslebenszyklen der Container von der Infrastruktur verwaltet
Da Container klein und schnell sind, kann in jedes Containerimage eine Anwendung gepackt werden.
Diese 1:1-Beziehung zwischen Anwendung und Image ermöglicht es, die Vorteile von Containern
voll auszuschöpfen. Mit Containern können unveränderliche Container-Images eher zur Build-/Release-Zeit
als zur Deployment-Zeit erstellt werden, da jede Anwendung nicht mit dem Rest des Anwendungsstacks komponiert
werden muss und auch nicht mit der Produktionsinfrastrukturumgebung verbunden ist. Die Generierung von
Container-Images zum Zeitpunkt der Erstellung bzw. Freigabe ermöglicht es, eine konsistente Umgebung
von der Entwicklung bis zur Produktion zu gewährleisten.
Ebenso sind Container wesentlich transparenter als VMs, was die Überwachung und Verwaltung erleichtert.
Dies gilt insbesondere dann, wenn die Prozesslebenszyklen der Container von der Infrastruktur verwaltet
werden und nicht von einem Prozess-Supervisor im Container versteckt werden.
Schließlich, mit einer einzigen Anwendung pro Container, wird die Verwaltung
Schließlich, mit einer einzigen Anwendung pro Container, wird die Verwaltung
der Container gleichbedeutend mit dem Management des Deployments der Anwendung.
Zusammenfassung der Container-Vorteile:
@@ -130,23 +130,23 @@ Zusammenfassung der Container-Vorteile:
* **Agile Anwendungserstellung und -bereitstellung**:
Einfachere und effizientere Erstellung von Container-Images im Vergleich zur Verwendung von VM-Images.
* **Kontinuierliche Entwicklung, Integration und Bereitstellung**:
Bietet eine zuverlässige und häufige Erstellung und Bereitstellung von Container-Images
Bietet eine zuverlässige und häufige Erstellung und Bereitstellung von Container-Images
mit schnellen und einfachen Rollbacks (aufgrund der Unveränderlichkeit des Images).
* **Dev und Ops Trennung der Bedenken**:
Erstellen Sie Anwendungscontainer-Images nicht zum Deployment-, sondern zum Build-Releasezeitpunkt
Erstellen Sie Anwendungscontainer-Images nicht zum Deployment-, sondern zum Build-Releasezeitpunkt
und entkoppeln Sie so Anwendungen von der Infrastruktur.
* **Überwachbarkeit**
Nicht nur Informationen und Metriken auf Betriebssystemebene werden angezeigt,
Nicht nur Informationen und Metriken auf Betriebssystemebene werden angezeigt,
sondern auch der Zustand der Anwendung und andere Signale.
* **Umgebungskontinuität in Entwicklung, Test und Produktion**:
Läuft auf einem Laptop genauso wie in der Cloud.
* **Cloud- und OS-Distribution portabilität**:
Läuft auf Ubuntu, RHEL, CoreOS, On-Prem, Google Kubernetes Engine und überall sonst.
* **Anwendungsorientiertes Management**:
Erhöht den Abstraktionsgrad vom Ausführen eines Betriebssystems auf virtueller Hardware
Erhöht den Abstraktionsgrad vom Ausführen eines Betriebssystems auf virtueller Hardware
bis zum Ausführen einer Anwendung auf einem Betriebssystem unter Verwendung logischer Ressourcen.
* **Locker gekoppelte, verteilte, elastische, freie [micro-services](https://martinfowler.com/articles/microservices.html)**:
Anwendungen werden in kleinere, unabhängige Teile zerlegt und können dynamisch bereitgestellt
Anwendungen werden in kleinere, unabhängige Teile zerlegt und können dynamisch bereitgestellt
und verwaltet werden -- nicht ein monolithischer Stack, der auf einer großen Single-Purpose-Maschine läuft.
* **Ressourcenisolierung**:
Vorhersehbare Anwendungsleistung.
@@ -155,17 +155,16 @@ Zusammenfassung der Container-Vorteile:
## Was bedeutet Kubernetes? K8s?
Der Name **Kubernetes** stammt aus dem Griechischen, bedeutet *Steuermann* oder
Der Name **Kubernetes** stammt aus dem Griechischen, beteutet *Steuermann* oder
*Pilot*, und ist der Ursprung von *Gouverneur* und
[cybernetic](http://www.etymonline.com/index.php?term=cybernetics). *K8s*
ist eine Abkürzung, die durch Ersetzen der 8 Buchstaben "ubernete" mit "8" abgeleitet wird.
{{% /capture %}}
## {{% heading "whatsnext" %}}
{{% capture whatsnext %}}
* [Bereit loszulegen](/docs/setup/)?
* Weitere Einzelheiten finden Sie in der [Kubernetes Dokumentation](/docs/home/).
{{% /capture %}}
View File
View File
View File
@@ -1,369 +0,0 @@
---
title: Pods
content_type: concept
weight: 10
no_list: true
card:
name: concepts
weight: 60
---
<!-- overview -->
_Pods_ sind die kleinsten einsetzbaren Einheiten, die in Kubernetes
erstellt und verwaltet werden können.
Ein _Pod_ (übersetzt Gruppe/Schote, wie z. B. eine Gruppe von Walen oder eine
Erbsenschote) ist eine Gruppe von einem oder mehreren
{{< glossary_tooltip text="Containern" term_id="container" >}} mit gemeinsam
genutzten Speicher- und Netzwerkressourcen und einer Spezifikation für die
Ausführung der Container. Die Ressourcen eines Pods befinden sich immer auf dem
gleichen (virtuellen) Server, werden gemeinsam geplant und in einem
gemeinsamen Kontext ausgeführt. Ein Pod modelliert einen anwendungsspezifischen
"logischen Server": Er enthält eine oder mehrere containerisierte Anwendungen,
die relativ stark voneinander abhängen.
In Nicht-Cloud-Kontexten sind Anwendungen, die auf
demselben physischen oder virtuellen Server ausgeführt werden, vergleichbar zu
Cloud-Anwendungen, die auf demselben logischen Server ausgeführt werden.
Ein Pod kann neben Anwendungs-Containern auch sogenannte
[Initialisierungs-Container](/docs/concepts/workloads/pods/init-containers/)
enthalten, die beim Starten des Pods ausgeführt werden.
Es können auch
kurzlebige/[ephemere Container](/docs/concepts/workloads/pods/ephemeral-containers/)
zum Debuggen gestartet werden, wenn dies der Cluster anbietet.
<!-- body -->
## Was ist ein Pod?
{{< note >}}
Obwohl Kubernetes abgesehen von [Docker](https://www.docker.com/) auch andere
{{<glossary_tooltip text="Container-Laufzeitumgebungen"
term_id="container-runtime">}} unterstützt, ist Docker am bekanntesten und
es ist hilfreich, Pods mit der Terminologie von Docker zu beschreiben.
{{< /note >}}
Der gemeinsame Kontext eines Pods besteht aus einer Reihe von Linux-Namespaces,
Cgroups und möglicherweise anderen Aspekten der Isolation, also die gleichen
Dinge, die einen Dockercontainer isolieren. Innerhalb des Kontexts eines Pods
können die einzelnen Anwendungen weitere Unterisolierungen haben.
Im Sinne von Docker-Konzepten ähnelt ein Pod einer Gruppe von Docker-Containern,
die gemeinsame Namespaces und Dateisystem-Volumes nutzen.
## Pods verwenden
Normalerweise müssen keine Pods erzeugt werden, auch keine Singleton-Pods.
Stattdessen werden sie mit Workload-Ressourcen wie {{<glossary_tooltip
text="Deployment" term_id="deployment">}} oder {{<glossary_tooltip
text="Job" term_id="job">}} erzeugt. Für Pods, die von einem Systemzustand
abhängen, ist die Nutzung von {{<glossary_tooltip text="StatefulSet"
term_id="statefulset">}}-Ressourcen zu erwägen.
Pods in einem Kubernetes-Cluster werden hauptsächlich auf zwei Arten verwendet:
* **Pods, die einen einzelnen Container ausführen**. Das
"Ein-Container-per-Pod"-Modell ist der häufigste Kubernetes-Anwendungsfall. In
diesem Fall kannst du dir einen einen Pod als einen Behälter vorstellen, der einen
einzelnen Container enthält; Kubernetes verwaltet die Pods anstatt die
Container direkt zu verwalten.
* **Pods, in denen mehrere Container ausgeführt werden, die zusammenarbeiten
müssen**. Wenn eine Softwareanwendung aus co-lokaliserten Containern besteht,
die sich gemeinsame Ressourcen teilen und stark voneinander abhängen, kann ein
Pod die Container verkapseln.
Diese Container bilden eine einzelne zusammenhängende
Serviceeinheit, z. B. ein Container, der Daten in einem gemeinsam genutzten
Volume öffentlich verfügbar macht, während ein separater _Sidecar_-Container
die Daten aktualisiert. Der Pod fasst die Container, die Speicherressourcen
und eine kurzlebiges Netzwerk-Identität als eine Einheit zusammen.
{{< note >}}
Das Gruppieren mehrerer gemeinsam lokalisierter und gemeinsam verwalteter
Container in einem einzigen Pod ist ein relativ fortgeschrittener
Anwendungsfall. Du solltest diese Architektur nur in bestimmten Fällen
verwenden, wenn deine Container stark voneinander abhängen.
{{< /note >}}
Jeder Pod sollte eine einzelne Instanz einer gegebenen Anwendung ausführen. Wenn
du deine Anwendung horizontal skalieren willst (um mehr Instanzen auszuführen
und dadurch mehr Gesamtressourcen bereitstellen), solltest du mehrere Pods
verwenden, einen für jede Instanz.
In Kubernetes wird dies typischerweise als Replikation bezeichnet.
Replizierte Pods werden normalerweise als eine Gruppe durch eine
Workload-Ressource und deren
{{<glossary_tooltip text="Controller" term_id="controller">}} erstellt
und verwaltet.
Der Abschnitt [Pods und Controller](#pods-und-controller) beschreibt, wie
Kubernetes Workload-Ressourcen und deren Controller verwendet, um Anwendungen
zu skalieren und zu heilen.
### Wie Pods mehrere Container verwalten
Pods unterstützen mehrere kooperierende Prozesse (als Container), die eine
zusammenhängende Serviceeinheit bilden. Kubernetes plant und stellt automatisch
sicher, dass sich die Container in einem Pod auf demselben physischen oder
virtuellen Server im Cluster befinden. Die Container können Ressourcen und
Abhängigkeiten gemeinsam nutzen, miteinander kommunizieren und
ferner koordinieren wann und wie sie beendet werden.
Zum Beispiel könntest du einen Container haben, der als Webserver für Dateien in
einem gemeinsamen Volume arbeitet. Und ein separater "Sidecar" -Container
aktualisiert die Daten von einer externen Datenquelle, siehe folgenden
Abbildung:
{{< figure src="/images/docs/pod.svg" alt="Pod-Beispieldiagramm" width="50%" >}}
Einige Pods haben sowohl {{<glossary_tooltip text="Initialisierungs-Container"
term_id="init-container">}} als auch {{<glossary_tooltip
text="Anwendungs-Container" term_id="app-container">}}.
Initialisierungs-Container werden gestartet und beendet bevor die
Anwendungs-Container gestartet werden.
Pods stellen standardmäßig zwei Arten von gemeinsam Ressourcen für die
enthaltenen Container bereit:
[Netzwerk](#pod-netzwerk) und [Speicher](#datenspeicherung-in-pods).
## Mit Pods arbeiten
Du wirst selten einzelne Pods direkt in Kubernetes erstellen, selbst
Singleton-Pods. Das liegt daran, dass Pods als relativ kurzlebige
Einweg-Einheiten konzipiert sind. Wann Ein Pod erstellt wird (entweder direkt
von Ihnen oder indirekt von einem
{{<glossary_tooltip text="Controller" term_id="controller">}}), wird die
Ausführung auf einem {{<glossary_tooltip term_id="node">}} in Ihrem Cluster
geplant. Der Pod bleibt auf diesem (virtuellen) Server, bis entweder der Pod die
Ausführung beendet hat, das Pod-Objekt gelöscht wird, der Pod aufgrund
mangelnder Ressourcen *evakuiert* wird oder oder der Node ausfällt.
{{< note >}}
Das Neustarten eines Containers in einem Pod sollte nicht mit dem Neustarten
eines Pods verwechselt werden. Ein Pod ist kein Prozess, sondern eine Umgebung
zur Ausführung von Containern. Ein Pod bleibt bestehen bis er gelöscht wird.
{{< /note >}}
Stelle beim Erstellen des Manifests für ein Pod-Objekt sicher, dass der
angegebene Name ein gültiger
[DNS-Subdomain-Name](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)
ist.
### Pods und Controller
Mit Workload-Ressourcen kannst du mehrere Pods erstellen und verwalten. Ein
Controller für die Ressource kümmert sich um Replikation, Roll-Out sowie
automatische Wiederherstellung im Fall von versagenden Pods. Wenn beispielsweise ein Node
ausfällt, bemerkt ein Controller, dass die Pods auf dem Node nicht mehr laufen
und plant die Ausführung eines Ersatzpods auf einem funktionierenden Node.
Hier sind einige Beispiele für Workload-Ressourcen, die einen oder mehrere Pods
verwalten:
* {{< glossary_tooltip text="Deployment" term_id="deployment" >}}
* {{< glossary_tooltip text="StatefulSet" term_id="statefulset" >}}
* {{< glossary_tooltip text="DaemonSet" term_id="daemonset" >}}
### Pod Vorlagen
Controller für
{{<glossary_tooltip text="Workload" term_id="workload">}}-Ressourcen
erstellen Pods von einer _Pod Vorlage_ und verwalten diese Pods für dich.
Pod Vorlagen sind Spezifikationen zum Erstellen von Pods und sind in
Workload-Ressourcen enthalten wie z. B.
[Deployments](/docs/concepts/workloads/controllers/deployment/),
[Jobs](/docs/concepts/workloads/controllers/job/), and
[DaemonSets](/docs/concepts/workloads/controllers/daemonset/).
Jeder Controller für eine Workload-Ressource verwendet die Pod Vorlage innerhalb
des Workload-Objektes, um Pods zu erzeugen. Die Pod Vorlage ist Teil des
gewünschten Zustands der Workload-Ressource, mit der du deine Anwendung
ausgeführt hast.
Das folgende Beispiel ist ein Manifest für einen einfachen Job mit einer
`Vorlage`, die einen Container startet. Der Container in diesem Pod druckt
eine Nachricht und pausiert dann.
```yaml
apiVersion: batch/v1
kind: Job
metadata:
name: hello
spec:
template:
# Dies is the Pod Vorlage
spec:
containers:
- name: hello
image: busybox
command: ['sh', '-c', 'echo "Hello, Kubernetes!" && sleep 3600']
restartPolicy: OnFailure
# Die Pod Vorlage endet hier
```
Das Ändern der Pod Vorlage oder der Wechsel zu einer neuen Pod Vorlage hat keine
direkten Auswirkungen auf bereits existierende Pods. Wenn du die Pod Vorlage für
eine Workload-Ressource änderst, dann muss diese Ressource die Ersatz-Pods
erstellen, welche die aktualisierte Vorlage verwenden.
Beispielsweise stellt der StatefulSet-Controller sicher, dass für jedes
StatefulSet-Objekt die ausgeführten Pods mit der aktueller Pod Vorlage
übereinstimmen. Wenn du das StatefulSet bearbeitest und die Vorlage änderst,
beginnt das StatefulSet mit der Erstellung neuer Pods basierend auf der
aktualisierten Vorlage. Schließlich werden alle alten Pods durch neue Pods
ersetzt, und das Update ist abgeschlossen.
Jede Workload-Ressource implementiert eigenen Regeln für die Umsetzung von
Änderungen der Pod Vorlage. Wenn du mehr über StatefulSet erfahren möchtest,
dann lese die Seite
[Update-Strategien](/docs/tutorials/stateful-application/basic-stateful-set/#updating-statefulsets)
im Tutorial StatefulSet Basics.
Auf Nodes beobachtet oder verwaltet das
{{< glossary_tooltip term_id="kubelet" text="Kubelet" >}}
nicht direkt die Details zu Pod Vorlagen und Updates. Diese Details sind
abstrahiert. Die Abstraktion und Trennung von Aufgaben vereinfacht die
Systemsemantik und ermöglicht so das Verhalten des Clusters zu ändern ohne
vorhandenen Code zu ändern.
## Pod Update und Austausch
Wie im vorherigen Abschnitt erwähnt, erstellt der Controller neue Pods basierend
auf der aktualisierten Vorlage, wenn die Pod Vorlage für eine Workload-Ressource
geändert wird anstatt die vorhandenen Pods zu aktualisieren oder zu patchen.
Kubernetes hindert dich nicht daran, Pods direkt zu verwalten. Es ist möglich,
einige Felder eines laufenden Pods zu aktualisieren. Allerdings haben
Pod-Aktualisierungsvorgänge wie zum Beispiel
[`patch`](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#patch-pod-v1-core),
und
[`replace`](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#replace-pod-v1-core)
einige Einschränkungen:
- Die meisten Metadaten zu einem Pod können nicht verändert werden. Zum Beispiel kannst
du nicht die Felder `namespace`, `name`, `uid`, oder `creationTimestamp`
ändern. Das `generation`-Feld muss eindeutig sein. Es werden nur Aktualisierungen
akzeptiert, die den Wert des Feldes inkrementieren.
- Wenn das Feld `metadata.deletionTimestamp` gesetzt ist, kann kein neuer
Eintrag zur Liste `metadata.finalizers` hinzugefügt werden.
- Pod-Updates dürfen keine Felder ändern, die Ausnahmen sind
`spec.containers[*].image`,
`spec.initContainers[*].image`, `spec.activeDeadlineSeconds` oder
`spec.tolerations`. Für `spec.tolerations` kannnst du nur neue Einträge
hinzufügen.
- Für `spec.activeDeadlineSeconds` sind nur zwei Änderungen erlaubt:
1. ungesetztes Feld in eine positive Zahl
1. positive Zahl in eine kleinere positive Zahl, die nicht negativ ist
## Gemeinsame Nutzung von Ressourcen und Kommunikation
Pods ermöglichen den Datenaustausch und die Kommunikation zwischen den
Containern, die im Pod enthalten sind.
### Datenspeicherung in Pods
Ein Pod kann eine Reihe von gemeinsam genutzten Speicher-
{{<glossary_tooltip text="Volumes" term_id="volume">}} spezifizieren. Alle
Container im Pod können auf die gemeinsamen Volumes zugreifen und dadurch Daten
austauschen. Volumes ermöglichen auch, dass Daten ohne Verlust gespeichert
werden, falls einer der Container neu gestartet werden muss.
Im Kapitel [Datenspeicherung](/docs/concepts/storage/) findest du weitere
Informationen, wie Kubernetes gemeinsam genutzten Speicher implementiert und
Pods zur Verfügung stellt.
### Pod-Netzwerk
Jedem Pod wird für jede Adressenfamilie eine eindeutige IP-Adresse zugewiesen.
Jeder Container in einem Pod nutzt den gemeinsamen Netzwerk-Namespace,
einschließlich der IP-Adresse und der Ports. In einem Pod (und **nur** dann)
können die Container, die zum Pod gehören, über `localhost` miteinander
kommunizieren. Wenn Container in einem Pod mit Entitäten *außerhalb des Pods*
kommunizieren, müssen sie koordinieren, wie die gemeinsam genutzten
Netzwerkressourcen (z. B. Ports) verwenden werden. Innerhalb eines Pods teilen
sich Container eine IP-Adresse und eine Reihe von Ports und können sich
gegenseitig über `localhost` finden. Die Container in einem Pod können auch die
üblichen Kommunikationsverfahren zwischen Prozessen nutzen, wie z. B.
SystemV-Semaphoren oder "POSIX Shared Memory". Container in verschiedenen Pods
haben unterschiedliche IP-Adressen und können nicht per IPC ohne
[spezielle Konfiguration](/docs/concepts/policy/pod-security-policy/)
kommunizieren. Container, die mit einem Container in einem anderen Pod
interagieren möchten, müssen IP Netzwerke verwenden.
Für die Container innerhalb eines Pods stimmt der "hostname" mit dem
konfigurierten `Namen` des Pods überein. Mehr dazu im Kapitel
[Netzwerke](/docs/concepts/cluster-administration/networking/).
## Privilegierter Modus für Container
Jeder Container in einem Pod kann den privilegierten Modus aktivieren, indem
das Flag `privileged` im
[Sicherheitskontext](/docs/tasks/configure-pod-container/security-context/)
der Container-Spezifikation verwendet wird.
Dies ist nützlich für Container, die Verwaltungsfunktionen des Betriebssystems
verwenden möchten, z. B. das Manipulieren des Netzwerk-Stacks oder den Zugriff
auf Hardware. Prozesse innerhalb eines privilegierten Containers erhalten fast
die gleichen Rechte wie sie Prozessen außerhalb eines Containers zur Verfügung
stehen.
{{< note >}}
Ihre
{{<glossary_tooltip text="Container-Umgebung" term_id="container-runtime">}}
muss das Konzept eines privilegierten Containers unterstützen, damit diese
Einstellung relevant ist.
{{< /note >}}
## Statische Pods
_Statische Pods_ werden direkt vom Kubelet-Daemon auf einem bestimmten Node
verwaltet ohne dass sie vom
{{<glossary_tooltip text="API Server" term_id="kube-apiserver">}} überwacht
werden.
Die meisten Pods werden von der Kontrollebene verwaltet (z. B.
{{< glossary_tooltip text="Deployment" term_id="deployment" >}}). Aber für
statische Pods überwacht das Kubelet jeden statischen Pod direkt (und startet
ihn neu, wenn er ausfällt).
Statische Pods sind immer an ein {{<glossary_tooltip term_id="kubelet">}} auf
einem bestimmten Node gebunden. Der Hauptanwendungsfall für statische Pods
besteht darin, eine selbst gehostete Steuerebene auszuführen. Mit anderen
Worten: Das Kubelet dient zur Überwachung der einzelnen
[Komponenten der Kontrollebene](/docs/concepts/overview/components/#control-plane-components).
Das Kubelet versucht automatisch auf dem Kubernetes API-Server für jeden
statischen Pod einen spiegelbildlichen Pod
(im Englischen: {{<glossary_tooltip text="mirror pod" term_id="mirror-pod">}})
zu erstellen.
Das bedeutet, dass die auf einem Node ausgeführten Pods auf dem API-Server
sichtbar sind jedoch von dort nicht gesteuert werden können.
## {{% heading "whatsnext" %}}
* Verstehe den
[Lebenszyklus eines Pods](/docs/concepts/workloads/pods/pod-lifecycle/).
* Erfahre mehr über [RuntimeClass](/docs/concepts/containers/runtime-class/)
und wie du damit verschiedene Pods mit unterschiedlichen
Container-Laufzeitumgebungen konfigurieren kannst.
* Mehr zum Thema
[Restriktionen für die Verteilung von Pods](/docs/concepts/workloads/pods/pod-topology-spread-constraints/).
* Lese
[Pod-Disruption-Budget](/docs/concepts/workloads/pods/disruptions/)
und wie du es verwenden kannst, um die Verfügbarkeit von Anwendungen bei
Störungen zu verwalten. Die
[Pod](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#pod-v1-core)
-Objektdefinition beschreibt das Objekt im Detail.
* [The Distributed System Toolkit: Patterns for Composite Containers](https://kubernetes.io/blog/2015/06/the-distributed-system-toolkit-patterns)
erläutert allgemeine Layouts für Pods mit mehr als einem Container.
Um den Hintergrund zu verstehen, warum Kubernetes eine gemeinsame Pod-API in
andere Ressourcen, wie z. B.
{{< glossary_tooltip text="StatefulSets" term_id="statefulset" >}}
oder {{< glossary_tooltip text="Deployments" term_id="deployment" >}} einbindet,
kannst du Artikel zu früheren Technologien lesen, unter anderem:
* [Aurora](https://aurora.apache.org/documentation/latest/reference/configuration/#job-schema)
* [Borg](https://research.google.com/pubs/pub43438.html)
* [Marathon](https://mesosphere.github.io/marathon/docs/rest-api.html)
* [Omega](https://research.google/pubs/pub41684/)
* [Tupperware](https://engineering.fb.com/data-center-engineering/tupperware/).
+11 -11
View File
@@ -1,31 +1,31 @@
---
content_type: concept
content_template: templates/concept
title: Zur Kubernets-Dokumentation beitragen
linktitle: Mitmachen
main_menu: true
weight: 80
---
<!-- overview -->
{{% capture overview %}}
Wenn Sie an der Dokumentation oder der Website von Kubernetes mitwirken möchten, freuen wir uns über Ihre Hilfe!
Wenn Sie an der Dokumentation oder der Website von Kubernetes mitwirken möchten, freuen wir uns über Ihre Hilfe!
Jeder kann seinen Beitrag leisten, unabhängig davon ob Sie neu im Projekt sind oder schon lange dabei sind, und ob Sie sich als
Entwickler, Endbenutzer oder einfach jemanden, der es einfach nicht aushält, Tippfehler zu sehen sehen.
Weitere Möglichkeiten, sich in der Kubernetes-Community zu engagieren oder mehr über uns zu erfahren, finden Sie auf der [Kubernetes-Community-Seite](/community/).
Weitere Möglichkeiten, sich in der Kubernetes-Community zu engagieren oder mehr über uns zu erfahren, finden Sie auf der [Kubernetes-Community-Seite](/community/).
Informationen zum Handbuch zur Dokumentation von Kubernetes finden Sie im [Gestaltungshandbuch](/docs/contribute/style/style-guide/).
<!-- body -->
{{% capture body %}}
## Arten von Mitwirkenden
- Ein _Member_ der Kubernetes Organisation, hat die [CLA unterzeichnet](/docs/contribute/start#sign-the-cla)
und etwas Zeit und Energie zum Projekt beigetragen.
Siehe [Community-Mitgliedschaft](https://github.com/kubernetes/community/blob/master/community-membership.md) für spezifische Kriterien bezüglich der Mitgliedschaft.
- Ein SIG Docs _Reviewer_ ist ein Mitglied der Kubernetes-Organisation, das Interesse an der Überprüfung von
Dokumentationsanfragen geäußert hat und von einem SIG Docs Approver zu der entsprechenden Github-Gruppe
und etwas Zeit und Energie zum Projekt beigetragen.
Siehe [Community-Mitgliedschaft](https://github.com/kubernetes/community/blob/master/community-membership.md) für spezifische Kriterien bezüglich der Mitgliedschaft.
- Ein SIG Docs _Reviewer_ ist ein Mitglied der Kubernetes-Organisation, das Interesse an der Überprüfung von
Dokumentationsanfragen geäußert hat und von einem SIG Docs Approver zu der entsprechenden Github-Gruppe
und den `OWNERS`-Dateien im Github-Repository hinzugefügt wurde.
- Ein SIG Docs _approver_ ist ein Mitglied mit gutem Ansehen, das sich kontinuierlich für das Projekt engagiert hat.
- Ein SIG Docs _approver_ ist ein Mitglied mit gutem Ansehen, das sich kontinuierlich für das Projekt engagiert hat.
Ein Approver kann Pull-Anfragen zusammenführen und Inhalte im Namen der Kubernetes-Organisation veröffentlichen.
Approver können SIG Docs auch in der größeren Kubernetes-Community vertreten. Einige der Aufgaben eines SIG Docs Approvers, wie z.B. die Koordination einer Freigabe, erfordern einen erheblichen Zeitaufwand.
@@ -59,4 +59,4 @@ Dies ist keine vollständige Liste von Möglichkeiten, wie Sie zur Kubernetes-Do
- Verbesserungsvorschläge für Dokumentprüfungen vorschlagen
- Vorschläge für Verbesserungen der Kubernetes-Website oder anderer Tools
{{% /capture %}}
-303
View File
@@ -1,303 +0,0 @@
---
title: Lokalisierung der Kubernetes Dokumentation
content_type: concept
weight: 50
card:
name: mitarbeiten
weight: 50
title: Übersetzen der Dokumentation
---
<!-- overview -->
Diese Seite zeigt dir wie die Dokumentation für verschiedene Sprachen [lokalisiert](https://blog.mozilla.org/l10n/2011/12/14/i18n-vs-l10n-whats-the-diff/) wird.
<!-- body -->
## Erste Schritte
Da Mitwirkende nicht ihren eigenen Pull Request freigeben können, brauchst du mindestens zwei Mitwirkende um mit der Lokalisierung anfangen zu können.
Alle Lokalisierungsteams müssen sich mit ihren eigenen Ressourcen selbst tragen. Die Kubernetes-Website ist gerne bereit, deine Arbeit zu beherbergen, aber es liegt an dir, sie zu übersetzen.
### Ermittlung deines Zwei-Buchstaben-Sprachcodes
Rufe den [ISO 639-1 Standard](https://www.loc.gov/standards/iso639-2/php/code_list.php) auf und finde deinen Zwei-Buchstaben-Ländercode zur Lokalisierung. Zum Beispiel ist der Zwei-Buchstaben-Code für Korea `ko`.
### Duplizieren und Klonen des Repositories
Als erstes [erstellst du dir deine eigenes Duplikat](/docs/contribute/new-content/new-content/#fork-the-repo) vom [kubernetes/website] Repository.
Dann klonst du das Duplikat und wechselst in das neu erstellte Verzeichnis:
```shell
git clone https://github.com/<username>/website
cd website
```
### Eröffnen eines Pull Requests
Als nächstes [eröffnest du einen Pull Request](/docs/contribute/new-content/open-a-pr/#open-a-pr) (PR) um eine Lokalisierung zum `kubernetes/website` Repository hinzuzufügen.
Der PR muss die [minimalen Inhaltsanforderungen](#mindestanforderungen) erfüllen, bevor dieser genehmigt werden kann.
Wie der PR für eine neue Lokalisierung aussieht, kannst du dir an dem PR für die [Französische Dokumentation](https://github.com/kubernetes/website/pull/12548) ansehen.
### Tritt der Kubernetes GitHub Organisation bei
Sobald du eine Lokalisierungs-PR eröffnet hast, kannst du Mitglied der Kubernetes GitHub Organisation werden. Jede Person im Team muss einen eigenen [Antrag auf Mitgliedschaft in der Organisation](https://github.com/kubernetes/org/issues/new/choose) im `kubernetes/org`-Repository erstellen.
### Lokalisierungs-Team in GitHub hinzufügen
Im nächsten Schritt musst du dein Kubernetes Lokalisierungs-Team in die [`sig-docs/teams.yaml`](https://github.com/kubernetes/org/blob/master/config/kubernetes/sig-docs/teams.yaml) eintragen.
Der PR des [Spanischen Lokalisierungs-Teams](https://github.com/kubernetes/org/pull/685) kann dir hierbei eine Hilfestellung sein.
Mitglieder der `@kubernetes/sig-docs-**-owners` können nur PRs freigeben die innerhalb deines Lokalisierungs-Ordners Änderungen vorgenommen haben: `/content/**/`.
Für jede Lokalisierung automatisiert das Team `@kubernetes/sig-docs-**-reviews` die Review-Zuweisung für neue PRs.
Mitglieder von `@kubernetes/website-maintainers` können neue Entwicklungszweige schaffen, um die Übersetzungsarbeiten zu koordinieren.
Mitglieder von `@kubernetes/website-milestone-maintainers` können den Befehl `/milestone` [Prow Kommando](https://prow.k8s.io/command-help) verwenden, um Themen oder PRs einen Meilenstein zuzuweisen.
### Workflow konfigurieren
Als nächstes fügst du ein GitHub-Label für deine Lokalisierung im `kubernetes/test-infra`-Repository hinzu. Mit einem Label kannst du Aufgaben filtern und Anfragen für deine spezifische Sprache abrufen.
Schau dir den PR zum Hinzufügen der Labels für die [Italienischen Sprachen-Labels](https://github.com/kubernetes/test-infra/pull/11316 an.
### Finde eine Gemeinschaft
Lasse die Kubernetes SIG Docs wissen, dass du an der Erstellung einer Lokalisierung interessiert bist! Trete dem [SIG Docs Slack-Kanal](https://kubernetes.slack.com/messages/C1J0BPD2M/) bei. Andere Lokalisierungsteams helfen dir gerne beim Einstieg und beantworten deine Fragen.
Du kannst auch einen Slack-Kanal für deine Lokalisierung im `kubernetes/community`-Repository erstellen. Ein Beispiel für das Hinzufügen eines Slack-Kanals findest du im PR für [Kanäle für Indonesisch und Portugiesisch hinzufügen](https://github.com/kubernetes/community/pull/3605).
## Mindestanforderungen
### Ändere die Website-Konfiguration
Die Kubernetes-Website verwendet Hugo als Web-Framework. Die Hugo-Konfiguration der Website befindet sich in der Datei [`config.toml`](https://github.com/kubernetes/website/tree/master/config.toml). Um eine neue Lokalisierung zu unterstützen, musst du die Datei `config.toml` modifizieren.
Dazu fügst du einen neuen Block für die neue Sprache unter den bereits existierenden `[languages]` Block in das `config.toml` ein, wie folgendes Beispiel zeigt:
```toml
[languages.de]
title = "Kubernetes"
description = "Produktionsreife Container-Verwaltung"
languageName = "Deutsch"
contentDir = "content/de"
weight = 3
```
Wenn du deinem Block einen Parameter `weight` zuweist, suche den Sprachblock mit dem höchsten Gewicht und addiere 1 zu diesem Wert.
Weitere Informationen zu Hugos multilingualem Support findest du unter "[Multilingual Mode](https://gohugo.io/content-management/multilingual/)" auf in der Hugo Dokumentation.
### Neuen Lokalisierungsordner erstellen
Füge eine sprachspezifisches Unterverzeichnis zum Ordner [`content`](https://github.com/kubernetes/website/tree/master/content) im Repository hinzu. Der Zwei-Buchstaben-Code für Deutsch ist zum Beispiel `de`:
```shell
mkdir content/de
```
### Lokalisiere den Verhaltenscodex
Öffne einen PR gegen das [`cncf/foundation`](https://github.com/cncf/foundation/tree/master/code-of-conduct-languages) Repository, um den Verhaltenskodex in deiner Sprache hinzuzufügen.
### Lokalisierungs README Datei hinzufügen
Um andere Lokalisierungsmitwirkende anzuleiten, füge eine neue [`README-**.md`](https://help.github.com/articles/about-readmes/) auf der obersten Ebene von k/website hinzu, wobei `**` der aus zwei Buchstaben bestehende Sprachcode ist. Eine deutsche README-Datei wäre zum Beispiel `README-de.md`.
Gebe den Lokalisierungsmitwirkende in der lokalisierten `README-**.md`-Datei Anleitung zum Mitwirken. Füge dieselben Informationen ein, die auch in `README.md` enthalten sind, sowie:
- Eine Anlaufstelle für das Lokalisierungsprojekt
- Alle für die Lokalisierung spezifischen Informationen
Nachdem du das lokalisierte README erstellt hast, füge der Datei einen Link aus der englischen Hauptdatei `README.md` hinzu und gebe die Kontaktinformationen auf Englisch an. Du kannst eine GitHub-ID, eine E-Mail-Adresse, [Slack-Kanal](https://slack.com/) oder eine andere Kontaktmethode angeben. Du musst auch einen Link zu deinem lokalisierten Verhaltenskodex der Gemeinschaft angeben.
### Richte eine OWNERS Datei ein
Um die Rollen der einzelnen an der Lokalisierung beteiligten Benutzer festzulegen, erstelle eine `OWNERS`-Datei innerhalb des sprachspezifischen Unterverzeichnisses mit:
- **reviewers**: Eine Liste von kubernetes-Teams mit Gutachter-Rollen, in diesem Fall das `sig-docs-**-reviews` Team, das in [Lokalisierungsteam in GitHub hinzufügen](#lokalisierungs-team-in-github-hinzufügen) erstellt wurde.
- **approvers**: Eine Liste der Kubernetes-Teams mit der Rolle des Genehmigers, in diesem Fall das `sig-docs-**-owners` Team, das in [Lokalisierungsteam in GitHub hinzufügen](#lokalisierungs-team-in-github-hinzufügen) erstellt wurde.
- **labels**: Eine Liste von GitHub-Labels, die automatisch auf einen PR angewendet werden sollen, in diesem Fall das Sprachlabel, das unter [Workflow konfigurieren](#workflow-konfigurieren) erstellt wurde.
Weitere Informationen über die Datei `OWNERS` findest du unter [go.k8s.io/owners](https://go.k8s.io/owners).
Die Datei [Spanish OWNERS file](https://git.k8s.io/website/content/es/OWNERS), mit dem Sprachcode `es`, sieht wie folgt aus:
```yaml
# See the OWNERS docs at https://go.k8s.io/owners
# This is the localization project for Spanish.
# Teams and members are visible at https://github.com/orgs/kubernetes/teams.
reviewers:
- sig-docs-es-reviews
approvers:
- sig-docs-es-owners
labels:
- language/es
```
Nachdem du die sprachspezifische Datei `OWNERS` hinzugefügt hast, aktualisiere die root Datei [`OWNERS_ALIASES`](https://git.k8s.io/website/OWNERS_ALIASES) mit den neuen Kubernetes-Teams für die Lokalisierung, `sig-docs-**-owners` und `sig-docs-**-reviews`.
Füge für jedes Team die Liste der unter [Ihr Lokalisierungsteam in GitHub hinzufügen](#lokalisierungs-team-in-github-hinzufügen) angeforderten GitHub-Benutzer in alphabetischer Reihenfolge hinzu.
```diff
--- a/OWNERS_ALIASES
+++ b/OWNERS_ALIASES
@@ -48,6 +48,14 @@ aliases:
- stewart-yu
- xiangpengzhao
- zhangxiaoyu-zidif
+ sig-docs-es-owners: # Admins for Spanish content
+ - alexbrand
+ - raelga
+ sig-docs-es-reviews: # PR reviews for Spanish content
+ - alexbrand
+ - electrocucaracha
+ - glo-pena
+ - raelga
sig-docs-fr-owners: # Admins for French content
- perriea
- remyleone
```
## Inhalte übersetzen
Die Lokalisierung *aller* Dokumentationen des Kubernetes ist eine enorme Aufgabe. Es ist in Ordnung, klein anzufangen und mit der Zeit zu erweitern.
Alle Lokalisierungen müssen folgende Inhalte enthalten:
Beschreibung | URLs
-----|-----
Startseite | [Alle Überschriften und Untertitel URLs](/docs/home/)
Einrichtung | [Alle Überschriften und Untertitel URLs](/docs/setup/)
Tutorials | [Kubernetes Grundlagen](/docs/tutorials/kubernetes-basics/), [Hello Minikube](/docs/tutorials/stateless-application/hello-minikube/)
Site strings | [Alle Website-Zeichenfolgen in einer neuen lokalisierten TOML-Datei](https://github.com/kubernetes/website/tree/master/i18n)
Übersetzte Dokumente müssen sich in ihrem eigenen Unterverzeichnis `content/**/` befinden, aber ansonsten dem gleichen URL-Pfad wie die englische Quelle folgen. Um z.B. das Tutorial [Kubernetes Grundlagen](/docs/tutorials/kubernetes-basics/) für die Übersetzung ins Deutsche vorzubereiten, erstelle einen Unterordner unter dem Ordner `content/de/` und kopiere die englische Quelle:
```shell
mkdir -p content/de/docs/tutorials
cp content/en/docs/tutorials/kubernetes-basics.md content/de/docs/tutorials/kubernetes-basics.md
```
Übersetzungswerkzeuge können den Übersetzungsprozess beschleunigen. Einige Redakteure bieten beispielsweise Plugins zur schnellen Übersetzung von Text an.
{{< caution >}}
Maschinelle Übersetzung allein reicht nicht aus. Die Lokalisierung erfordert eine umfassende menschliche Überprüfung, um Mindestqualitätsstandards zu erfüllen.
{{< /caution >}}
Um die Genauigkeit in Grammatik und Bedeutung zu gewährleisten, sollten die Mitglieder deines Lokalisierungsteams alle maschinell erstellten Übersetzungen vor der Veröffentlichung sorgfältig überprüfen.
### Quelldaten
Lokalisierungen müssen auf den englischen Dateien der neuesten Version basieren, {{< latest-version >}}.
Um die Quelldatei für das neueste Release führe folgende Schritte durch:
1. Navigiere zum Repository der Website Kubernetes unter https://github.com/kubernetes/website.
2. Wähle den `release-1.X`-Zweig für die aktuellste Version.
Die neueste Version ist {{< latest-version >}}, so dass der neueste Versionszweig [`{{< release-branch >}}`](https://github.com/kubernetes/website/tree/{{< release-branch >}}) ist.
### Seitenverlinkung in der Internationalisierung
Lokalisierungen müssen den Inhalt von [`i18n/de.toml`](https://github.com/kubernetes/website/blob/main/i18n/en.toml) in einer neuen sprachspezifischen Datei enthalten. Als Beispiel: `i18n/de.toml`.
Füge eine neue Lokalisierungsdatei zu `i18n/` hinzu. Zum Beispiel mit Deutsch (`de`):
```shell
cp i18n/en.toml i18n/de.toml
```
Übersetze dann den Wert jeder Zeichenfolge:
```TOML
[docs_label_i_am]
other = "ICH BIN..."
```
Durch die Lokalisierung von Website-Zeichenfolgen kannst du Website-weiten Text und Funktionen anpassen: z. B. den gesetzlichen Copyright-Text in der Fußzeile auf jeder Seite.
## Sprachspezifischer Styleguide
Einige Sprachteams haben ihren eigenen sprachspezifischen Styleguide und ihr eigenes Glossar. Siehe zum Beispiel den [Leitfaden zur koreanischen Lokalisierung](/ko/docs/contribute/localization_ko/).
### Informale Schreibweise
Für die deutsche Übersetzungen verwenden wir eine informelle Schreibweise und der Ansprache per `Du`. Allerdings werden keine Jargon, Slang, Wortspiele, Redewendungen oder kulturspezifische Bezüge eingebracht.
### Datums und Maßeinheiten
Wenn notwendig sollten Datumsangaben in das in Deutschland übliche dd.mm.yyyy überführt werden. Alternativ können diese auch in den Textfluss eingebunden werden: "... am 24. April ....".
### Abkürzungen
Abkürzungen sollten nach Möglichkeit nicht verwendet werden und entweder ausgeschrieben oder anderweitig umgangen werden.
### Zusammengesetzte Wörter
Durch die Übersetzung werden oft Nomen aneinandergereiht, diese Wortketten müssen durch Bindestriche verbunden werden. Dies ist auch möglich wenn ein Teil ins Deutsche übersetzt wird ein weiterer jedoch im Englischen bestehen bleibt. Als Richtlinie gilt hier der [Duden](https://www.duden.de/sprachwissen/rechtschreibregeln/bindestrich).
### Anglizismen
Die Verwendung von Anglizismen ist dann wünschenswert, wenn die Verwendung eines deutschen Wortes, vor allem für technische Begriffe, nicht eindeutig ist oder zu Unklarheiten führt.
## Branching Strategie
Da Lokalisierungsprojekte in hohem Maße gemeinschaftliche Bemühungen sind, ermutigen wir Teams, in gemeinsamen Entwicklungszweigen zu arbeiten.
In einem Entwicklungszweig zusammenzuarbeiten:
1. Ein Teammitglied von [@kubernetes/website-maintainers](https://github.com/orgs/kubernetes/teams/website-maintainers) eröffnet einen Entwicklungszweig aus einem Quellzweig auf https://github.com/kubernetes/website.
Deine Genehmiger sind dem `@kubernetes/website-maintainers`-Team beigetreten, als du [dein Lokalisierungsteam](#lokalisierungs-team-in-github-hinzufügen) zum Repository [`kubernetes/org`](https://github.com/kubernetes/org) hinzugefügt hast.
Wir empfehlen das folgende Zweigbenennungsschema:
`dev-<Quellversion>-<Sprachcode>.<Team-Meilenstein>`
Beispielsweise öffnet ein Genehmigender in einem deutschen Lokalisierungsteam den Entwicklungszweig `dev-1.12-de.1` direkt gegen das k/website-Repository, basierend auf dem Quellzweig für Kubernetes v1.12.
2. Einzelne Mitwirkende öffnen Feature-Zweige, die auf dem Entwicklungszweig basieren.
Zum Beispiel öffnet ein deutscher Mitwirkende eine Pull-Anfrage mit Änderungen an `kubernetes:dev-1.12-de.1` von `Benutzername:lokaler-Zweig-Name`.
3. Genehmiger Überprüfen und führen die Feature-Zweigen in den Entwicklungszweig zusammen.
4. In regelmäßigen Abständen führt ein Genehmiger den Entwicklungszweig mit seinem Ursprungszweig zusammen, indem er eine neue Pull-Anfrage eröffnet und genehmigt. Achtet darauf, die Commits zusammenzuführen (squash), bevor die Pull-Anfrage genehmigt wird.
Wiederhole die Schritte 1-4 nach Bedarf, bis die Lokalisierung abgeschlossen ist. Zum Beispiel würden nachfolgende deutsche Entwicklungszweige sein: `dev-1.12-de.2`, `dev-1.12-de.3`, usw.
Die Teams müssen den lokalisierten Inhalt in demselben Versionszweig zusammenführen, aus dem der Inhalt stammt. Beispielsweise muss ein Entwicklungszweig, der von {{< release-branch >}} ausgeht, auf {{{{< release-branch >}}} basieren.
Ein Genehmiger muss einen Entwicklungszweig aufrechterhalten, indem er seinen Quellzweig auf dem aktuellen Stand hält und Merge-Konflikte auflöst. Je länger ein Entwicklungszweig geöffnet bleibt, desto mehr Wartung erfordert er in der Regel. Ziehe in Betracht, regelmäßig Entwicklungszweige zusammenzuführen und neue zu eröffnen, anstatt einen extrem lang laufenden Entwicklungszweig zu unterhalten.
Zu Beginn jedes Team-Meilensteins ist es hilfreich, ein Problem [Vergleich der Upstream-Änderungen](https://github.com/kubernetes/website/blob/main/scripts/upstream_changes.py) zwischen dem vorherigen Entwicklungszweig und dem aktuellen Entwicklungszweig zu öffnen.
Während nur Genehmiger einen neuen Entwicklungszweig eröffnen und Pull-Anfragen zusammenführen können, kann jeder eine Pull-Anfrage für einen neuen Entwicklungszweig eröffnen. Es sind keine besonderen Genehmigungen erforderlich.
Weitere Informationen über das Arbeiten von Forks oder direkt vom Repository aus findest du unter ["fork and clone the repo"](#duplizieren-und-klonen-des-repositories).
## Am Upstream Mitwirken
SIG Docs begrüßt Upstream Beiträge, also auf das englische Original, und Korrekturen an der englischen Quelle.
## Unterstütze bereits bestehende Lokalisierungen
Du kannst auch dazu beitragen, Inhalte zu einer bestehenden Lokalisierung hinzuzufügen oder zu verbessern. Trete dem [Slack-Kanal](https://kubernetes.slack.com/messages/C1J0BPD2M/) für die Lokalisierung bei und beginne mit der Eröffnung von PRs, um zu helfen. Bitte beschränke deine Pull-Anfragen auf eine einzige Lokalisierung, da Pull-Anfragen, die Inhalte in mehreren Lokalisierungen ändern, schwer zu überprüfen sein könnten.
## {{% heading "whatsnext" %}}
Sobald eine Lokalisierung die Anforderungen an den Arbeitsablauf und die Mindestausgabe erfüllt, wird SIG docs:
- Die Sprachauswahl auf der Website aktivieren
- Die Verfügbarkeit der Lokalisierung über die Kanäle der [Cloud Native Computing Foundation](https://www.cncf.io/about/) (CNCF), einschließlich des [Kubernetes Blogs](https://kubernetes.io/blog/) veröffentlichen.
@@ -1,94 +0,0 @@
---
title: Bei SIG Docs mitmachen
content_type: concept
weight: 60
card:
name: contribute
weight: 60
---
<!-- overview -->
Die SIG Docs ist eine der [Special Interest Groups](https://github.com/kubernetes/community/blob/master/sig-list.md) (Fachspezifischen Interessengruppen) innerhalb des Kubernetes-Projekts, die sich auf das Schreiben, Aktualisieren und Pflegen der Dokumentation für Kubernetes als Ganzes konzentriert. Weitere Informationen über die SIG findest du unter SIG Docs im [GitHub Repository der Community](https://github.com/kubernetes/community/tree/master/sig-docs).
SIG Docs begrüßt Inhalte und Bewertungen von allen Mitwirkenden. Jeder kann einen
Pull Request (PR) eröffnen, und jeder ist willkommen, Fragen zum Inhalt zu stellen oder Kommentare
zu laufenden Pull Requests abzugeben.
Du kannst dich ausserdem als [Member](/de/docs/contribute/participate/roles-and-responsibilities/#member),
[Reviewer](/de/docs/contribute/participate/roles-and-responsibilities/#reviewer), oder
[Approver](/de/docs/contribute/participate/roles-and-responsibilities/#approver) beteiligen.
Diese Rollen erfordern einen erweiterten Zugriff und bringen bestimmte Verantwortlichkeiten zur Genehmigung und Bestätigung von Änderungen mit sich.
Unter [community-membership](https://github.com/kubernetes/community/blob/master/community-membership.md) findest du weitere Informationen darüber, wie die Mitgliedschaft in der Kubernetes-Community funktioniert.
Der Rest dieses Dokuments umreißt einige spezielle Vorgehensweisen dieser Rollen innerhalb von SIG Docs, die für die Pflege eines der öffentlichsten Aushängeschilder von Kubernetes verantwortlich ist - die Kubernetes-Website und die Dokumentation.
<!-- body -->
## SIG Docs Vorstand
Jede SIG, auch die SIG Docs, wählt ein oder mehrere SIG-Mitglieder, die als
Vorstand fungieren. Sie sind die Kontaktstellen zwischen der SIG Docs und anderen Teilen der
der Kubernetes-Organisation. Sie benötigen umfassende Kenntnisse über die Struktur
des Kubernetes-Projekts als Ganzes und wie SIG Docs darin arbeitet. Hier findest alle weiteren Informationen zu den aktuellen Vorsitzenden und der [Leitung](https://github.com/kubernetes/community/tree/master/sig-docs#leadership).
## SIG Docs-Teams und Automatisierung
Die Automatisierung in SIG Docs stützt sich auf zwei verschiedene Mechanismen:
GitHub-Teams und OWNERS-Dateien.
### GitHub Teams
Es gibt zwei Kategorien von SIG Docs [Teams](https://github.com/orgs/kubernetes/teams?query=sig-docs) auf GitHub:
- `@sig-docs-{language}-owners` sind Genehmiger und Verantwortliche
- `@sig-docs-{language}-reviewers` sind Reviewer
Jede Gruppe kann in GitHub-Kommentaren mit ihrem `@name` referenziert werden, um mit allen Mitgliedern dieser Gruppe zu kommunizieren.
Manchmal überschneiden sich Prow- und GitHub-Teams, ohne eine genaue Übereinstimmung. Für die Zuordnung von Issues, Pull-Requests und zur Unterstützung von PR-Genehmigungen verwendet die
Automatisierung die Informationen aus den `OWNERS`-Dateien.
### OWNERS Dateien und Front-Matter
Das Kubernetes-Projekt verwendet ein Automatisierungstool namens prow für die Automatisierung im Zusammenhang mit GitHub-Issues und Pull-Requests.
Das [Kubernetes-Website-Repository](https://github.com/kubernetes/website) verwendet zwei [prow-Plugins](https://github.com/kubernetes/test-infra/tree/master/prow/plugins):
- blunderbuss
- approve
Diese beiden Plugins nutzen die
[OWNERS](https://github.com/kubernetes/website/blob/main/OWNERS) und
[OWNERS_ALIASES](https://github.com/kubernetes/website/blob/main/OWNERS_ALIASES)
Dateien auf der obersten Ebene des GitHub-Repositorys `kubernetes/website`, um zu steuern
wie prow innerhalb des Repositorys arbeitet.
Eine OWNERS-Datei enthält eine Liste von Personen, die SIG Docs-Reviewer und
Genehmiger sind. OWNERS-Dateien können auch in Unterverzeichnissen existieren und bestimmen, wer
Dateien in diesem Unterverzeichnis und seinen Unterverzeichnissen als Gutachter oder
Genehmiger bestätigen darf. Weitere Informationen über OWNERS-Dateien im Allgemeinen findest du unter
[OWNERS](https://github.com/kubernetes/community/blob/master/contributors/guide/owners.md).
Außerdem kann eine einzelne Markdown-Datei in ihrem Front-Matter (Vorspann) Reviewer und Genehmiger auflisten.
Entweder durch Auflistung einzelner GitHub-Benutzernamen oder GitHub-Gruppen.
Die Kombination aus OWNERS-Dateien und Front-Matter in Markdown-Dateien bestimmt, welche Empfehlungen PR-Eigentümer von automatisierten Systemen erhalten, und wen sie um eine technische und redaktionelle Überprüfung ihres PRs bitten sollen.
## So funktioniert das Zusammenführen
Wenn ein Pull Request mit der Branch (Ast) zusammengeführt wird, in dem der Inhalt bereitgestellt werden soll, wird dieser Inhalt auf http://kubernetes.io veröffentlicht. Um sicherzustellen, dass die Qualität der veröffentlichten Inhalte hoch ist, beschränken wir das Zusammenführen von Pull Requests auf
SIG Docs Freigabeberechtigte. So funktioniert es:
- Wenn eine Pull-Anfrage sowohl das `lgtm`- als auch das `approve`-Label hat, kein `hold`-Label hat,
und alle Tests bestanden sind, wird der Pull Request automatisch zusammengeführt.
- Jedes Kubernetes-Mitglied kann das `lgtm`-Label hinzufügen, indem es einen `/lgtm`-Kommentar hinzufügt.
- Mitglieder der Kubernetes-Organisation und SIG Docs-Genehmiger können kommentieren, um das automatische Zusammenführen eines Pull Requests zu verhindern (durch Hinzufügen eines `/hold`-Kommentars
kann ein vorheriger `/lgtm`-Kommentar zurückgehalten werden).
- Nur SIG Docs-Genehmiger können einen Pull Request zusammenführen indem sie einen `/approve` Kommentar hinzufügen.
Einige Genehmiger übernehmen auch weitere spezielle Rollen, wie zum Beispiel [PR Wrangler](/docs/contribute/participate/pr-wranglers/) oder [SIG Docs Vorsitzende](#sig-docs-chairperson).
## {{% heading "whatsnext" %}}
Weitere Informationen über die Mitarbeit an der Kubernetes-Dokumentation findest du unter:
- [Neue Inhalte beisteuern](/docs/contribute/new-content/overview/)
- [Inhalte überprüfen](/docs/contribute/review/reviewing-prs)
- [Styleguide für die Dokumentation](/docs/contribute/style/)
@@ -1,81 +0,0 @@
---
title: PR Wranglers
content_type: concept
weight: 20
---
<!-- overview -->
SIG Docs [approvers](/docs/contribute/participate/roles-and-responsibilities/#approvers) übernehmen einwöchige Schichten um die [Pull Requests](https://github.com/kubernetes/website/wiki/PR-Wranglers) des Repositories zu verwalten.
Dieser Abschnitt behandelt die Aufgaben eines PR-Wranglers. Weitere Informationen über gute Reviews findest du unter [Überprüfen von Änderungen](/docs/contribute/review/).
<!-- body -->
## Aufgaben
Tägliche Aufgaben in einer einwöchigen Schicht als PR Wrangler:
- Sortiere und kennzeichne täglich eingehende Probleme. Siehe [Einstufung und Kategorisierung von Problemen](/docs/contribute/review/for-approvers/#triage-and-categorize-issues) für Richtlinien, wie SIG Docs Metadaten verwendet.
- Überprüfe [offene Pull Requests](https://github.com/kubernetes/website/pulls) auf Qualität und Einhaltung der [Style](/docs/contribute/style/style-guide/) und [Content](/docs/contribute/style/content-guide/) Leitfäden.
- Beginne mit den kleinsten PRs (`size/XS`) und ende mit den größten (`size/XXL`). Überprüfe so viele PRs, wie du kannst.
- Achte darauf, dass die PR-Autoren den [CLA](https://github.com/kubernetes/community/blob/master/CLA.md) unterschreiben.
- Verwende [dieses](https://github.com/zparnold/k8s-docs-pr-botherer) Skript, um diejenigen, die den CLA noch nicht unterschrieben haben, daran zu erinnern, dies zu tun.
- Gib Feedback zu den Änderungen und bitte die Mitglieder anderer SIGs um technische Überprüfung.
- Gib inline Vorschläge für die vorgeschlagenen inhaltlichen Änderungen in den PR ein.
- Wenn du den Inhalt überprüfen musst, kommentiere den PR und bitte um weitere Details.
- Vergebe das/die entsprechende(n) `sig/`-Label.
- Falls nötig, weise die Reviever aus dem Block `revievers:` im Vorspann der Datei zu.
- Benutze den Kommentar `/approve`, um einen PR zum Zusammenführen zu genehmigen. Führe den PR zusammen, wenn er inhaltlich und technisch einwandfrei ist.
- PRs sollten einen `/lgtm`-Kommentar von einem anderen Mitglied haben, bevor sie zusammengeführt werden.
- Erwäge, technisch korrekte Inhalte zu akzeptieren, die nicht den [Stilrichtlinien](/docs/contribute/style/style-guide/) entsprechen. Eröffne ein neues Thema mit dem Label `good first issue`, um Stilprobleme anzusprechen.
### Hilfreiche GitHub-Anfragen für Wranglers
Die folgenden Anfragen sind beim Wrangling hilfreich.
Wenn du diese Anfragen abgearbeitet hast, ist die verbleibende Liste der zu prüfenden PRs meist klein.
Diese Anfragen schließen Lokalisierungs-PRs aus. Alle Anfragen beziehen sich auf den `main`-Branch, außer der letzten.
- [Kein CLA, nicht zusammenfürbar](https://github.com/kubernetes/website/pulls?q=is%3Aopen+ist%3Apr+label%3A%22cncf-cla%3A+no%22+-label%3A%22do-not-merge%2Fwork-in-progress%22+-label%3A%22do-not-merge%2Fhold%22+label%3Alanguage%2Fen):
Erinnere den Beitragenden daran, den CLA zu unterschreiben. Wenn sowohl der Bot als auch ein Mensch sie daran erinnert haben, schließe
den PR und erinnere die Autoren daran, dass sie ihn erneut öffnen können, nachdem sie den CLA unterschrieben haben.
**Überprüfe keine PRs, deren Autoren den CLA nicht unterschrieben haben!**
- [Benötigt LGTM](https://github.com/kubernetes/website/pulls?q=is%3Aopen+ist%3Apr+-label%3A%22cncf-cla%3A+kein%22+-label%3Ado-not-merge%2Fwork-in-progress+-label%3Ado-not-merge%2Fhold+label%3Alanguage%2Fen+-label%3Algtm):
Listet PRs auf, die ein LGTM von einem Mitglied benötigen. Wenn der PR eine technische Überprüfung benötigt, schalte einen der vom Bot vorgeschlagenen Reviewer ein. Wenn der Inhalt überarbeitet werden muss, füge Vorschläge und Feedback in-line hinzu.
- [Hat LGTM, braucht die Zustimmung von Docs](https://github.com/kubernetes/website/pulls?q=is%3Aopen+is%3Apr+-label%3Ado-not-merge%2Fwork-in-progress+-label%3Ado-not-merge%2Fhold+label%3Alanguage%2Fen+label%3Algtm+):
Listet PRs auf, die einen `/approve`-Kommentar benötigen, um zusammengeführt zu werden.
- [Quick Wins](https://github.com/kubernetes/website/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aopen+base%3Amain+-label%3A%22do-not-merge%2Fwork-in-progress%22+-label%3A%22do-not-merge%2Fhold%22+label%3A%22cncf-cla%3A+yes%22+label%3A%22size%2FXS%22+label%3A%22language%2Fen%22): Listet PRs gegen den Hauptzweig auf, die nicht eindeutig blockiert sind. (ändere "XS" in der Größenbezeichnung, wenn du dich durch die PRs arbeitest [XS, S, M, L, XL, XXL]).
- [Nicht gegen den `main`-Branch](https://github.com/kubernetes/website/pulls?q=is%3Aopen+ist%3Apr+label%3Alanguage%2Fen+-base%3Amain): Wenn der PR gegen einen `dev-`Ast gerichtet ist, ist er für eine kommende Veröffentlichung. Weise diesen dem [Docs Release Manager](https://github.com/kubernetes/sig-release/tree/master/release-team#kubernetes-release-team-roles) zu: `/assign @<manager's_github-username>`. Wenn der PR gegen einen alten Ast gerichtet ist, hilf dem Autor herauszufinden, ob er auf den richtigen Ast gerichtet ist.
### Hilfreiche Prow-Befehle für Wranglers
```
# Englisches Label hinzufügen
/language en
# füge dem PR ein Squash-Label hinzu, wenn es mehr als einen Commit gibt
/label tide/merge-method-squash
# einen PR ueber Prow neu betiteln (z.B. als Work-in-Progress [WIP])
/retitle [WIP] <TITLE>
```
### Wann sind Pull Requests zu schließen
Reviews und Genehmigungen sind ein Mittel, um unsere PR-Warteschlange kurz und aktuell zu halten. Ein weiteres Mittel ist das Schließen.
PRs werden geschlossen, wenn:
- Der Autor den CLA seit zwei Wochen nicht unterschrieben hat.
Die Autoren können den PR wieder öffnen, nachdem sie den CLA unterschrieben haben. Dies ist ein risikoarmer Weg, um sicherzustellen, dass nichts zusammengeführt wird, ohne dass ein CLA unterzeichnet wurde.
- Der Autor hat seit Zwei oder mehr Wochen nicht auf Kommentare oder Feedback geantwortet.
Hab keine Angst, Pull Requests zu schließen. Mitwirkende können sie leicht wieder öffnen und die laufenden Arbeiten fortsetzen. Oft ist es die Nachricht über die Schließung, die einen Autor dazu anspornt, seinen Beitrag wieder aufzunehmen und zu beenden.
Um eine Pull-Anfrage zu schließen, hinterlasse einen `/close`-Kommentar zu dem PR.
{{< note >}}
Der [`fejta-bot`](https://github.com/fejta-bot) Bot markiert Themen nach 90 Tagen Inaktivität als veraltet. Nach weiteren 30 Tagen markiert er Issues als faul und schließt sie. PR-Beauftragte sollten Themen nach 14-30 Tagen Inaktivität schließen.
{{< /note >}}
@@ -1,227 +0,0 @@
---
title: Rollen und Verantwortlichkeiten
content_type: concept
weight: 10
---
<!-- overview -->
Jeder kann zu Kubernetes beitragen. Wenn deine Beiträge zu SIG Docs wachsen, kannst du dich für verschiedene Stufen der Mitgliedschaft in der Community bewerben.
Diese Rollen ermöglichen es dir, mehr Verantwortung innerhalb der Gemeinschaft zu übernehmen.
Jede Rolle erfordert mehr Zeit und Engagement. Die Rollen sind:
- Jeder: kann regelmäßig zur Kubernetes-Dokumentation beitragen
- Member: können Issues zuweisen und einstufen und Pull Requests unverbindlich prüfen
- Reviewer: können die Überprüfung von Dokumentations-Pull-Requests leiten und für die Qualität einer Änderung bürgen
- Approver: können die Überprüfung von Dokumentations- und Merge-Änderungen leiten
<!-- body -->
## Jeder
Jeder mit einem GitHub-Konto kann zu Kubernetes beitragen. SIG Docs heißt alle neuen Mitwirkenden willkommen!
Jeder kann:
- Ein Problem in einem beliebigen [Kubernetes](https://github.com/kubernetes/)
Repository, einschließlich
[`kubernetes/website`](https://github.com/kubernetes/website) melden
- Unverbindliches Feedback zu einem Pull Request geben
- Zu einer Lokalisierung beitragen
- Verbesserungen auf [Slack](https://slack.k8s.io/) oder der
[SIG docs mailing list](https://groups.google.com/forum/#!forum/kubernetes-sig-docs) vorschlagen.
Nach dem [Signieren des CLA](/docs/contribute/new-content/overview/#sign-the-cla) kann jeder auch:
- eine Pull-Anfrage öffnen, um bestehende Inhalte zu verbessern, neue Inhalte hinzuzufügen oder einen Blogbeitrag oder eine Fallstudie zu schreiben
- Diagramme, Grafiken und einbettbare Screencasts und Videos erstellen
Weitere Informationen findest du unter [neue Inhalte beisteuern](/docs/contribute/new-content/).
## Member
Ein Member (Mitglied) ist jemand, der bereits mehrere Pull Requests an
`kubernetes/website` eingereicht hat. Mitglieder sind ein Teil der
[Kubernetes GitHub Organisation](https://github.com/kubernetes).
Member können:
- Alles tun, was unter [Jeder](#jeder) aufgeführt ist
- Den Kommentar `/lgtm` verwenden, um einem Pull Request das Label LGTM (looks good to me) hinzuzufügen
{{< note >}}
Die Verwendung von `/lgtm` löst eine Automatisierung aus. Wenn du eine unverbindliche
Zustimmung geben willst, funktioniert der Kommentar "LGTM" auch!
{{< /note >}}
- Verwende den Kommentar `/hold`, um das Zusammenführen eines Pull Requests zu blockieren.
- Benutze den Kommentar `/assign`, um einem Pull Request einen Reviewer zuzuweisen.
- Unverbindliche Überprüfung von Pull Requests
- Nutze die Automatisierung, um Issues zu sortieren und zu kategorisieren
- Neue Funktionen dokumentieren
### Mitglied werden
Du kannst ein Mitglied werden, nachdem du mindestens 5 substantielle Pull Requests eingereicht hast und die anderen
[Anforderungen](https://github.com/kubernetes/community/blob/master/community-membership.md#member) erforderst:
1. Finde zwei [Reviewer](#reviewers) oder [Approver](#approvers), die deine Mitgliedschaft [sponsern](/docs/contribute/advanced#sponsor-a-new-contributor).
Bitte um Sponsoring im [#sig-docs channel on Slack](https://kubernetes.slack.com) oder auf der
[SIG Docs Mailingliste](https://groups.google.com/forum/#!forum/kubernetes-sig-docs).
{{< note >}}
Schicke keine direkte E-Mail oder Slack-Direktnachricht an ein einzelnes
SIG Docs-Mitglied. Du musst das Sponsoring beantragen, bevor du deine Bewerbung einreichst.
{{< /note >}}
1. Eröffne ein GitHub-Issue im
[`kubernetes/org`](https://github.com/kubernetes/org/) Repository. Verwende dabei das
**Organization Membership Request** issue template.
1. Informiere deine Sponsoren über das GitHub-Issue. Du kannst entweder:
- Ihren GitHub-Benutzernamen in deinem Issue (`@<GitHub-Benutzername>`) erwähnen
- Ihnen den Issue-Link über Slack oder per E-Mail senden.
Die Sponsoren werden deine Anfrage mit einer "+1"-Stimme genehmigen. Sobald deine Sponsoren
genehmigen, fügt dich ein Kubernetes-GitHub-Admin als Mitglied hinzu.
Herzlichen Glückwunsch!
Wenn dein Antrag auf Mitgliedschaft nicht angenommen wird, erhältst du eine Rückmeldung.
Nachdem du dich mit dem Feedback auseinandergesetzt hast, kannst du dich erneut bewerben.
1. Nimm die Einladung zur Kubernetes GitHub Organisation in deinem E-Mail-Konto an.
{{< note >}}
GitHub sendet die Einladung an die Standard-E-Mail-Adresse in deinem Konto.
{{< /note >}}
## Reviewer
Reviewer (Gutachteren) sind dafür verantwortlich, offene Pull Requests zu überprüfen. Anders als bei den Mitgliedern
musst du auf das Feedback der Prüfer eingehen. Reviewer sind Mitglieder des
[@kubernetes/sig-docs-{language}-reviews](https://github.com/orgs/kubernetes/teams?query=sig-docs)
GitHub-Teams.
Gutachteren können:
- Alles tun, was unter [Jeder](#jeder) und [Member](#member) aufgeführt ist
- Pull Requests überprüfen und verbindliches Feedback geben
{{< note >}}
Um unverbindliches Feedback zu geben, stellst du deinen Kommentaren eine Formulierung wie "Optional:" voran.
{{< /note >}}
- Bearbeite benutzerseitige Zeichenfolgen im Code
- Verbessere Code-Kommentare
### Zuweisung von Reviewern zu Pull Requests
Die Automatisierung weist allen Pull Requests Reviewer zu. Du kannst eine
Review von einer bestimmten Person anfordern, indem du einen Kommentar schreibst: `/assign
[@_github_handle]`.
Wenn der zugewiesene Prüfer den PR nicht kommentiert hat, kann ein anderer Prüfer
einspringen. Du kannst bei Bedarf auch technische Prüfer zuweisen.
### Verwendung von `/lgtm`
LGTM steht für "Looks good to me" und zeigt an, dass ein Pull Request
technisch korrekt und bereit zum Zusammenführen ist. Alle PRs brauchen einen `/lgtm` Kommentar von einem
Reviewer und einen `/approve` Kommentar von einem Approver, um zusammengeführt zu werden.
Ein `/lgtm`-Kommentar vom Reviewer ist verbindlich und löst eine Automatisierung aus, die das `lgtm`-Label hinzufügt.
### Reviewer werden
Wenn du die
[Anforderungen](https://github.com/kubernetes/community/blob/master/community-membership.md#reviewer) erfüllst,
kannst du ein SIG Docs-Reviewer werden. Reviewer in anderen SIGs müssen sich gesondert für den Reviewer-Status in SIG Docs bewerben.
So bewirbst du dich:
1. Eröffne einen Pull Request, in dem du deinen GitHub-Benutzernamen in einen Abschnitt der
[OWNERS_ALIASES](https://github.com/kubernetes/website/blob/main/OWNERS) Datei
im `kubernetes/website` Repository hinzufügt.
{{< note >}}
Wenn du dir nicht sicher bist, wo du dich hinzufügen sollst, füge dich zu `sig-docs-de-reviews` hinzu.
{{< /note >}}
1. Weise den PR einem oder mehreren SIG-Docs-Genehmigern zu (Benutzernamen, die unter
`sig-docs-{language}-owners` aufgelisted sind).
Wenn der PR genehmigt wurde, fügt dich ein SIG Docs-Lead dem entsprechenden GitHub-Team hinzu. Sobald du hinzugefügt bist,
wird [@k8s-ci-robot](https://github.com/kubernetes/test-infra/tree/master/prow#bots-home)
dich als Reviewer für neue Pull Requests vorschlagen und zuweisen.
## Approver
Approver (Genehmiger) prüfen und genehmigen Pull Requests zum Zusammenführen. Genehmigende sind Mitglieder des
[@kubernetes/sig-docs-{language}-owners](https://github.com/orgs/kubernetes/teams/?query=sig-docs)
GitHub-Teams.
Genehmigende können Folgendes tun:
- Alles, was unter [Jeder](#jeder), [Member](#member) und [Reviewer](#reviewes) aufgeführt ist
- Inhalte von Mitwirkenden veröffentlichen, indem sie Pull Requests mit dem Kommentar `/approve` genehmigen und zusammenführen
- Verbesserungen für den Style Guide vorschlagen
- Verbesserungsvorschläge für Docs-Tests einbringen
- Verbesserungsvorschläge für die Kubernetes-Website oder andere Tools machen
Wenn der PR bereits einen `/lgtm` hat, oder wenn der Genehmigende ebenfalls mit
`/lgtm` kommentiert, wird der PR automatisch zusammengeführt. Ein SIG Docs-Genehmiger sollte nur ein
`/lgtm` für eine Änderung hinterlassen, die keine weitere technische Überprüfung erfordert.
### Pull Requests genehmigen
Genehmiger und SIG Docs-Leads sind die Einzigen, die Pull Requests
in das Website-Repository aufnehmen. Damit sind bestimmte Verantwortlichkeiten verbunden.
- Genehmigende können den Befehl `/approve` verwenden, der PRs in das Repository einfügt.
{{< warning >}}
Ein unvorsichtiges Zusammenführen kann die Website lahmlegen, also sei dir sicher, dass du es auch so meinst, wenn du etwas zusammenführst.
{{< /warning >}}
- Vergewissere dich, dass die vorgeschlagenen Änderungen den
[Beitragsrichtlinien](/docs/contribute/style/content-guide/#contributing-content) entsprechen.
Wenn du jemals eine Frage hast oder dir bei etwas nicht sicher bist, fordere einfach Hilfe an, um eine zusätzliche Überprüfung zu erhalten.
- Vergewissere dich, dass die Netlify-Tests erfolgreich sind, bevor du einen PR mittels `/approve` genehmigst.
<img src="/images/docs/contribute/netlify-pass.png" width="75%" alt="Netlify-Tests müssen vor der Freigabe bestanden werden" />
- Besuche die Netlify-Seitenvorschau für den PR, um sicherzustellen, dass alles gut aussieht, bevor du es genehmigst.
- Nimm am [PR Wrangler Rotationsplan](https://github.com/kubernetes/website/wiki/PR-Wranglers)
für wöchentliche Rotationen teil. SIG Docs erwartet von allen Genehmigern, dass sie an dieser
Rotation teilnehmen. Siehe [PR-Wranglers](/docs/contribute/participate/pr-wranglers/).
für weitere Details.
### Approver werden
Wenn du die [Anforderungen](https://github.com/kubernetes/community/blob/master/community-membership.md#approver) erfüllst,
kannst du ein SIG Docs Approver werden. Genehmigende in anderen SIGs müssen sich separat für den Approver-Status in SIG Docs bewerben.
So bewirbst du dich:
1. Eröffne eine Pull-Anfrage, in der du dich in einem Abschnitt der
[OWNERS_ALIASES](https://github.com/kubernetes/website/blob/main/OWNERS)
Datei im `kubernetes/website` Repository hinzuzufügen.
{{< note >}}
Wenn du dir nicht sicher bist, wo du dich hinzufügen sollst, füge dich zu `sig-docs-de-owners` hinzu.
{{< /note >}}
2. Weise den PR einem oder mehreren aktuellen SIG Docs Genehmigern zu.
Wenn der PR genehmigt wurde, fügt dich ein SIG Docs-Lead dem entsprechenden GitHub-Team hinzu. Sobald du hinzugefügt bist,
wird [@k8s-ci-robot](https://github.com/kubernetes/test-infra/tree/master/prow#bots-home)
dich als Reviewer für neue Pull Requests vorschlagen und zuweisen.
## {{% heading "whatsnext" %}}
- Erfahre mehr über [PR-Wrangling](/de/docs/contribute/participate/pr-wranglers/), eine Rolle, die alle Genehmiger im Wechsel übernehmen.
+1 -1
View File
@@ -3,7 +3,7 @@ title: Kubernetes Dokumentation
noedit: true
cid: docsHome
layout: docsportal_home
class: gridPage gridPageHome
class: gridPage
linkTitle: "Home"
main_menu: true
weight: 10
@@ -1,20 +1,20 @@
---
title: Unterstützte Versionen der Kubernetes-Dokumentation
content_type: concept
content_template: templates/concept
card:
name: about
weight: 10
title: Unterstützte Versionen der Dokumentation
---
<!-- overview -->
{{% capture overview %}}
Diese Website enthält Dokumentation für die aktuelle Version von Kubernetes
und die vier vorherigen Versionen von Kubernetes.
{{% /capture %}}
<!-- body -->
{{% capture body %}}
## Aktuelle Version
@@ -25,6 +25,6 @@ Die aktuelle Version ist
{{< versions-other >}}
{{% /capture %}}
+9 -9
View File
@@ -5,31 +5,31 @@ approvers:
linkTitle: "Referenzen"
main_menu: true
weight: 70
content_type: concept
content_template: templates/concept
---
<!-- overview -->
{{% capture overview %}}
Dieser Abschnitt der Kubernetes-Dokumentation enthält Referenzinformationen.
{{% /capture %}}
<!-- body -->
{{% capture body %}}
## API-Referenz
* [Kubernetes API Überblick](/docs/reference/using-api/api-overview/) - Übersicht über die API für Kubernetes.
* Kubernetes API Versionen
* [1.17](/docs/reference/generated/kubernetes-api/v1.17/)
* [1.16](/docs/reference/generated/kubernetes-api/v1.16/)
* [1.15](/docs/reference/generated/kubernetes-api/v1.15/)
* [1.14](/docs/reference/generated/kubernetes-api/v1.14/)
* [1.13](/docs/reference/generated/kubernetes-api/v1.13/)
* [1.12](/docs/reference/generated/kubernetes-api/v1.12/)
* [1.11](/docs/reference/generated/kubernetes-api/v1.11/)
* [1.10](/docs/reference/generated/kubernetes-api/v1.10/)
## API-Clientbibliotheken
Um die Kubernetes-API aus einer Programmiersprache aufzurufen, können Sie
[Clientbibliotheken](/docs/reference/using-api/client-libraries/) verwenden.
[Clientbibliotheken](/docs/reference/using-api/client-libraries/) verwenden.
Offiziell unterstützte Clientbibliotheken:
- [Kubernetes Go Clientbibliothek](https://github.com/kubernetes/client-go/)
@@ -58,4 +58,4 @@ Offiziell unterstützte Clientbibliotheken:
Ein Archiv der Designdokumente für Kubernetes-Funktionalität. Gute Ansatzpunkte sind [Kubernetes Architektur](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md) und [Kubernetes Design Übersicht](https://git.k8s.io/community/contributors/design-proposals).
{{% /capture %}}
+3 -3
View File
@@ -6,14 +6,14 @@ full_link: /docs/tasks/administer-cluster/configure-upgrade-etcd/
short_description: >
Konsistenter und hochverfügbarer Key-Value Speicher, der als Backupspeicher von Kubernetes für alle Clusterdaten verwendet wird.
aka:
aka:
tags:
- architecture
- storage
---
Konsistenter und hochverfügbarer Key-Value Speicher, der als Backupspeicher von Kubernetes für alle Clusterdaten verwendet wird.
<!--more-->
<!--more-->
Halten Sie immer einen Sicherungsplan für etcds Daten für Ihren Kubernetes-Cluster bereit. Ausführliche Informationen zu etcd finden Sie in der [etcd Dokumentation](https://etcd.io/docs).
Halten Sie immer einen Sicherungsplan für etcds Daten für Ihren Kubernetes-Cluster bereit. Ausführliche Informationen zu etcd finden Sie in der [etcd Dokumentation](https://github.com/coreos/etcd/blob/master/Documentation/docs.md).

Some files were not shown because too many files have changed in this diff Show More