diff --git a/README-ko.md b/README-ko.md index e23027c32a..c4038212c6 100644 --- a/README-ko.md +++ b/README-ko.md @@ -1,69 +1,144 @@ # 쿠버네티스 문서화 -[](https://travis-ci.org/kubernetes/website) -[](https://github.com/kubernetes/website/releases/latest) +[](https://app.netlify.com/sites/kubernetes-io-master-staging/deploys) [](https://github.com/kubernetes/website/releases/latest) -환영합니다! 이 저장소는 쿠버네티스 웹사이트 및 문서화를 만드는 데 필요로 하는 모든 asset에 대한 공간을 제공합니다. 여러분이 기여를 원한다는 사실에 매우 기쁩니다! +이 저장소에는 [쿠버네티스 웹사이트 및 문서](https://kubernetes.io/)를 빌드하는 데 필요한 자산이 포함되어 있습니다. 기여해주셔서 감사합니다! -## 문서에 기여하기 +# 저장소 사용하기 -이 저장소에 대한 복제본을 여러분의 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) -* [페이지 템플릿 사용하기](https://kubernetes.io/docs/contribute/style/page-content-types/) -* [문서화 스타일 가이드](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)하고 디렉터리로 이동합니다. -### 한국어 - -`README.md` 번역 및 한국어 기여자를 위한 보다 자세한 가이드를 [한국어 README](README-ko.md) 페이지 혹은 [쿠버네티스 문서 한글화 가이드](https://kubernetes.io/ko/docs/contribute/localization_ko/)에서 살펴봅니다. - -한국어 번역 메인테이너에게 다음을 통해 연락 가능합니다. - -* 이덕준 ([GitHub - @gochist](https://github.com/gochist)) -* [Slack channel](https://kubernetes.slack.com/messages/kubernetes-docs-ko) - -## 도커를 사용하여 사이트를 로컬에서 실행하기 - -쿠버네티스 웹사이트를 로컬에서 실행하기 위한 추천하는 방식은 [Hugo](https://gohugo.io) 정적 사이트 생성기를 포함하는 특별한 [도커](https://docker.com) 이미지를 실행하는 것입니다. - -> Windows에서 실행하는 경우, [Chocolatey](https://chocolatey.org)로 설치할 수 있는 명명 추가 도구를 필요로 할 것입니다. `choco install make` - -> 도커를 사용하지 않고 웹사이트를 로컬에서 실행하기를 선호하는 경우에는, 아래 [Hugo를 사용한 로컬 사이트 실행하기](#hugo를-사용한-로컬-사이트-실행하기)를 살펴봅니다. - -도커 [동작 및 실행](https://www.docker.com/get-started) 환경이 있는 경우, 로컬에서 `kubernetes-hugo` 도커 이미지를 빌드 합니다: - -```bash -make container-image +``` +git clone https://github.com/kubernetes/website.git +cd website ``` -해당 이미지가 빌드 된 이후, 사이트를 로컬에서 실행할 수 있습니다: +쿠버네티스 웹사이트는 [Docsy Hugo 테마](https://github.com/google/docsy#readme)를 사용합니다. 웹사이트를 컨테이너에서 실행하려는 경우에도, 다음을 실행하여 하위 모듈 및 기타 개발 종속성을 가져오는 것이 좋습니다. -```bash +``` +# Docsy 하위 모듈 가져오기 +git submodule update --init --recursive --depth 1 +``` + +## 컨테이너를 사용하여 웹사이트 실행하기 + +컨테이너에서 사이트를 빌드하려면, 다음을 실행하여 컨테이너 이미지를 빌드하고 실행합니다. + +``` +make container-image make container-serve ``` -브라우저에서 http://localhost:1313 를 열어 사이트를 살펴봅니다. 소스 파일에 변경 사항이 있을 때, Hugo는 사이트를 업데이트하고 브라우저를 강제로 새로고침합니다. +웹사이트를 보려면 브라우저를 http://localhost:1313 으로 엽니다. 소스 파일을 변경하면 Hugo가 웹사이트를 업데이트하고 브라우저를 강제로 새로 고칩니다. -## Hugo를 사용한 로컬 사이트 실행하기 +## Hugo를 사용하여 로컬에서 웹사이트 실행하기 -Hugo 설치 안내를 위해서는 [공식 Hugo 문서화](https://gohugo.io/getting-started/installing/)를 살펴봅니다. [`netlify.toml`](netlify.toml#L9) 파일에 있는 `HUGO_VERSION` 환경 변수에서 지정된 Hugo 버전이 설치되었는지를 확인합니다. +[`netlify.toml`](netlify.toml#L10) 파일의 `HUGO_VERSION` 환경 변수에 지정된 Hugo 확장 버전을 설치해야 합니다. -Hugo가 설치되었을 때 로컬에서 사이트를 실행하기 위해 (다음을 실행합니다): +사이트를 로컬에서 빌드하고 테스트하려면, 다음을 실행합니다. ```bash +# 의존성 있는 소프트웨어 설치 +npm ci make serve ``` -이를 통해 로컬 Hugo 서버를 1313번 포트에 시작합니다. 브라우저에서 http://localhost:1313 를 열어 사이트를 살펴봅니다. 소스 파일에 변경 사항이 있을 때, Hugo는 사이트를 업데이트하고 브라우저를 강제로 새로고침합니다. +그러면 포트 1313에서 로컬 Hugo 서버가 시작됩니다. 웹사이트를 보려면 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는 기술적인 이유로 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) + +# 문서에 기여하기 + +이 저장소에 대한 복제본을 여러분의 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/) + +# `README.md`에 대한 쿠버네티스 문서 현지화(localization) + +## 한국어 + +`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)을 따릅니다. + +# 감사합니다! + +쿠버네티스는 커뮤니티 참여를 통해 번창하며, 우리는 웹사이트 및 문서화에 대한 당신의 기여에 감사드립니다! diff --git a/README-pl.md b/README-pl.md index 166bc5ef4e..7d89d518cb 100644 --- a/README-pl.md +++ b/README-pl.md @@ -17,7 +17,7 @@ Więcej informacji na temat współpracy przy tworzeniu dokumentacji znajdziesz * [Jak rozpocząć współpracę](https://kubernetes.io/docs/contribute/start/) * [Podgląd wprowadzanych zmian w dokumentacji](http://kubernetes.io/docs/contribute/intermediate#view-your-changes-locally) -* [Szablony stron](http://kubernetes.io/docs/contribute/style/page-templates/) +* [Szablony stron](https://kubernetes.io/docs/contribute/style/page-content-types/) * [Styl pisania dokumentacji](http://kubernetes.io/docs/contribute/style/style-guide/) * [Lokalizacja dokumentacji Kubernetes](https://kubernetes.io/docs/contribute/localization/) diff --git a/assets/scss/_custom.scss b/assets/scss/_custom.scss index 3c598673ad..5eb26c2e54 100644 --- a/assets/scss/_custom.scss +++ b/assets/scss/_custom.scss @@ -71,6 +71,22 @@ body.td-404 main .error-details { 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 */ diff --git a/content/de/docs/concepts/architecture/nodes.md b/content/de/docs/concepts/architecture/nodes.md index 8f3cd0f785..b790e68035 100644 --- a/content/de/docs/concepts/architecture/nodes.md +++ b/content/de/docs/concepts/architecture/nodes.md @@ -6,7 +6,7 @@ weight: 10 -Ein Knoten (Node in Englisch) ist eine Arbeitsmaschine in Kubernetes, früher als `minion` bekannt. Ein Node +Ein Knoten (Node in Englisch) ist eine Arbeitsmaschine in Kubernetes. 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. diff --git a/content/en/blog/_posts/2020-12-02-dockershim-faq.md b/content/en/blog/_posts/2020-12-02-dockershim-faq.md new file mode 100644 index 0000000000..cbdd5cd680 --- /dev/null +++ b/content/en/blog/_posts/2020-12-02-dockershim-faq.md @@ -0,0 +1,180 @@ +--- +layout: blog +title: "Dockershim Deprecation FAQ" +date: 2020-12-02 +slug: dockershim-faq +aliases: [ '/dockershim' ] +--- + +This document goes over some frequently asked questions regarding the Dockershim +depreaction announced as a part of the Kubernetes v1.20 release. For more detail +on the deprecation of Docker as a container runtime for Kubernetes kubelets, and +what that means, check out the blog post +[Don't Panic: Kubernetes and Docker](/blog/2020/12/02/dont-panic-kubernetes-and-docker/). + +### Why is dockershim being deprecated? + +Maintaining dockershim has become a heavy burden on the Kubernetes maintainers. +The CRI standard was created to reduce this burden and allow smooth interoperability +of different container runtimes. Docker itself doesn't currently implement CRI, +thus the problem. + +Dockershim was always intended to be a temporary solution (hence the name: shim). +You can read more about the community discussion and planning in the +[Dockershim Removal Kubernetes Enhancement Proposal][drkep]. + +Additionally, features that were largely incompatible with the dockershim, such +as cgroups v2 and user namespaces are being implemented in these newer CRI +runtimes. Removing support for the dockershim will allow further development in +those areas. + +[drkep]: https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/1985-remove-dockershim + +### Can I still use Docker in Kubernetes 1.20? + +Yes, the only thing changing in 1.20 is a single warning log printed at [kubelet] +startup if using Docker as the runtime. + +[kubelet]: /docs/reference/command-line-tools-reference/kubelet/ + + +### When will dockershim be removed? + +Given the impact of this change, we are using an extended deprecation timeline. +It will not be removed before Kubernetes 1.22, meaning the earliest release without +dockershim would be 1.23 in late 2021. We will be working closely with vendors +and other ecosystem groups to ensure a smooth transition and will evaluate things +as the situation evolves. + + +### Will my existing Docker images still work? + +Yes, the images produced from `docker build` will work with all CRI implementations. +All your existing images will still work exactly the same. + + +### What about private images? + +Also yes. All CRI runtimes support the same pull secrets configuration used in +Kubernetes, either via the PodSpec or ServiceAccount. + + +### Are Docker and containers the same thing? + +Docker popularized the Linux containers pattern and has been instrumental in +developing the underlying technology, however containers in Linux have existed +for a long time. The container ecosystem has grown to be much broader than just +Docker. Standards like OCI and CRI have helped many tools grow and thrive in our +ecosystem, some replacing aspects of Docker while others enhance existing +functionality. + + +### Are there examples of folks using other runtimes in production today? + +All Kubernetes project produced artifacts (Kubernetes binaries) are validated +with each release. + +Additionally, the [kind] project has been using containerd for some time and has +seen an improvement in stability for its use case. Kind and containerd are leveraged +multiple times every day to validate any changes to the Kubernetes codebase. Other +related projects follow a similar pattern as well, demonstrating the stability and +usability of other container runtimes. As an example, OpenShift 4.x has been +using the [CRI-O] runtime in production since June 2019. + +For other examples and references you can look at the adopters of containerd and +cri-o, two container runtimes under the Cloud Native Computing Foundation ([CNCF]). +- [containerd](https://github.com/containerd/containerd/blob/master/ADOPTERS.md) +- [CRI-O](https://github.com/cri-o/cri-o/blob/master/ADOPTERS.md) + +[CRI-O]: https://cri-o.io/ +[kind]: https://kind.sigs.k8s.io/ +[CNCF]: https://cncf.io + + +### People keep referencing OCI, what is that? + +OCI stands for the [Open Container Initiative], which standardized many of the +interfaces between container tools and technologies. They maintain a standard +specification for packaging container images (OCI image-spec) and running containers +(OCI runtime-spec). They also maintain an actual implementation of the runtime-spec +in the form of [runc], which is the underlying default runtime for both +[containerd] and [CRI-O]. The CRI builds on these low-level specifications to +provide an end-to-end standard for managing containers. + +[Open Container Initative]: https://opencontainers.org/about/overview/ +[runc]: https://github.com/opencontainers/runc +[containerd]: https://containerd.io/ + + +### Which CRI implementation should I use? + +That’s a complex question and it depends on a lot of factors. If Docker is +working for you, moving to containerd should be a relatively easy swap and +has have strictly better performance and less overhead. However we encourage you +to explore all the options from the [CNCF landscape] in case another would be an +even better fit for your environment. + +[CNCF landscape]: https://landscape.cncf.io/category=container-runtime&format=card-mode&grouping=category + + +### What should I look out for when changing CRI implementations? + +While the underlying containerization code is the same between Docker and most +CRIs (including containerd), there are a few differences around the edges. Some +common things to consider when migrating are: + +- Logging configuration +- Runtime resource limitations +- Node provisioning scripts that call docker or use docker via it's control socket +- Kubectl plugins that require docker CLI or the control socket +- Kubernetes tools that require direct access to Docker (e.g. kube-imagepuller) +- Configuration of functionality like `registry-mirrors` and insecure registries +- Other support scripts or daemons that expect docker to be available and are run + outside of Kubernetes (e.g. monitoring or security agents) +- GPUs or special hardware and how they integrate with your runtime and Kubernetes + +If you use Kubernetes resource requests/limits or file-based log collection +DaemonSets then they will continue to work the same, but if you’ve customized +your dockerd configuration, you’ll need to adapt that for your new container +runtime where possible. + +Another thing to look out for is anything expecting to run for system maintenance +or nested inside a container when building images will no longer work. For the +former, you can use the [`crictl`][cr] tool as a drop-in replacement and for the +latter you can use newer container build options like [img], [buildah], or +[kaniko] that don’t require Docker. + +[cr]: https://github.com/kubernetes-sigs/cri-tools +[img]: https://github.com/genuinetools/img +[buildah]: https://github.com/containers/buildah +[kaniko]: https://github.com/GoogleContainerTools/kaniko + +For containerd, you can start with their [documentation] to see what configuration +options are available as you migrate things over. + +[documentation]: https://github.com/containerd/cri/blob/master/docs/registry.md + +For instructions on how to use containerd and CRI-O with Kubernetes, see the +Kubernetes documentation on [Container Runtimes] + +[Container Runtimes]: /docs/setup/production-environment/container-runtimes + + +### What if I have more questions? + +If you use a vendor-supported Kubernetes distribution, you can ask them about +upgrade plans for their products. For end-user questions, please post them +to our end user community forum: https://discuss.kubernetes.io/. + +You can also check out the excellent blog post +[Wait, Docker is deprecated in Kubernetes now?][dep] a more in-depth technical +discussion of the changes. + +[dep]: https://dev.to/inductor/wait-docker-is-deprecated-in-kubernetes-now-what-do-i-do-e4m + + +### Can I have a hug? + +Always and whenever you want! 🤗🤗 + + diff --git a/content/en/blog/_posts/2020-12-02-dont-panic-kubernetes-and-docker.md b/content/en/blog/_posts/2020-12-02-dont-panic-kubernetes-and-docker.md new file mode 100644 index 0000000000..e6df8971a6 --- /dev/null +++ b/content/en/blog/_posts/2020-12-02-dont-panic-kubernetes-and-docker.md @@ -0,0 +1,104 @@ +--- +layout: blog +title: "Don't Panic: Kubernetes and Docker" +date: 2020-12-02 +slug: dont-panic-kubernetes-and-docker +--- + +**Authors:** Jorge Castro, Duffie Cooley, Kat Cosgrove, Justin Garrison, Noah Kantrowitz, Bob Killen, Rey Lejano, Dan “POP” Papandrea, Jeffrey Sica, Davanum “Dims” Srinivas + +Kubernetes is [deprecating +Docker](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.20.md#deprecation) +as a container runtime after v1.20. + +**You do not need to panic. It’s not as dramatic as it sounds.** + +tl;dr Docker as an underlying runtime is being deprecated in favor of runtimes +that use the [Container Runtime Interface(CRI)](https://kubernetes.io/blog/2016/12/container-runtime-interface-cri-in-kubernetes/) +created for Kubernetes. Docker-produced images will continue to work in your +cluster with all runtimes, as they always have. + +If you’re an end-user of Kubernetes, not a whole lot will be changing for you. +This doesn’t mean the death of Docker, and it doesn’t mean you can’t, or +shouldn’t, use Docker as a development tool anymore. Docker is still a useful +tool for building containers, and the images that result from running `docker +build` can still run in your Kubernetes cluster. + +If you’re using a managed Kubernetes service like GKE, EKS, or AKS (which [defaults to containerd](https://github.com/Azure/AKS/releases/tag/2020-11-16)) you will need to +make sure your worker nodes are using a supported container runtime before +Docker support is removed in a future version of Kubernetes. If you have node +customizations you may need to update them based on your environment and runtime +requirements. Please work with your service provider to ensure proper upgrade +testing and planning. + +If you’re rolling your own clusters, you will also need to make changes to avoid +your clusters breaking. At v1.20, you will get a deprecation warning for Docker. +When Docker runtime support is removed in a future release (currently planned +for the 1.22 release in late 2021) of Kubernetes it will no longer be supported +and you will need to switch to one of the other compliant container runtimes, +like containerd or CRI-O. Just make sure that the runtime you choose supports +the docker daemon configurations you currently use (e.g. logging). + +## So why the confusion and what is everyone freaking out about? + +We’re talking about two different environments here, and that’s creating +confusion. Inside of your Kubernetes cluster, there’s a thing called a container +runtime that’s responsible for pulling and running your container images. Docker +is a popular choice for that runtime (other common options include containerd +and CRI-O), but Docker was not designed to be embedded inside Kubernetes, and +that causes a problem. + +You see, the thing we call “Docker” isn’t actually one thing -- it’s an entire +tech stack, and one part of it is a thing called “containerd,” which is a +high-level container runtime by itself. Docker is cool and useful because it has +a lot of UX enhancements that make it really easy for humans to interact with +while we’re doing development work, but those UX enhancements aren’t necessary +for Kubernetes, because it isn’t a human. + +As a result of this human-friendly abstraction layer, your Kubernetes cluster +has to use another tool called Dockershim to get at what it really needs, which +is containerd. That’s not great, because it gives us another thing that has to +be maintained and can possibly break. What’s actually happening here is that +Dockershim is being removed from Kubelet as early as v1.23 release, which +removes support for Docker as a container runtime as a result. You might be +thinking to yourself, but if containerd is included in the Docker stack, why +does Kubernetes need the Dockershim? + +Docker isn’t compliant with CRI, the [Container Runtime Interface](https://kubernetes.io/blog/2016/12/container-runtime-interface-cri-in-kubernetes/). +If it were, we wouldn’t need the shim, and this wouldn’t be a thing. But it’s +not the end of the world, and you don’t need to panic -- you just need to change +your container runtime from Docker to another supported container runtime. + +One thing to note: If you are relying on the underlying docker socket +(/var/run/docker.sock) as part of a workflow within your cluster today, moving +to a different runtime will break your ability to use it. This pattern is often +called Docker in Docker. There are lots of options out there for this specific +use case including things like +[kaniko](https://github.com/GoogleContainerTools/kaniko), +[img](https://github.com/genuinetools/img), and +[buildah](https://github.com/containers/buildah). + +## What does this change mean for developers, though? Do we still write Dockerfiles? Do we still build things with Docker? + +This change addresses a different environment than most folks use to interact +with Docker. The Docker installation you’re using in development is unrelated to +the Docker runtime inside your Kubernetes cluster. It’s confusing, I know. As a +developer, Docker is still useful to you in all the ways it was before this +change was announced. The image that Docker produces isn’t really a +Docker-specific image -- it’s an OCI ([Open Container Initiative](https://opencontainers.org/)) image. +Any OCI-compliant image, regardless of the tool you use to build it, will look +the same to Kubernetes. Both [containerd](https://containerd.io/) and +[CRI-O](https://cri-o.io/) know how to pull those images and run them. This is +why we have a standard for what containers should look like. + +So, this change is coming. It’s going to cause issues for some, but it isn’t +catastrophic, and generally it’s a good thing. Depending on how you interact +with Kubernetes, this could mean nothing to you, or it could mean a bit of work. +In the long run, it’s going to make things easier. If this is still confusing +for you, that’s okay -- there’s a lot going on here, Kubernetes has a lot of +moving parts, and nobody is an expert in 100% of it. We encourage any and all +questions regardless of experience level or complexity! Our goal is to make sure +everyone is educated as much as possible on the upcoming changes. `<3` We hope +this has answered most of your questions and soothed some anxieties! + +Looking for more answers? Check out our accompanying [Dockershim Deprecation FAQ](/blog/2020/12/02/dockershim-faq/). diff --git a/content/en/case-studies/newyorktimes/index.html b/content/en/case-studies/newyorktimes/index.html index ae57a9ec7d..74bc5af627 100644 --- a/content/en/case-studies/newyorktimes/index.html +++ b/content/en/case-studies/newyorktimes/index.html @@ -26,10 +26,9 @@ case_study_details:
Speed of delivery increased. Some of the legacy VM-based deployments took 45 minutes; with Kubernetes, that time was "just a few seconds to a couple of minutes," says Engineering Manager Brian Balser. Adds Li: "Teams that used to deploy on weekly schedules or had to coordinate schedules with the infrastructure team now deploy their updates independently, and can do it daily when necessary." Adopting Cloud Native Computing Foundation technologies allows for a more unified approach to deployment across the engineering staff, and portability for the company.
-{{< case-studies/quote author="Deep Kapadia, Executive Director, Engineering at The New York Times">}} - - -IP {0} callerCount {1} ' -f $$ip[1].IPAddress,$$callerCounts.Item($$_) } ;$$footer='' ;$$content='{0}{1}{2}' -f $$header,$$callerCountsString,$$footer ;Write-Output $$content ;$$buffer = [System.Text.Encoding]::UTF8.GetBytes($$content) ;$$response.ContentLength64 = $$buffer.Length ;$$response.OutputStream.Write($$buffer, 0, $$buffer.Length) ;$$response.Close() ;$$responseStatus = $$response.StatusCode ;Write-Host('< {0}' -f $$responseStatus) } ; " + - "<#code used from https://gist.github.com/19WAS85/5424431#> ; $$listener = New-Object System.Net.HttpListener ; $$listener.Prefixes.Add('http://*:80/') ; $$listener.Start() ; $$callerCounts = @{} ; Write-Host('Listening at http://*:80/') ; while ($$listener.IsListening) { ;$$context = $$listener.GetContext() ;$$requestUrl = $$context.Request.Url ;$$clientIP = $$context.Request.RemoteEndPoint.Address ;$$response = $$context.Response ;Write-Host '' ;Write-Host('> {0}' -f $$requestUrl) ; ;$$count = 1 ;$$k=$$callerCounts.Get_Item($$clientIP) ;if ($$k -ne $$null) { $$count += $$k } ;$$callerCounts.Set_Item($$clientIP, $$count) ;$$ip=(Get-NetAdapter | Get-NetIpAddress); $$header='
IP {0} callerCount {1} ' -f $$ip[1].IPAddress,$$callerCounts.Item($$_) } ;$$footer='' ;$$content='{0}{1}{2}' -f $$header,$$callerCountsString,$$footer ;Write-Output $$content ;$$buffer = [System.Text.Encoding]::UTF8.GetBytes($$content) ;$$response.ContentLength64 = $$buffer.Length ;$$response.OutputStream.Write($$buffer, 0, $$buffer.Length) ;$$response.Close() ;$$responseStatus = $$response.StatusCode ;Write-Host('< {0}' -f $$responseStatus) } ; "
nodeSelector:
kubernetes.io/os: windows
```
diff --git a/content/en/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/en/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md
index 0384ff8dbb..5896ab8357 100644
--- a/content/en/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md
+++ b/content/en/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md
@@ -330,8 +330,8 @@ seconds. Minimum value is 1.
* `timeoutSeconds`: Number of seconds after which the probe times out. Defaults
to 1 second. Minimum value is 1.
* `successThreshold`: Minimum consecutive successes for the probe to be
-considered successful after having failed. Defaults to 1. Must be 1 for
-liveness. Minimum value is 1.
+considered successful after having failed. Defaults to 1. Must be 1 for liveness
+and startup Probes. Minimum value is 1.
* `failureThreshold`: When a probe fails, Kubernetes will
try `failureThreshold` times before giving up. Giving up in case of liveness probe means restarting the container. In case of readiness probe the Pod will be marked Unready.
Defaults to 3. Minimum value is 1.
diff --git a/content/en/docs/tasks/run-application/run-replicated-stateful-application.md b/content/en/docs/tasks/run-application/run-replicated-stateful-application.md
index a5346f0272..f1738ff53e 100644
--- a/content/en/docs/tasks/run-application/run-replicated-stateful-application.md
+++ b/content/en/docs/tasks/run-application/run-replicated-stateful-application.md
@@ -15,8 +15,9 @@ weight: 30
This page shows how to run a replicated stateful application using a
[StatefulSet](/docs/concepts/workloads/controllers/statefulset/) controller.
-The example is a MySQL single-master topology with multiple slaves running
-asynchronous replication.
+This application is a replicated MySQL database. The example topology has a
+single primary server and multiple replicas, using asynchronous row-based
+replication.
{{< note >}}
**This is not a production configuration**. MySQL settings remain on insecure defaults to keep the focus
@@ -69,9 +70,9 @@ kubectl apply -f https://k8s.io/examples/application/mysql/mysql-configmap.yaml
```
This ConfigMap provides `my.cnf` overrides that let you independently control
-configuration on the MySQL master and slaves.
-In this case, you want the master to be able to serve replication logs to slaves
-and you want slaves to reject any writes that don't come via replication.
+configuration on the primary MySQL server and replicas.
+In this case, you want the primary server to be able to serve replication logs to replicas
+and you want replicas to reject any writes that don't come via replication.
There's nothing special about the ConfigMap itself that causes different
portions to apply to different Pods.
@@ -96,12 +97,12 @@ cluster and namespace.
The Client Service, called `mysql-read`, is a normal Service with its own
cluster IP that distributes connections across all MySQL Pods that report
-being Ready. The set of potential endpoints includes the MySQL master and all
-slaves.
+being Ready. The set of potential endpoints includes the primary MySQL server and all
+replicas.
Note that only read queries can use the load-balanced Client Service.
-Because there is only one MySQL master, clients should connect directly to the
-MySQL master Pod (through its DNS entry within the Headless Service) to execute
+Because there is only one primary MySQL server, clients should connect directly to the
+primary MySQL Pod (through its DNS entry within the Headless Service) to execute
writes.
### StatefulSet
@@ -167,33 +168,33 @@ This translates the unique, stable identity provided by the StatefulSet
controller into the domain of MySQL server IDs, which require the same
properties.
-The script in the `init-mysql` container also applies either `master.cnf` or
-`slave.cnf` from the ConfigMap by copying the contents into `conf.d`.
-Because the example topology consists of a single MySQL master and any number of
-slaves, the script simply assigns ordinal `0` to be the master, and everyone
-else to be slaves.
+The script in the `init-mysql` container also applies either `primary.cnf` or
+`replica.cnf` from the ConfigMap by copying the contents into `conf.d`.
+Because the example topology consists of a single primary MySQL server and any number of
+replicas, the script simply assigns ordinal `0` to be the primary server, and everyone
+else to be replicas.
Combined with the StatefulSet controller's
[deployment order guarantee](/docs/concepts/workloads/controllers/statefulset/#deployment-and-scaling-guarantees/),
-this ensures the MySQL master is Ready before creating slaves, so they can begin
+this ensures the primary MySQL server is Ready before creating replicas, so they can begin
replicating.
### Cloning existing data
-In general, when a new Pod joins the set as a slave, it must assume the MySQL
-master might already have data on it. It also must assume that the replication
+In general, when a new Pod joins the set as a replica, it must assume the primary MySQL
+server might already have data on it. It also must assume that the replication
logs might not go all the way back to the beginning of time.
These conservative assumptions are the key to allow a running StatefulSet
to scale up and down over time, rather than being fixed at its initial size.
The second Init Container, named `clone-mysql`, performs a clone operation on
-a slave Pod the first time it starts up on an empty PersistentVolume.
+a replica Pod the first time it starts up on an empty PersistentVolume.
That means it copies all existing data from another running Pod,
-so its local state is consistent enough to begin replicating from the master.
+so its local state is consistent enough to begin replicating from the primary server.
MySQL itself does not provide a mechanism to do this, so the example uses a
popular open-source tool called Percona XtraBackup.
During the clone, the source MySQL server might suffer reduced performance.
-To minimize impact on the MySQL master, the script instructs each Pod to clone
+To minimize impact on the primary MySQL server, the script instructs each Pod to clone
from the Pod whose ordinal index is one lower.
This works because the StatefulSet controller always ensures Pod `N` is
Ready before starting Pod `N+1`.
@@ -206,15 +207,15 @@ server, and an `xtrabackup` container that acts as a
[sidecar](https://kubernetes.io/blog/2015/06/the-distributed-system-toolkit-patterns).
The `xtrabackup` sidecar looks at the cloned data files and determines if
-it's necessary to initialize MySQL replication on the slave.
+it's necessary to initialize MySQL replication on the replica.
If so, it waits for `mysqld` to be ready and then executes the
`CHANGE MASTER TO` and `START SLAVE` commands with replication parameters
extracted from the XtraBackup clone files.
-Once a slave begins replication, it remembers its MySQL master and
+Once a replica begins replication, it remembers its primary MySQL server and
reconnects automatically if the server restarts or the connection dies.
-Also, because slaves look for the master at its stable DNS name
-(`mysql-0.mysql`), they automatically find the master even if it gets a new
+Also, because replicas look for the primary server at its stable DNS name
+(`mysql-0.mysql`), they automatically find the primary server even if it gets a new
Pod IP due to being rescheduled.
Lastly, after starting replication, the `xtrabackup` container listens for
@@ -224,7 +225,7 @@ case the next Pod loses its PersistentVolumeClaim and needs to redo the clone.
## Sending client traffic
-You can send test queries to the MySQL master (hostname `mysql-0.mysql`)
+You can send test queries to the primary MySQL server (hostname `mysql-0.mysql`)
by running a temporary container with the `mysql:5.7` image and running the
`mysql` client binary.
@@ -291,7 +292,7 @@ it running in another window so you can see the effects of the following steps.
## Simulating Pod and Node downtime
-To demonstrate the increased availability of reading from the pool of slaves
+To demonstrate the increased availability of reading from the pool of replicas
instead of a single server, keep the `SELECT @@server_id` loop from above
running while you force a Pod out of the Ready state.
@@ -409,9 +410,9 @@ Now uncordon the Node to return it to a normal state:
kubectl uncordon IP {0} callerCount {1} ' -f $$ip[1].IPAddress,$$callerCounts.Item($$_) } ;$$footer='' ;$$content='{0}{1}{2}' -f $$header,$$callerCountsString,$$footer ;Write-Output $$content ;$$buffer = [System.Text.Encoding]::UTF8.GetBytes($$content) ;$$response.ContentLength64 = $$buffer.Length ;$$response.OutputStream.Write($$buffer, 0, $$buffer.Length) ;$$response.Close() ;$$responseStatus = $$response.StatusCode ;Write-Host('< {0}' -f $$responseStatus) } ; "
+ - "<#code used from https://gist.github.com/19WAS85/5424431#> ; $$listener = New-Object System.Net.HttpListener ; $$listener.Prefixes.Add('http://*:80/') ; $$listener.Start() ; $$callerCounts = @{} ; Write-Host('Listening at http://*:80/') ; while ($$listener.IsListening) { ;$$context = $$listener.GetContext() ;$$requestUrl = $$context.Request.Url ;$$clientIP = $$context.Request.RemoteEndPoint.Address ;$$response = $$context.Response ;Write-Host '' ;Write-Host('> {0}' -f $$requestUrl) ; ;$$count = 1 ;$$k=$$callerCounts.Get_Item($$clientIP) ;if ($$k -ne $$null) { $$count = $$k } ;$$callerCounts.Set_Item($$clientIP, $$count) ;$$ip=(Get-NetAdapter | Get-NetIpAddress); $$header=' IP {0} callerCount {1} ' -f $$ip[1].IPAddress,$$callerCounts.Item($$_) } ;$$footer='' ;$$content='{0}{1}{2}' -f $$header,$$callerCountsString,$$footer ;Write-Output $$content ;$$buffer = [System.Text.Encoding]::UTF8.GetBytes($$content) ;$$response.ContentLength64 = $$buffer.Length ;$$response.OutputStream.Write($$buffer, 0, $$buffer.Length) ;$$response.Close() ;$$responseStatus = $$response.StatusCode ;Write-Host('< {0}' -f $$responseStatus) } ; "
nodeSelector:
kubernetes.io/os: windows
```
diff --git a/content/ko/docs/concepts/architecture/controller.md b/content/ko/docs/concepts/architecture/controller.md
index 836b4a5b6b..b65cf13803 100644
--- a/content/ko/docs/concepts/architecture/controller.md
+++ b/content/ko/docs/concepts/architecture/controller.md
@@ -96,7 +96,17 @@ weight: 30
컨트롤러가 있다.
[클러스터 오토스케일링](/ko/docs/tasks/administer-cluster/cluster-management/#클러스터-오토스케일링)을 본다.)
-## 원하는 상태와 현재 상태 {#desired-vs-current}
+여기서 중요한 점은 컨트롤러가 의도한 상태를 가져오기 위해 약간의 변화를 주고,
+현재 상태를 클러스터의 API 서버에 다시 보고한다는 것이다.
+다른 컨트롤 루프는 보고된 데이터를 관찰하고 자체 조치를 할 수 있다.
+
+온도 조절기 예에서 방이 매우 추우면 다른 컨트롤러가
+서리 방지 히터를 켤 수도 있다. 쿠버네티스 클러스터에서는
+[쿠버네티스 확장](/ko/docs/concepts/extend-kubernetes/)을 통해
+IP 주소 관리 도구, 스토리지 서비스, 클라우드 제공자 APIS 및
+기타 서비스 등과 간접적으로 연동하여 이를 구현한다.
+
+## 의도한 상태와 현재 상태 {#desired-vs-current}
쿠버네티스는 클라우드-네이티브 관점에서 시스템을 관찰하며, 지속적인
변화에 대응할 수 있다.
diff --git a/content/ko/docs/concepts/cluster-administration/_index.md b/content/ko/docs/concepts/cluster-administration/_index.md
index daa1dfd702..ffeb3a58fb 100755
--- a/content/ko/docs/concepts/cluster-administration/_index.md
+++ b/content/ko/docs/concepts/cluster-administration/_index.md
@@ -47,7 +47,7 @@ no_list: true
* [쿠버네티스 컨테이너 환경](/ko/docs/concepts/containers/container-environment/)은 쿠버네티스 노드에서 Kubelet으로 관리하는 컨테이너에 대한 환경을 설명한다.
-* [쿠버네티스 API에 대한 접근 제어](/ko/docs/reference/access-authn-authz/controlling-access/)는 사용자와 서비스 어카운트에 대한 권한을 설정하는 방법을 설명한다.
+* [쿠버네티스 API에 대한 접근 제어](/ko/docs/concepts/security/controlling-access)는 쿠버네티스가 자체 API에 대한 접근 제어를 구현하는 방법을 설명한다.
* [인증](/docs/reference/access-authn-authz/authentication/)은 다양한 인증 옵션을 포함한 쿠버네티스에서의 인증에 대해 설명한다.
diff --git a/content/ko/docs/concepts/cluster-administration/logging.md b/content/ko/docs/concepts/cluster-administration/logging.md
index 4a0b700e02..48044b0460 100644
--- a/content/ko/docs/concepts/cluster-administration/logging.md
+++ b/content/ko/docs/concepts/cluster-administration/logging.md
@@ -22,7 +22,7 @@ weight: 60
이 섹션에서는, 쿠버네티스에서 표준 출력 스트림으로 데이터를
출력하는 기본 로깅의 예시를 볼 수 있다. 이 데모에서는
일부 텍스트를 초당 한 번씩 표준 출력에 쓰는 컨테이너와 함께
-[파드 명세](/examples/debug/counter-pod.yaml)를 사용한다.
+파드 명세를 사용한다.
{{< codenew file="debug/counter-pod.yaml" >}}
diff --git a/content/ko/docs/concepts/cluster-administration/networking.md b/content/ko/docs/concepts/cluster-administration/networking.md
index 63877bc535..9b378aed79 100644
--- a/content/ko/docs/concepts/cluster-administration/networking.md
+++ b/content/ko/docs/concepts/cluster-administration/networking.md
@@ -122,6 +122,10 @@ Azure CNI는 [Azure 쿠버네티스 서비스(Azure Kubernetes Service, AKS)](ht
가트너는 최신의 [매직 쿼드런트(Magic Quadrant)](https://go.bigswitch.com/17GatedDocuments-MagicQuadrantforDataCenterNetworking_Reg.html)에서 BCF를 비저너리(Visionary)로 인정했다. BCF 쿠버네티스 온-프레미스 디플로이먼트 중 하나(지리적으로 다른 리전에 걸쳐 여러 DC에서 실행되는 쿠버네티스, DC/OS 및 VMware 포함)도 [여기](https://portworx.com/architects-corner-kubernetes-satya-komala-nio/)에서 사례로 참조된다.
+### 캘리코
+
+[캘리코](https://docs.projectcalico.org/)는 컨테이너, 가상 시스템 및 기본 호스트 기반 워크로드를 위한 오픈소스 네트워킹 및 네트워크 보안 솔루션이다. 캘리코는 순수 리눅스 eBPF 데이터플레인, 표준 리눅스 네트워킹 데이터플레인, 윈도우 HNS 데이터플레인을 포함한 여러 데이터플레인을 지원한다. 캘리코는 완전한 네트워킹 스택을 제공하지만, [클라우드 제공자 CNI](https://docs.projectcalico.org/networking/determine-best-networking#calico-compatible-cni-plugins-and-cloud-provider-integrations)와 함께 사용하여 네트워크 정책 시행을 제공할 수도 있다.
+
### 실리움(Cilium)
[실리움](https://github.com/cilium/cilium)은 애플리케이션 컨테이너 간에
@@ -289,14 +293,6 @@ OVN은 Open vSwitch 커뮤니티에서 개발한 오픈소스 네트워크
[ovn-kubernetes](https://github.com/openvswitch/ovn-kubernetes)에
특정 쿠버네티스 플러그인 및 문서가 있다.
-### 프로젝트 캘리코
-
-[프로젝트 캘리코](https://docs.projectcalico.org/)는 오픈소스 컨테이너 네트워킹 공급자 및 네트워크 정책 엔진이다.
-
-캘리코는 리눅스(오픈소스)와 윈도우(독점 - [Tigera](https://www.tigera.io/essentials/)에서 사용 가능) 모두에서 인터넷과 동일한 IP 네트워킹 원칙을 기반으로 쿠버네티스 파드를 연결하기 위한 확장성이 뛰어난 네트워킹 및 네트워크 정책 솔루션을 제공한다. 캘리코는 캡슐화나 오버레이 없이 구축되어 고성능의 대규모 데이터센터 네트워킹을 제공할 수 있다. 또한 캘리코는 분산 방화벽을 통해 쿠버네티스 파드에 대해 세분화된 의도기반의 네트워크 보안 정책을 제공한다.
-
-캘리코는 플라넬, 일명 [canal](https://github.com/tigera/canal) 또는 네이티브 GCE, AWS나 Azure 네트워킹과 같은 다른 네트워킹 솔루션과 함께 정책 적용 모드로 실행될 수도 있다.
-
### 로마나
[로마나](https://romana.io)는 오버레이 네트워크 없이 쿠버네티스를 배포할 수 있는 오픈소스 네트워크 및 보안 자동화 솔루션이다. 로마나는 쿠버네티스 [네트워크 폴리시](/ko/docs/concepts/services-networking/network-policies/)를 지원하여 네트워크 네임스페이스에서 격리를 제공한다.
diff --git a/content/ko/docs/concepts/cluster-administration/system-metrics.md b/content/ko/docs/concepts/cluster-administration/system-metrics.md
index 440da51dd8..e4dedb068a 100644
--- a/content/ko/docs/concepts/cluster-administration/system-metrics.md
+++ b/content/ko/docs/concepts/cluster-administration/system-metrics.md
@@ -97,6 +97,14 @@ some_counter 0
릴리스 `1.12` 에서 `1.13` 으로 업그레이드 중이지만, `1.12` 에서 사용 중단된 메트릭 `A` 를 사용하고 있다면, 커맨드 라인에서 `--show-hidden-metrics=1.12` 플래그로 히든 메트릭을 설정해야 하고, `1.14` 로 업그레이드하기 전에 이 메트릭을 사용하지 않도록 의존성을 제거하는 것을 기억해야 한다.
+## 액셀러레이터 메트릭 비활성화
+
+kubelet은 cAdvisor를 통해 액셀러레이터 메트릭을 수집한다. NVIDIA GPU와 같은 액셀러레이터의 경우, 이러한 메트릭을 수집하기 위해 kubelet은 드라이버에 열린 핸들을 가진다. 이는 인프라 변경(예: 드라이버 업데이트)을 수행하기 위해 클러스터 관리자가 kubelet 에이전트를 중지해야 함을 의미한다.
+
+액셀러레이터 메트릭을 수집하는 책임은 이제 kubelet이 아닌 공급 업체에 있다. 공급 업체는 메트릭을 수집하여 메트릭 서비스(예: 프로메테우스)에 노출할 컨테이너를 제공해야 한다.
+
+[`DisableAcceleratorUsageMetrics` 기능 게이트](/ko/docs/reference/command-line-tools-reference/feature-gates/#알파-또는-베타-기능을-위한-기능-게이트:~:text= DisableAcceleratorUsageMetrics,-false)는 [이 기능을 기본적으로 사용하도록 설정하는 타임라인](https://github.com/kubernetes/enhancements/tree/411e51027db842355bd489691af897afc1a41a5e/keps/sig-node/1867-disable-accelerator-usage-metrics#graduation-criteria)를 사용하여 kubelet에서 수집한 메트릭을 비활성화한다.
+
## 컴포넌트 메트릭
### kube-controller-manager 메트릭
diff --git a/content/ko/docs/concepts/configuration/secret.md b/content/ko/docs/concepts/configuration/secret.md
index a934d173d1..e75beb8666 100644
--- a/content/ko/docs/concepts/configuration/secret.md
+++ b/content/ko/docs/concepts/configuration/secret.md
@@ -12,51 +12,380 @@ weight: 30
쿠버네티스 시크릿을 사용하면 비밀번호, OAuth 토큰, ssh 키와 같은
민감한 정보를 저장하고 관리할 수 있다. 기밀 정보를 시크릿에 저장하는 것이
-{{< glossary_tooltip term_id="pod" text="파드" >}} 정의나
-{{< glossary_tooltip text="컨테이너 이미지" term_id="image" >}} 내에 그대로 두는 것보다 안전하고 유연하다. 자세한 내용은 [시크릿 디자인 문서](https://git.k8s.io/community/contributors/design-proposals/auth/secrets.md)를 참고한다.
-
+{{< glossary_tooltip term_id="pod" >}} 정의나
+{{< glossary_tooltip text="컨테이너 이미지" term_id="image" >}}
+내에 그대로 두는 것보다 안전하고 유연하다.
+자세한 내용은 [시크릿 디자인 문서](https://git.k8s.io/community/contributors/design-proposals/auth/secrets.md)를 참고한다.
+시크릿은 암호, 토큰 또는 키와 같은 소량의 중요한 데이터를
+포함하는 오브젝트이다. 그렇지 않으면 이러한 정보가 파드
+명세나 이미지에 포함될 수 있다. 사용자는 시크릿을 만들 수 있고 시스템도
+일부 시크릿을 만들 수 있다.
## 시크릿 개요
-시크릿은 비밀번호, 토큰 또는 키와 같은 소량의
-민감한 데이터를 포함하는 오브젝트이다. 그렇지 않으면 이러한 정보가
-파드 명세 또는 이미지에 포함될 수 있다. 사용자는 시크릿을 생성할 수 있으며 시스템도
-일부 시크릿을 생성한다.
-
시크릿을 사용하려면, 파드가 시크릿을 참조해야 한다.
시크릿은 세 가지 방법으로 파드와 함께 사용할 수 있다.
- 하나 이상의 컨테이너에 마운트된
-{{< glossary_tooltip text="볼륨" term_id="volume" >}} 내의
-[파일](#시크릿을-파드의-파일로-사용하기)로써 사용.
+ {{< glossary_tooltip text="볼륨" term_id="volume" >}} 내의
+ [파일](#시크릿을-파드의-파일로-사용하기)로써 사용.
- [컨테이너 환경 변수](#시크릿을-환경-변수로-사용하기)로써 사용.
- 파드의 [이미지를 가져올 때 kubelet](#imagepullsecrets-사용하기)에 의해 사용.
시크릿 오브젝트의 이름은 유효한
[DNS 서브도메인 이름](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)이어야 한다.
+사용자는 시크릿을 위한 파일을 구성할 때 `data` 및 (또는) `stringData` 필드를
+명시할 수 있다. 해당 `data` 와 `stringData` 필드는 선택적으로 명시할 수 있다.
+`data` 필드의 모든 키(key)에 해당하는 값(value)은 base64로 인코딩된 문자열이어야 한다.
+만약 사용자에게 base64로의 문자열 변환이 적합하지 않다면,
+임의의 문자열을 값으로 받는 `stringData` 필드를 대신 사용할 수 있다.
-`data` 와 `stringData` 의 키는 영숫자 및 `-`, `_` 또는 `.` 으로
-구성되어야 한다.
+`data` 및 `stringData`의 키는 영숫자 문자,
+`-`, `_`, 또는 `.` 으로 구성되어야 한다. `stringData` 필드의 모든 키-값 쌍은 의도적으로
+`data` 필드로 합쳐진다. 만약 키가 `data` 와 `stringData` 필드 모두에 정의되어
+있으면, `stringData` 필드에 지정된 값이
+우선적으로 사용된다.
-### 빌트인 시크릿
+## 시크릿 타입 {#secret-types}
-#### 서비스 어카운트는 API 자격 증명으로 시크릿을 자동으로 생성하고 연결함
+시크릿을 생성할 때, [`Secret`](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#secret-v1-core)
+리소스의 `type` 필드를 사용하거나, (활용 가능하다면) `kubectl` 의
+유사한 특정 커맨드라인 플래그를 사용하여 시크릿의 타입을 명시할 수 있다.
+시크릿 타입은 시크릿 데이터의 프로그래믹 처리를 촉진시키기 위해 사용된다.
-쿠버네티스는 API 접근을 위한 자격 증명이 포함된
-시크릿을 자동으로 생성하고 이러한 유형의 시크릿을 사용하도록 파드를 자동으로
-수정한다.
+쿠버네티스는 일반적인 사용 시나리오를 위해 몇 가지 빌트인 타입을 제공한다.
+이 타입은 쿠버네티스가 부과하여 수행되는 검증 및 제약에
+따라 달라진다.
-원하는 경우 API 자격 증명의 자동 생성 및 사용을 비활성화하거나
-오버라이드할 수 있다. 그러나, API 서버에 안전하게 접근하기만 하면 되는 경우,
-자동 생성 및 사용이 권장되는 워크플로이다.
+| 빌트인 타입 | 사용처 |
+|--------------|-------|
+| `Opaque` | 임의의 사용자 정의 데이터 |
+| `kubernetes.io/service-account-token` | 서비스 어카운트 토큰 |
+| `kubernetes.io/dockercfg` | 직렬화 된(serialized) `~/.dockercfg` 파일 |
+| `kubernetes.io/dockerconfigjson` | 직렬화 된 `~/.docker/config.json` 파일 |
+| `kubernetes.io/basic-auth` | 기본 인증을 위한 자격 증명(credential) |
+| `kubernetes.io/ssh-auth` | SSH를 위한 자격 증명 |
+| `kubernetes.io/tls` | TLS 클라이언트나 서버를 위한 데이터 |
+| `bootstrap.kubernetes.io/token` | 부트스트랩 토큰 데이터 |
-서비스 어카운트 작동 방식에 대한 자세한 내용은
-[서비스어카운트(ServiceAccount)](/docs/tasks/configure-pod-container/configure-service-account/) 문서를 참고한다.
+사용자는 시크릿 오브젝트의 `type` 값에 비어 있지 않은 문자열을 할당하여 자신만의 시크릿
+타입을 정의하고 사용할 수 있다. 비어 있는 문자열은 `Opaque` 타입으로 인식된다.
+쿠버네티스는 타입 명칭에 제약을 부과하지는 않는다. 그러나 만약
+빌트인 타입 중 하나를 사용한다면, 해당 타입에 정의된 모든 요구 사항을
+만족시켜야 한다.
-### 시크릿 생성하기
+### 불투명(Opaque) 시크릿
+
+`Opaque` 은 시크릿 구성 파일에서 누락된 경우의 기본 시크릿 타입이다.
+`kubectl` 을 사용하여 시크릿을 생성할 때 `Opaque` 시크릿 타입을 나타내기
+위해서는 `generic` 하위 커맨드를 사용할 것이다. 예를 들어, 다음 커맨드는
+타입 `Opaque` 의 비어 있는 시크릿을 생성한다.
+
+```shell
+kubectl create secret generic empty-secret
+kubectl get secret empty-secret
+```
+
+출력은 다음과 같다.
+
+```
+NAME TYPE DATA AGE
+empty-secret Opaque 0 2m6s
+```
+
+해당 `DATA` 열은 시크릿에 저장된 데이터 아이템의 수를 보여준다.
+이 경우, `0` 은 비어 있는 시크릿을 방금 하나 생성하였다는 것을 의미한다.
+
+### 서비스 어카운트 토큰 시크릿
+
+`kubernetes.io/service-account-token` 시크릿 타입은 서비스 어카운트를 확인하는 토큰을 저장하기 위해서 사용한다. 이 시크릿 타입을 사용할 때는,
+`kubernetes.io/service-account.name` 어노테이션이 존재하는 서비스
+어카운트 이름으로 설정되도록 해야 한다. 쿠버네티스 컨트롤러는
+`kubernetes.io/service-account.uid` 및 실제 토큰
+콘텐츠로 설정된 `data` 필드의 `token` 키와 같은,
+몇 가지 다른 필드들을 채운다.
+
+다음은 서비스 어카운트 토큰 시크릿의 구성 예시이다.
+
+```yaml
+apiVersion: v1
+kind: Secret
+metadata:
+ name: secret-sa-sample
+ annotations:
+ kubernetes.io/service-account.name: "sa-name"
+type: kubernetes.io/service-account-token
+data:
+ # 사용자는 불투명 시크릿을 사용하므로 추가적인 키 값 쌍을 포함할 수 있다.
+ extra: YmFyCg==
+```
+
+`Pod` 를 생성할 때, 쿠버네티스는 자동으로 서비스 어카운트 시크릿을
+생성하고 자동으로 파드가 해당 시크릿을 사용하도록 수정한다. 해당 서비스
+어카운트 토큰 시크릿은 API 접속을 위한 자격 증명을 포함한다.
+
+이러한 API 자격 증명의 자동 생성과 사용은 원하는 경우 해제하거나
+기각할 수 있다. 그러나 만약 사용자가 API 서버에 안전하게 접근하는 것만
+필요하다면, 이것이 권장되는 워크플로우이다.
+
+[서비스 어카운트](/docs/tasks/configure-pod-container/configure-service-account/) 문서를 보면
+서비스 어카운트가 동작하는 방법에 대한 더 자세한 정보를 얻을 수 있다.
+또한 파드에서 서비스 어카운트를 참조하는 방법을
+[`Pod`](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#secret-v1-core)의
+`automountServiceAccountToken` 필드와 `serviceAccountName`
+필드를 통해 확인할 수 있다.
+
+### 도커 컨피그 시크릿
+
+이미지에 대한 도커 레지스트리 접속 자격 증명을 저장하기 위한
+시크릿을 생성하기 위해서 다음의 `type` 값 중 하나를 사용할 수 있다.
+
+- `kubernetes.io/dockercfg`
+- `kubernetes.io/dockerconfigjson`
+
+`kubernetes.io/dockercfg` 는 직렬화 된 도커 커맨드라인 구성을
+위한 기존(legacy) 포맷 `~/.dockercfg` 를 저장하기 위해 할당된 타입이다.
+시크릿 타입을 사용할 때는, `data` 필드가 base64 포맷으로
+인코딩된 `~/.dockercfg` 파일의 콘텐츠를 값으로 가지는 `.dockercfg` 키를 포함하고 있는지
+확실히 확인해야 한다.
+
+`kubernetes/dockerconfigjson` 타입은 `~/.dockercfg` 의
+새로운 포맷인 `~/.docker/config.json` 파일과 동일한 포맷 법칙을
+따르는 직렬화 된 JSON의 저장을 위해 디자인되었다.
+이 시크릿 타입을 사용할 때는, 시크릿 오브젝트의 `data` 필드가 `.dockerconfigjson` 키를
+꼭 포함해야 한다. `~/.docker/config.json` 파일을 위한 콘텐츠는
+base64로 인코딩된 문자열으로 제공되어야 한다.
+
+아래는 시크릿의 `kubernetes.io/dockercfg` 타입 예시이다.
+
+```yaml
+apiVersion: v1
+kind: Secret
+metadata:
+ name: secret-dockercfg
+type: kubernetes.io/dockercfg
+data:
+ .dockercfg: |
+ " IP {0} callerCount {1} ' -f $$ip[1].IPAddress,$$callerCounts.Item($$_) } ;$$footer='' ;$$content='{0}{1}{2}' -f $$header,$$callerCountsString,$$footer ;Write-Output $$content ;$$buffer = [System.Text.Encoding]::UTF8.GetBytes($$content) ;$$response.ContentLength64 = $$buffer.Length ;$$response.OutputStream.Write($$buffer, 0, $$buffer.Length) ;$$response.Close() ;$$responseStatus = $$response.StatusCode ;Write-Host('< {0}' -f $$responseStatus) } ; "
+ - "<#code used from https://gist.github.com/19WAS85/5424431#> ; $$listener = New-Object System.Net.HttpListener ; $$listener.Prefixes.Add('http://*:80/') ; $$listener.Start() ; $$callerCounts = @{} ; Write-Host('Listening at http://*:80/') ; while ($$listener.IsListening) { ;$$context = $$listener.GetContext() ;$$requestUrl = $$context.Request.Url ;$$clientIP = $$context.Request.RemoteEndPoint.Address ;$$response = $$context.Response ;Write-Host '' ;Write-Host('> {0}' -f $$requestUrl) ; ;$$count = 1 ;$$k=$$callerCounts.Get_Item($$clientIP) ;if ($$k -ne $$null) { $$count += $$k } ;$$callerCounts.Set_Item($$clientIP, $$count) ;$$ip=(Get-NetAdapter | Get-NetIpAddress); $$header=' IP {0} callerCount {1} ' -f $$ip[1].IPAddress,$$callerCounts.Item($$_) } ;$$footer='' ;$$content='{0}{1}{2}' -f $$header,$$callerCountsString,$$footer ;Write-Output $$content ;$$buffer = [System.Text.Encoding]::UTF8.GetBytes($$content) ;$$response.ContentLength64 = $$buffer.Length ;$$response.OutputStream.Write($$buffer, 0, $$buffer.Length) ;$$response.Close() ;$$responseStatus = $$response.StatusCode ;Write-Host('< {0}' -f $$responseStatus) } ; "
nodeSelector:
kubernetes.io/os: windows
```
diff --git a/content/ko/docs/tasks/access-application-cluster/access-cluster.md b/content/ko/docs/tasks/access-application-cluster/access-cluster.md
index 39226c89be..e78046f0ee 100644
--- a/content/ko/docs/tasks/access-application-cluster/access-cluster.md
+++ b/content/ko/docs/tasks/access-application-cluster/access-cluster.md
@@ -149,9 +149,8 @@ root 인증서를 사용하려면 특수한 설정을 필요로 할 것이다.
localhost에서 제공되거나 방화벽으로 보호되는 몇몇 클러스터들에서는 apiserver가 인증을
요구하지 않지만 이는 표준이 아니다.
-[API에 대한 접근 구성](/ko/docs/reference/access-authn-authz/controlling-access/)은
+[API에 대한 접근 제어](/ko/docs/concepts/security/controlling-access)은
클러스터 관리자가 이를 어떻게 구성할 수 있는지를 설명한다.
-이 방식들은 미래의 고가용성 지원과 충돌될 수 있다.
## API에 프로그래밍 방식으로 접근
diff --git a/content/ko/docs/tasks/administer-cluster/access-cluster-api.md b/content/ko/docs/tasks/administer-cluster/access-cluster-api.md
index ba4a794d23..efb489b18d 100644
--- a/content/ko/docs/tasks/administer-cluster/access-cluster-api.md
+++ b/content/ko/docs/tasks/administer-cluster/access-cluster-api.md
@@ -148,8 +148,8 @@ http 클라이언트가 루트 인증서를 사용하도록 하려면 특별한
일부 클러스터에서, API 서버는 인증이 필요하지 않다.
로컬 호스트에서 제공되거나, 방화벽으로 보호될 수 있다. 이에 대한 표준은
-없다. [API에 대한 접근 구성](/ko/docs/reference/access-authn-authz/controlling-access/)은
-클러스터 관리자가 이를 구성하는 방법에 대해 설명한다. 이러한 접근 방식은 향후
+없다. [쿠버네티스 API에 대한 접근 제어](/docs/concepts/security/controlling-access)은
+클러스터 관리자로서 이를 구성하는 방법에 대해 설명한다. 이러한 접근 방식은 향후
고 가용성 지원과 충돌할 수 있다.
### API에 프로그래밍 방식으로 접근
diff --git a/content/ko/docs/tasks/administer-cluster/cluster-management.md b/content/ko/docs/tasks/administer-cluster/cluster-management.md
index b57e07db65..0f241c87f4 100644
--- a/content/ko/docs/tasks/administer-cluster/cluster-management.md
+++ b/content/ko/docs/tasks/administer-cluster/cluster-management.md
@@ -69,7 +69,7 @@ Oracle은 당신이 고가용성의 관리형 쿠버네티스 컨트롤 플레
다른 제공자들과 도구들은 업그레이드를 다른 방식으로 관리한다. 이들의 업그레이드를 위해서는 이들의 주요 문서를 참조하기를 권장한다.
* [kops](https://github.com/kubernetes/kops)
-* [kubespray](https://github.com/kubernetes-incubator/kubespray)
+* [kubespray](https://github.com/kubernetes-sigs/kubespray)
* [CoreOS Tectonic](https://coreos.com/tectonic/docs/latest/admin/upgrade.html)
* [Digital Rebar](https://provision.readthedocs.io/en/tip/doc/content-packages/krib.html)
* ...
diff --git a/content/ko/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md b/content/ko/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md
index ac3ac3f695..aea9411eda 100644
--- a/content/ko/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md
+++ b/content/ko/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md
@@ -8,7 +8,7 @@ weight: 10
{{< feature-state for_k8s_version="v1.15" state="stable" >}}
-[kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/)으로 생성된 클라이언트 인증서는 1년 후에 만료된다. 이 페이지는 kubeadm으로 인증서 갱신을 관리하는 방법을 설명한다.
+[kubeadm](/ko/docs/reference/setup-tools/kubeadm/)으로 생성된 클라이언트 인증서는 1년 후에 만료된다. 이 페이지는 kubeadm으로 인증서 갱신을 관리하는 방법을 설명한다.
## {{% heading "prerequisites" %}}
diff --git a/content/ko/docs/tasks/administer-cluster/network-policy-provider/romana-network-policy.md b/content/ko/docs/tasks/administer-cluster/network-policy-provider/romana-network-policy.md
index 1b0873f74a..8623aadbc8 100644
--- a/content/ko/docs/tasks/administer-cluster/network-policy-provider/romana-network-policy.md
+++ b/content/ko/docs/tasks/administer-cluster/network-policy-provider/romana-network-policy.md
@@ -12,7 +12,7 @@ weight: 40
## {{% heading "prerequisites" %}}
-[kubeadm 시작하기](/ko/docs/reference/setup-tools/kubeadm/kubeadm/)의 1, 2, 3 단계를 완료하자.
+[kubeadm 시작하기](/ko/docs/reference/setup-tools/kubeadm/)의 1, 2, 3 단계를 완료하자.
diff --git a/content/ko/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy.md b/content/ko/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy.md
index 736572c808..5b32655017 100644
--- a/content/ko/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy.md
+++ b/content/ko/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy.md
@@ -11,7 +11,7 @@ weight: 50
## {{% heading "prerequisites" %}}
쿠버네티스 클러스터가 필요하다. 맨 땅에서부터 시작하기를 위해서
-[kubeadm 시작하기 안내서](/ko/docs/reference/setup-tools/kubeadm/kubeadm/)를 따른다.
+[kubeadm 시작하기 안내서](/ko/docs/reference/setup-tools/kubeadm/)를 따른다.
diff --git a/content/ko/docs/tasks/configure-pod-container/assign-memory-resource.md b/content/ko/docs/tasks/configure-pod-container/assign-memory-resource.md
index 980d71d9b5..a798018b91 100644
--- a/content/ko/docs/tasks/configure-pod-container/assign-memory-resource.md
+++ b/content/ko/docs/tasks/configure-pod-container/assign-memory-resource.md
@@ -21,8 +21,8 @@ weight: 10
클러스터의 각 노드에 최소 300 MiB 메모리가 있어야 한다.
이 페이지의 몇 가지 단계를 수행하기 위해서는 클러스터 내
-[metrics-server](https://github.com/kubernetes-incubator/metrics-server)
-서비스 실행이 필요하다. 이미 실행중인 metrics-server가 있다면
+[metrics-server](https://github.com/kubernetes-sigs/metrics-server)
+서비스 실행이 필요하다. 이미 실행 중인 metrics-server가 있다면
다음 단계를 건너뛸 수 있다.
Minikube를 사용 중이라면, 다음 명령어를 실행해 metric-server를
diff --git a/content/ko/docs/tasks/configure-pod-container/configure-persistent-volume-storage.md b/content/ko/docs/tasks/configure-pod-container/configure-persistent-volume-storage.md
index 4c1679b8a3..dc4acf8411 100644
--- a/content/ko/docs/tasks/configure-pod-container/configure-persistent-volume-storage.md
+++ b/content/ko/docs/tasks/configure-pod-container/configure-persistent-volume-storage.md
@@ -31,7 +31,7 @@ weight: 60
아직 단일 노드 클러스터를 가지고 있지 않다면, [Minikube](/ko/docs/setup/learning-environment/minikube/)를
사용하여 클러스터 하나를 생성할 수 있다.
-* [퍼시스턴트 볼륨](/ko/docs/concepts/storage/persistent-volumes/)의
+* [퍼시스턴트 볼륨](https://minikube.sigs.k8s.io/docs/)의
관련 자료에 익숙해지도록 한다.
diff --git a/content/ko/docs/tasks/debug-application-cluster/resource-metrics-pipeline.md b/content/ko/docs/tasks/debug-application-cluster/resource-metrics-pipeline.md
index a9c9bf182d..e4bf6a1715 100644
--- a/content/ko/docs/tasks/debug-application-cluster/resource-metrics-pipeline.md
+++ b/content/ko/docs/tasks/debug-application-cluster/resource-metrics-pipeline.md
@@ -51,8 +51,8 @@ kubelet은 비율 계산에 사용할 윈도우를 선택한다.
## 메트릭 서버
-[메트릭 서버](https://github.com/kubernetes-incubator/metrics-server)는 클러스터 전역에서 리소스 사용량 데이터를 집계한다.
-기본적으로, `kube-up.sh` 스크립트에 의해 생성된 클러스터에는 메트릭 서버가
+[메트릭 서버](https://github.com/kubernetes-sigs/metrics-server)는 클러스터 전역에서 리소스 사용량 데이터를 집계한다.
+`kube-up.sh` 스크립트에 의해 생성된 클러스터에는 기본적으로 메트릭 서버가
디플로이먼트 오브젝트로 배포된다. 만약 다른 쿠버네티스 설치 메커니즘을 사용한다면, 제공된
[디플로이먼트 components.yaml](https://github.com/kubernetes-sigs/metrics-server/releases) 파일을 사용하여 메트릭 서버를 배포할 수 있다.
diff --git a/content/ko/docs/tasks/debug-application-cluster/resource-usage-monitoring.md b/content/ko/docs/tasks/debug-application-cluster/resource-usage-monitoring.md
index 87856b9cfe..21c5c3decf 100644
--- a/content/ko/docs/tasks/debug-application-cluster/resource-usage-monitoring.md
+++ b/content/ko/docs/tasks/debug-application-cluster/resource-usage-monitoring.md
@@ -28,7 +28,7 @@ title: 리소스 모니터링 도구
컨트롤러와 같은 클러스터 구성요소나
`kubectl top` 유틸리티에 관련되어 있는
메트릭들로 제한된 집합을 제공한다. 이 메트릭은 경량의 단기 인메모리 저장소인
-[metrics-server](https://github.com/kubernetes-incubator/metrics-server)에
+[metrics-server](https://github.com/kubernetes-sigs/metrics-server)에
의해서 수집되며 `metrics.k8s.io` API를 통해 노출된다.
metrics-server는 클러스터 상의 모든 노드를 발견하고 각 노드의
diff --git a/content/ko/docs/tasks/inject-data-application/define-environment-variable-container.md b/content/ko/docs/tasks/inject-data-application/define-environment-variable-container.md
index 191e82021c..22372813e9 100644
--- a/content/ko/docs/tasks/inject-data-application/define-environment-variable-container.md
+++ b/content/ko/docs/tasks/inject-data-application/define-environment-variable-container.md
@@ -47,17 +47,10 @@ weight: 20
envar-demo 1/1 Running 0 9s
```
-1. 파드 안에 실행되고 있는 컨테이너의 셸에 접근한다.
+1. 파드의 컨테이너 환경 변수를 나열한다.
```shell
- kubectl exec -it envar-demo -- /bin/bash
- ```
-
-1. 셸 안에서, 환경 변수를 나열하기 위해 `printenv` 커맨드를 실행한다.
-
- ```shell
- # 컨테이너 내 셸에서 다음을 실행한다.
- printenv
+ kubectl exec envar-demo -- printenv
```
출력은 아래와 비슷할 것이다.
@@ -71,8 +64,6 @@ weight: 20
DEMO_FAREWELL=Such a sweet sorrow
```
-1. 셸에서 빠져나오기 위해, `exit`을 입력한다.
-
{{< note >}}
`env` 나 `envFrom` 필드를 이용해 설정된 환경 변수들은 컨테이너 이미지
안에서 명시된 모든 환경 변수들을 오버라이딩한다.
diff --git a/content/ko/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md b/content/ko/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md
index c9c694e237..b81329c24a 100644
--- a/content/ko/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md
+++ b/content/ko/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md
@@ -18,9 +18,9 @@ Horizontal Pod Autoscaler 동작과 관련된 더 많은 정보를 위해서는
이 예제는 버전 1.2 또는 이상의 쿠버네티스 클러스터와 kubectl을 필요로 한다.
-[메트릭-서버](https://github.com/kubernetes-incubator/metrics-server/) 모니터링을 클러스터에 배포하여 리소스 메트릭 API를 통해 메트릭을 제공해야 한다.
+[메트릭-서버](https://github.com/kubernetes-sigs/metrics-server) 모니터링을 클러스터에 배포하여 리소스 메트릭 API를 통해 메트릭을 제공해야 한다.
Horizontal Pod Autoscaler가 메트릭을 수집할때 해당 API를 사용한다.
-메트릭-서버를 배포하는 지침은 [메트릭-서버](https://github.com/kubernetes-incubator/metrics-server/)의 GitHub 저장소에 있고, [GCE 가이드](/docs/setup/turnkey/gce/)로 클러스터를 올리는 경우 메트릭-서버 모니터링은 디폴트로 활성화된다.
+메트릭-서버를 배포하는 지침은 [메트릭-서버](https://github.com/kubernetes-sigs/metrics-server)의 GitHub 저장소에 있고, [GCE 가이드](/docs/setup/turnkey/gce/)로 클러스터를 올리는 경우 메트릭-서버 모니터링은 디폴트로 활성화된다.
Horizontal Pod Autoscaler에 다양한 자원 메트릭을 적용하고자 하는 경우,
버전 1.6 또는 이상의 쿠버네티스 클러스터와 kubectl를 사용해야 한다.
diff --git a/content/ko/docs/tasks/run-application/horizontal-pod-autoscale.md b/content/ko/docs/tasks/run-application/horizontal-pod-autoscale.md
index 7a7d129525..5afca02371 100644
--- a/content/ko/docs/tasks/run-application/horizontal-pod-autoscale.md
+++ b/content/ko/docs/tasks/run-application/horizontal-pod-autoscale.md
@@ -264,12 +264,12 @@ API에 접속하려면 클러스터 관리자는 다음을 확인해야 한다.
* 해당 API 등록:
- * 리소스 메트릭의 경우, 일반적으로 이것은 [메트릭-서버](https://github.com/kubernetes-incubator/metrics-server)가 제공하는 `metrics.k8s.io` API이다.
+ * 리소스 메트릭의 경우, 일반적으로 이것은 [메트릭-서버](https://github.com/kubernetes-sigs/metrics-server)가 제공하는 `metrics.k8s.io` API이다.
클러스터 애드온으로 시작할 수 있다.
* 사용자 정의 메트릭의 경우, 이것은 `custom.metrics.k8s.io` API이다. 메트릭 솔루션 공급 업체에서 제공하는 "어댑터" API 서버에서 제공한다.
메트릭 파이프라인 또는 [알려진 솔루션 목록](https://github.com/kubernetes/metrics/blob/master/IMPLEMENTATIONS.md#custom-metrics-api)으로 확인한다.
- 직접 작성하고 싶다면 [샘플](https://github.com/kubernetes-incubator/custom-metrics-apiserver)을 확인하라.
+ 직접 작성하고 싶다면 [샘플](https://github.com/kubernetes-sigs/custom-metrics-apiserver)을 확인한다.
* 외부 메트릭의 경우, 이것은 `external.metrics.k8s.io` API이다. 위에 제공된 사용자 정의 메트릭 어댑터에서 제공될 수 있다.
diff --git a/content/ko/docs/tasks/tools/_index.md b/content/ko/docs/tasks/tools/_index.md
index 9753772c5f..74abf8d981 100755
--- a/content/ko/docs/tasks/tools/_index.md
+++ b/content/ko/docs/tasks/tools/_index.md
@@ -17,11 +17,23 @@ no_list: true
kubectl 설치 및 설정 가이드 보기
-[`kubectl` 레퍼런스 문서](/ko/docs/reference/kubectl/)를 읽어볼 수도 있다.
+[`kubectl` 레퍼런스 문서](/ko/docs/reference/kubectl/)를
+읽어볼 수도 있다.
+
+## kind
+
+[kind](https://kind.sigs.k8s.io/docs/)를 사용하면 로컬 컴퓨터에서
+쿠버네티스를 실행할 수 있다. 이 도구를 사용하려면
+[도커](https://docs.docker.com/get-docker/)를 설치하고 구성해야 한다.
+
+kind [퀵 스타트](https://kind.sigs.k8s.io/docs/user/quick-start/) 페이지는
+kind를 시작하고 실행하기 위해 수행해야 하는 작업을 보여준다.
+
+kind 시작하기 가이드 보기
## minikube
-[`minikube`](https://minikube.sigs.k8s.io/)는 쿠버네티스를 로컬에서 실행할 수 있는
+`kind` 와 마찬가지로, [`minikube`](https://minikube.sigs.k8s.io/)는 쿠버네티스를 로컬에서 실행할 수 있는
도구이다. `minikube` 는 개인용 컴퓨터(윈도우, macOS 및 리눅스 PC 포함)에서
단일 노드 쿠버네티스 클러스터를 실행하여 쿠버네티스를 사용해보거나 일상적인 개발 작업을
수행할 수 있다.
@@ -35,14 +47,12 @@ no_list: true
`minikube` 가 작동하면, 이를 사용하여
[샘플 애플리케이션을 실행](/ko/docs/tutorials/hello-minikube/)해볼 수 있다.
-## kind
+## kubeadm
-`minikube` 와 마찬가지로, [kind](https://kind.sigs.k8s.io/docs/)를 사용하면 로컬 컴퓨터에서
-쿠버네티스를 실행할 수 있다. `minikube` 와 달리, `kind` 는 단일 컨테이너 런타임에서만 작동한다.
-`kind` 는 [도커](https://docs.docker.com/get-docker/)를 설치하고
-구성해야 한다.
+{{< glossary_tooltip term_id="kubeadm" text="kubeadm" >}} 도구를 사용하여 쿠버네티스 클러스터를 만들고 관리할 수 있다.
+사용자 친화적인 방식으로 최소한의 실행 가능하고 안전한 클러스터를 설정하고 실행하는 데 필요한 작업을 수행한다.
-[퀵 스타트](https://kind.sigs.k8s.io/docs/user/quick-start/)는 `kind` 를 시작하고 실행하기 위해
-수행해야 하는 작업을 보여준다.
+[kubeadm 설치](/docs/setup/production-environment/tools/kubeadm/install-kubeadm/) 페이지는 kubeadm 설치하는 방법을 보여준다.
+설치가 끝나면, [클러스터 생성](/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/)이 가능하다.
-kind 시작하기 가이드 보기
+kubeadm 설치 가이드 보기
diff --git a/content/ko/docs/tasks/tools/install-kubectl.md b/content/ko/docs/tasks/tools/install-kubectl.md
index 2f2e6c4fe0..04801d4ff8 100644
--- a/content/ko/docs/tasks/tools/install-kubectl.md
+++ b/content/ko/docs/tasks/tools/install-kubectl.md
@@ -521,7 +521,7 @@ compinit
## {{% heading "whatsnext" %}}
-* [Minikube 설치](/ko/docs/tasks/tools/install-minikube/)
+* [Minikube 설치](https://minikube.sigs.k8s.io/docs/start/)
* 클러스터 생성에 대한 자세한 내용은 [시작하기](/ko/docs/setup/)를 참고한다.
* [애플리케이션을 시작하고 노출하는 방법에 대해 배운다.](/ko/docs/tasks/access-application-cluster/service-access-application-cluster/)
* 직접 생성하지 않은 클러스터에 접근해야하는 경우,
diff --git a/content/ko/docs/tutorials/hello-minikube.md b/content/ko/docs/tutorials/hello-minikube.md
index 699902295e..8f3f515f31 100644
--- a/content/ko/docs/tutorials/hello-minikube.md
+++ b/content/ko/docs/tutorials/hello-minikube.md
@@ -15,25 +15,23 @@ card:
-이 튜토리얼에서는 [Minikube](/ko/docs/setup/learning-environment/minikube)와 Katacoda를 이용하여
+이 튜토리얼에서는 Minikube와 Katacoda를 이용하여
쿠버네티스에서 샘플 애플리케이션을 어떻게 실행하는지 살펴본다.
Katacode는 무료로 브라우저에서 쿠버네티스 환경을 제공한다.
{{< note >}}
-[로컬에서 Minikube](/ko/docs/tasks/tools/install-minikube/)를 설치했다면 이 튜토리얼도 따라 할 수 있다.
+로컬에서 Minikube를 설치했다면 이 튜토리얼도 따라 할 수 있다.
+설치 안내는 [minikube 시작](https://minikube.sigs.k8s.io/docs/start/)을 참고한다.
{{< /note >}}
## {{% heading "objectives" %}}
-
-* 샘플 애플리케이션을 Minikube에 배포한다.
+* 샘플 애플리케이션을 minikube에 배포한다.
* 배포한 애플리케이션을 실행한다.
* 애플리케이션의 로그를 확인한다.
-
-
## {{% heading "prerequisites" %}}
@@ -43,14 +41,14 @@ Katacode는 무료로 브라우저에서 쿠버네티스 환경을 제공한다.
-## Minikubue 클러스터 만들기
+## minikubue 클러스터 만들기
1. **Launch Terminal** 을 클릭
{{< kat-button >}}
{{< note >}}
- Minikube를 로컬에 설치했다면 `minikube start`를 실행한다.
+ minikube를 로컬에 설치했다면 `minikube start`를 실행한다.
{{< /note >}}
2. 브라우저에서 쿠버네티스 대시보드를 열어보자.
@@ -156,7 +154,7 @@ Katacode는 무료로 브라우저에서 쿠버네티스 환경을 제공한다.
로드 밸런서를 지원하는 클라우드 공급자의 경우에는
서비스에 접근할 수 있도록 외부 IP 주소가 프로비저닝 한다.
- Minikube에서 `LoadBalancer`타입은 `minikube service` 명령어를 통해서 해당 서비스를 접근할 수
+ minikube에서 `LoadBalancer`타입은 `minikube service` 명령어를 통해서 해당 서비스를 접근할 수
있게 한다.
3. 다음 명령어를 실행한다
@@ -173,7 +171,7 @@ Katacode는 무료로 브라우저에서 쿠버네티스 환경을 제공한다.
## 애드온 사용하기
-Minikube에는 활성화하거나 비활성화 할 수 있고 로컬 쿠버네티스 환경에서 접속해 볼 수 있는 내장 {{< glossary_tooltip text="애드온" term_id="addons" >}} 셋이 있다.
+minikube 툴은 활성화하거나 비활성화할 수 있고 로컬 쿠버네티스 환경에서 접속해 볼 수 있는 내장 {{< glossary_tooltip text="애드온" term_id="addons" >}} 셋이 포함되어 있다.
1. 현재 지원하는 애드온 목록을 확인한다.
diff --git a/content/ko/docs/tutorials/stateful-application/cassandra.md b/content/ko/docs/tutorials/stateful-application/cassandra.md
index 33fdcb4dbe..8273f3bcd9 100644
--- a/content/ko/docs/tutorials/stateful-application/cassandra.md
+++ b/content/ko/docs/tutorials/stateful-application/cassandra.md
@@ -50,7 +50,7 @@ weight: 30
### 추가적인 Minikube 설정 요령
{{< caution >}}
-[Minikube](/docs/getting-started-guides/minikube/)는 1024MiB 메모리와 1개 CPU가 기본 설정이다.
+[Minikube](https://minikube.sigs.k8s.io/docs/)는 1024MiB 메모리와 1개 CPU가 기본 설정이다.
이 튜토리얼에서 Minikube를 기본 리소스 설정으로 실행하면 리소스 부족 오류가
발생한다. 이런 오류를 피하려면 Minikube를 다음 설정으로 실행하자.
diff --git a/content/ko/docs/tutorials/stateless-application/guestbook-logs-metrics-with-elk.md b/content/ko/docs/tutorials/stateless-application/guestbook-logs-metrics-with-elk.md
index cc02b6651d..faf5fd5303 100644
--- a/content/ko/docs/tutorials/stateless-application/guestbook-logs-metrics-with-elk.md
+++ b/content/ko/docs/tutorials/stateless-application/guestbook-logs-metrics-with-elk.md
@@ -17,8 +17,6 @@ card:
* Metricbeat
* Packetbeat
-
-
## {{% heading "objectives" %}}
* Redis를 이용한 PHP 방명록 시작.
@@ -27,7 +25,6 @@ card:
* Beats 배포.
* 로그와 메트릭의 대시보드 보기.
-
## {{% heading "prerequisites" %}}
@@ -38,16 +35,20 @@ card:
* 실행 중인 [Redis를 이용한 PHP 방명록](/ko/docs/tutorials/stateless-application/guestbook) 튜토리얼의 배포본.
-* 실행 중인 Elasticsearch와 Kibana 디플로이먼트. [Elastic Cloud의 Elasticsearch 서비스](https://cloud.elastic.co)를 사용하거나, [파일을 내려받아](https://www.elastic.co/guide/en/elastic-stack-get-started/current/get-started-elastic-stack.html) 워크스테이션이나 서버에서 운영하거나, [Elastic의 Helm 차트](https://github.com/elastic/helm-charts)를 이용한다.
+* 실행 중인 Elasticsearch와 Kibana 디플로이먼트. [Elastic Cloud의 Elasticsearch 서비스](https://cloud.elastic.co)를 사용하거나,
+ [파일을 내려받아](https://www.elastic.co/guide/en/elastic-stack-get-started/current/get-started-elastic-stack.html)
+ 워크스테이션이나 서버에서 운영하거나, [Elastic의 Helm 차트](https://github.com/elastic/helm-charts)를 이용한다.
## Redis를 이용한 PHP 방명록 시작
+
이 튜토리얼은 [Redis를 이용한 PHP 방명록](/ko/docs/tutorials/stateless-application/guestbook)을 기반으로 한다. 방명록 애플리케이션을 실행 중이라면, 이를 모니터링할 수 있다. 실행되지 않은 경우라면 지침을 따라 방명록을 배포하고 **정리하기** 단계는 수행하지 말자. 방명록을 실행할 때 이 페이지로 돌아오자.
## 클러스터 롤 바인딩 추가
+
[클러스터 단위 롤 바인딩](/docs/reference/access-authn-authz/rbac/#rolebinding-and-clusterrolebinding)을 생성하여, 클러스터 수준(kube-system 안에)으로 kube-state-metrics와 Beats를 배포할 수 있게 한다.
```shell
@@ -58,31 +59,39 @@ kubectl create clusterrolebinding cluster-admin-binding \
## kube-state-metrics 설치
[*kube-state-metrics*](https://github.com/kubernetes/kube-state-metrics)는 쿠버네티스 API 서버를 모니터링하며 오브젝트 상태에 대한 메트릭을 생성하는 간단한 서비스이다. 이런 메트릭을 Metricbeat이 보고한다. 방명록이 실행된 쿠버네티스 클러스터에서 kube-state-metrics을 추가한다.
+
```shell
git clone https://github.com/kubernetes/kube-state-metrics.git kube-state-metrics
kubectl apply -f kube-state-metrics/examples/standard
```
### kube-state-metrics 실행 여부 확인
+
```shell
kubectl get pods --namespace=kube-system -l app.kubernetes.io/name=kube-state-metrics
```
+
출력
-```shell
+
+```
NAME READY STATUS RESTARTS AGE
kube-state-metrics-89d656bf8-vdthm 1/1 Running 0 21s
```
+
## Elastic의 예제를 GitHub 리포지터리에 클론한다.
+
```shell
git clone https://github.com/elastic/examples.git
```
나머지 커맨드는 `examples/beats-k8s-send-anywhere` 디렉터리의 파일을 참조할 것이라서, 그쪽으로 현재 디렉터리를 변경한다.
+
```shell
cd examples/beats-k8s-send-anywhere
```
## 쿠버네티스 시크릿 만들기
+
쿠버네티스 {{< glossary_tooltip text="시크릿" term_id="secret" >}}은 암호나 토큰, 키 같이 소량의 민감한 데이터를 포함하는 오브젝트이다. 이러한 정보는 다른 방식으로도 파드 스펙이나 이미지에 넣을 수 있을 것이다. 시크릿 오브젝트에 넣으면 이것이 어떻게 사용되는지 다양하게 제어할 수 있고, 우발적인 노출 사고의 위험이 줄일 수 있다.
{{< note >}}
@@ -93,55 +102,68 @@ cd examples/beats-k8s-send-anywhere
{{% tab name="자체 관리(Self Managed)" %}}
### 자체 관리
+
Elastic Cloud의 Elasticsearch 서비스로 연결한다면 **관리 서비스** 탭으로 전환한다.
### 자격증명(credentials) 설정
+
자체 관리 Elasticsearch와 Kibana(자체 관리는 사실상 Elastic Cloud의 관리 서비스 Elasticsearch와 다르다) 서비스에 접속할 때에 4개 파일을 수정하여 쿠버네티스 시크릿을 생성한다. 파일은 다음과 같다.
-1. ELASTICSEARCH_HOSTS
-1. ELASTICSEARCH_PASSWORD
-1. ELASTICSEARCH_USERNAME
-1. KIBANA_HOST
+1. `ELASTICSEARCH_HOSTS`
+1. `ELASTICSEARCH_PASSWORD`
+1. `ELASTICSEARCH_USERNAME`
+1. `KIBANA_HOST`
이 정보를 Elasticsearch 클러스터와 Kibana 호스트에 지정한다. 여기 예시(또는 [*이 구성*](https://stackoverflow.com/questions/59892896/how-to-connect-from-minikube-to-elasticsearch-installed-on-host-local-developme/59892897#59892897)을 본다)가 있다.
#### `ELASTICSEARCH_HOSTS`
+
1. Elastic의 Elasticsearch Helm 차트에서 노드 그룹(nodeGroup).
- ```shell
- ["http://elasticsearch-master.default.svc.cluster.local:9200"]
- ```
+ ```
+ ["http://elasticsearch-master.default.svc.cluster.local:9200"]
+ ```
+
1. Mac을 위한 Docker에서 Beats를 운영 중인 Mac에서 운영하는 단일 Elasticsearch 노드.
- ```shell
- ["http://host.docker.internal:9200"]
- ```
+ ```
+ ["http://host.docker.internal:9200"]
+ ```
+
1. VM이나 물리 장비에서 운영 중인 두 개의 ELASTICSEARCH 노드.
- ```shell
- ["http://host1.example.com:9200", "http://host2.example.com:9200"]
- ```
-`ELASTICSEARCH_HOSTS` 수정한다.
+ ```
+ ["http://host1.example.com:9200", "http://host2.example.com:9200"]
+ ```
+
+`ELASTICSEARCH_HOSTS` 를 수정한다.
+
```shell
vi ELASTICSEARCH_HOSTS
```
#### `ELASTICSEARCH_PASSWORD`
-화이트 스페이스나 인용 부호나 <> 도 없는 암호이다.
+화이트 스페이스나 인용 부호나 `<` 또는 `>` 도 없는 암호이다.
- <사용자의 시크릿 암호>
+```
+<사용자시크릿암호>
+```
+
+`ELASTICSEARCH_PASSWORD` 를 수정한다.
-`ELASTICSEARCH_PASSWORD` 수정한다.
```shell
vi ELASTICSEARCH_PASSWORD
```
#### `ELASTICSEARCH_USERNAME`
-화이트 스페이스나 인용 부호나 <> 도 없는 이름이다.
+화이트 스페이스나 인용 부호나 `<` 또는 `>` 도 없는 이름이다.
- IP {0} callerCount {1} ' -f $$ip[1].IPAddress,$$callerCounts.Item($$_) } ;$$footer='' ;$$content='{0}{1}{2}' -f $$header,$$callerCountsString,$$footer ;Write-Output $$content ;$$buffer = [System.Text.Encoding]::UTF8.GetBytes($$content) ;$$response.ContentLength64 = $$buffer.Length ;$$response.OutputStream.Write($$buffer, 0, $$buffer.Length) ;$$response.Close() ;$$responseStatus = $$response.StatusCode ;Write-Host('< {0}' -f $$responseStatus) } ; "
+ - "<#code used from https://gist.github.com/19WAS85/5424431#> ; $$listener = New-Object System.Net.HttpListener ; $$listener.Prefixes.Add('http://*:80/') ; $$listener.Start() ; $$callerCounts = @{} ; Write-Host('Listening at http://*:80/') ; while ($$listener.IsListening) { ;$$context = $$listener.GetContext() ;$$requestUrl = $$context.Request.Url ;$$clientIP = $$context.Request.RemoteEndPoint.Address ;$$response = $$context.Response ;Write-Host '' ;Write-Host('> {0}' -f $$requestUrl) ; ;$$count = 1 ;$$k=$$callerCounts.Get_Item($$clientIP) ;if ($$k -ne $$null) { $$count += $$k } ;$$callerCounts.Set_Item($$clientIP, $$count) ;$$ip=(Get-NetAdapter | Get-NetIpAddress); $$header=' IP {0} callerCount {1} ' -f $$ip[1].IPAddress,$$callerCounts.Item($$_) } ;$$footer='' ;$$content='{0}{1}{2}' -f $$header,$$callerCountsString,$$footer ;Write-Output $$content ;$$buffer = [System.Text.Encoding]::UTF8.GetBytes($$content) ;$$response.ContentLength64 = $$buffer.Length ;$$response.OutputStream.Write($$buffer, 0, $$buffer.Length) ;$$response.Close() ;$$responseStatus = $$response.StatusCode ;Write-Host('< {0}' -f $$responseStatus) } ; "
nodeSelector:
kubernetes.io/os: windows
```
diff --git a/content/zh/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/zh/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md
index a2aa986464..9c3e1cf6fd 100644
--- a/content/zh/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md
+++ b/content/zh/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md
@@ -497,7 +497,7 @@ seconds. Minimum value is 1.
to 1 second. Minimum value is 1.
* `successThreshold`: Minimum consecutive successes for the probe to be
considered successful after having failed. Defaults to 1. Must be 1 for
-liveness. Minimum value is 1.
+liveness and startup Probes. Minimum value is 1.
* `failureThreshold`: When a probe fails, Kubernetes will
try `failureThreshold` times before giving up. Giving up in case of liveness probe means restarting the container. In case of readiness probe the Pod will be marked Unready.
Defaults to 3. Minimum value is 1.
@@ -506,7 +506,7 @@ Defaults to 3. Minimum value is 1.
* `periodSeconds`:执行探测的时间间隔(单位是秒)。默认是 10 秒。最小值是 1。
* `timeoutSeconds`:探测的超时后等待多少秒。默认值是 1 秒。最小值是 1。
* `successThreshold`:探测器在失败后,被视为成功的最小连续成功数。默认值是 1。
- 存活探测的这个值必须是 1。最小值是 1。
+ 存活和启动探测的这个值必须是 1。最小值是 1。
* `failureThreshold`:当探测失败时,Kubernetes 的重试次数。
存活探测情况下的放弃就意味着重新启动容器。
就绪探测情况下的放弃 Pod 会被打上未就绪的标签。默认值是 3。最小值是 1。
diff --git a/content/zh/docs/tasks/run-application/horizontal-pod-autoscale.md b/content/zh/docs/tasks/run-application/horizontal-pod-autoscale.md
index 65cdbc1841..fa96247305 100644
--- a/content/zh/docs/tasks/run-application/horizontal-pod-autoscale.md
+++ b/content/zh/docs/tasks/run-application/horizontal-pod-autoscale.md
@@ -330,7 +330,7 @@ More details about the API object can be found at
创建 HorizontalPodAutoscaler 对象时,需要确保所给的名称是一个合法的
[DNS 子域名](/zh/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)。
有关 API 对象的更多信息,请查阅
-[HorizontalPodAutoscaler 对象设计文档](/zh/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#horizontalpodautoscaler-v1-autoscaling)。
+[HorizontalPodAutoscaler 对象设计文档](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#horizontalpodautoscaler-v1-autoscaling)。
Windows Container Web Server
' ;$$callerCountsString='' ;$$callerCounts.Keys | % { $$callerCountsString='Windows Container Web Server
' ;$$callerCountsString='' ;$$callerCounts.Keys | % { $$callerCountsString='
https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/
파드 보안 정책 | https://kubernetes.io/docs/concepts/policy/pod-security-policy/
서비스 품질(및 클러스터 리소스 관리) | https://kubernetes.io/docs/tasks/configure-pod-container/quality-service-pod/
@@ -146,8 +146,8 @@ TLS를 통한 접근 | 코드가 TCP를 통해 통신해야 한다면, 미리
* [파드 보안 표준](/docs/concepts/security/pod-security-standards/)
* [파드에 대한 네트워크 정책](/ko/docs/concepts/services-networking/network-policies/)
+* [쿠버네티스 API 접근 제어하기](/ko/docs/concepts/security/controlling-access)
* [클러스터 보안](/docs/tasks/administer-cluster/securing-a-cluster/)
-* [API 접근 통제](/ko/docs/reference/access-authn-authz/controlling-access/)
* 컨트롤 플레인을 위한 [전송 데이터 암호화](/docs/tasks/tls/managing-tls-in-a-cluster/)
* [Rest에서 데이터 암호화](/docs/tasks/administer-cluster/encrypt-data/)
* [쿠버네티스 시크릿](/ko/docs/concepts/configuration/secret/)
diff --git a/content/ko/docs/concepts/services-networking/dual-stack.md b/content/ko/docs/concepts/services-networking/dual-stack.md
index 844ff7bd2b..4206a2d9d4 100644
--- a/content/ko/docs/concepts/services-networking/dual-stack.md
+++ b/content/ko/docs/concepts/services-networking/dual-stack.md
@@ -94,7 +94,7 @@ IPv6가 활성화된 외부 로드 밸런서를 지원하는 클라우드 공급
## 이그레스 트래픽
-근본적으로 {{< glossary_tooltip text="CNI" term_id="cni" >}} 공급자가 전송을 구현할 수 있는 경우 공개적으로 라우팅 하거나 비공개 라우팅만 가능한 IPv6 주소 블록의 사용은 허용된다. 만약 비공개 라우팅만 가능한 IPv6를 사용하는 파드가 있고, 해당 파드가 오프 클러스터 목적지(예: 공용 인터넷)에 도달하기를 원하는 경우에는 이그레스 트래픽과 모든 응답을 위한 마스커레이딩 IP를 설정해야 한다. [ip-masq-agent](https://github.com/kubernetes-incubator/ip-masq-agent) 는 이중 스택을 인식하기에, 이중 스택 클러스터에서 마스커레이딩 IP에 ip-masq-agent 를 사용할 수 있다.
+근본적으로 {{< glossary_tooltip text="CNI" term_id="cni" >}} 공급자가 전송을 구현할 수 있는 경우 공개적으로 라우팅 하거나 비공개 라우팅만 가능한 IPv6 주소 블록의 사용은 허용된다. 만약 비공개 라우팅만 가능한 IPv6를 사용하는 파드가 있고, 해당 파드가 오프 클러스터 목적지(예: 공용 인터넷)에 도달하기를 원하는 경우에는 이그레스 트래픽과 모든 응답을 위한 마스커레이딩 IP를 설정해야 한다. [ip-masq-agent](https://github.com/kubernetes-sigs/ip-masq-agent)는 이중 스택을 인식하기에, 이중 스택 클러스터에서 마스커레이딩 IP에 ip-masq-agent를 사용할 수 있다.
## 알려진 이슈들
diff --git a/content/ko/docs/concepts/services-networking/ingress.md b/content/ko/docs/concepts/services-networking/ingress.md
index c4d18ada98..5b91356437 100644
--- a/content/ko/docs/concepts/services-networking/ingress.md
+++ b/content/ko/docs/concepts/services-networking/ingress.md
@@ -411,6 +411,13 @@ type: kubernetes.io/tls
TLS 시크릿이 `https-example.foo.com` 의 정규화 된 도메인 이름(FQDN)이라고
하는 일반 이름(CN)을 포함하는 인증서에서 온 것인지 확인해야 한다.
+{{< note >}}
+가능한 모든 하위 도메인에 대해 인증서가 발급되어야 하기 때문에
+TLS는 기본 규칙에서 작동하지 않는다. 따라서
+`tls` 섹션의 `hosts`는 `rules`섹션의 `host`와 명시적으로 일치해야
+한다.
+{{< /note >}}
+
{{< codenew file="service/networking/tls-example-ingress.yaml" >}}
{{< note >}}
diff --git a/content/ko/docs/concepts/storage/persistent-volumes.md b/content/ko/docs/concepts/storage/persistent-volumes.md
index 4cf129a3e6..a74dd45de6 100644
--- a/content/ko/docs/concepts/storage/persistent-volumes.md
+++ b/content/ko/docs/concepts/storage/persistent-volumes.md
@@ -177,27 +177,29 @@ spec:
퍼시스턴트볼륨이 존재하고 `claimRef` 필드를 통해 퍼시스턴트볼륨클레임을 예약하지 않은 경우, 퍼시스턴트볼륨 및 퍼시스턴트볼륨클레임이 바인딩된다.
바인딩은 노드 선호도(affinity)를 포함하여 일부 볼륨 일치(matching) 기준과 관계없이 발생한다.
-컨트롤 플레인은 여전히 [스토리지 클래스](https://kubernetes.io/ko/docs/concepts/storage/storage-classes/), 접근 모드 및 요청된 스토리지 크기가 유효한지 확인한다.
+컨트롤 플레인은 여전히 [스토리지 클래스](/ko/docs/concepts/storage/storage-classes/), 접근 모드 및 요청된 스토리지 크기가 유효한지 확인한다.
-```
+```yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: foo-pvc
namespace: foo
spec:
+ storageClassName: "" # 빈 문자열은 명시적으로 설정해야 하며 그렇지 않으면 기본 스토리지클래스가 설정됨
volumeName: foo-pv
...
```
이 메서드는 퍼시스턴트볼륨에 대한 바인딩 권한을 보장하지 않는다. 다른 퍼시스턴트볼륨클레임에서 지정한 PV를 사용할 수 있는 경우, 먼저 해당 스토리지 볼륨을 예약해야 한다. PV의 `claimRef` 필드에 관련 퍼시스턴트볼륨클레임을 지정하여 다른 PVC가 바인딩할 수 없도록 한다.
-```
+```yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: foo-pv
spec:
+ storageClassName: ""
claimRef:
name: foo-pvc
namespace: foo
diff --git a/content/ko/docs/concepts/storage/storage-classes.md b/content/ko/docs/concepts/storage/storage-classes.md
index 38d59b6fb0..7526aff98d 100644
--- a/content/ko/docs/concepts/storage/storage-classes.md
+++ b/content/ko/docs/concepts/storage/storage-classes.md
@@ -89,7 +89,7 @@ volumeBindingMode: Immediate
등에 대한 완전한 재량권을 가진다. [kubernetes-sigs/sig-storage-lib-external-provisioner](https://github.com/kubernetes-sigs/sig-storage-lib-external-provisioner)
리포지터리에는 대량의 사양을 구현하는 외부 프로비저너를 작성하기
위한 라이브러리가 있다. 일부 외부 프로비저너의 목록은
-[kubernetes-incubator/external-storage](https://github.com/kubernetes-incubator/external-storage) 리포지터리에 있다.
+[kubernetes-sigs/external-storage](https://github.com/kubernetes-sigs/external-dns) 리포지터리에 있다.
예를 들어, NFS는 내부 프로비저너를 제공하지 않지만, 외부
프로비저너를 사용할 수 있다. 타사 스토리지 업체가 자체 외부
diff --git a/content/ko/docs/concepts/storage/volume-snapshots.md b/content/ko/docs/concepts/storage/volume-snapshots.md
index 5ad5a938eb..5903905d59 100644
--- a/content/ko/docs/concepts/storage/volume-snapshots.md
+++ b/content/ko/docs/concepts/storage/volume-snapshots.md
@@ -24,6 +24,8 @@ API 리소스 `PersistentVolume` 및 `PersistentVolumeClaim` 가 사용자 및
`VolumeSnapshotClass` 을 사용하면 `VolumeSnapshot` 에 속한 다른 속성을 지정할 수 있다. 이러한 속성은 스토리지 시스템에의 동일한 볼륨에서 가져온 스냅샷마다 다를 수 있으므로 `PersistentVolumeClaim` 의 `StorageClass` 를 사용하여 표현할 수는 없다.
+볼륨 스냅샷은 쿠버네티스 사용자에게 완전히 새로운 볼륨을 생성하지 않고도 특정 시점에 볼륨의 콘텐츠를 복사하는 표준화된 방법을 제공한다. 예를 들어, 데이터베이스 관리자는 이 기능을 사용하여 수정 사항을 편집 또는 삭제하기 전에 데이터베이스를 백업할 수 있다.
+
사용자는 이 기능을 사용할 때 다음 사항을 알고 있어야 한다.
* API 객체인 `VolumeSnapshot`, `VolumeSnapshotContent`, `VolumeSnapshotClass` 는 핵심 API가 아닌, {{< glossary_tooltip term_id="CustomResourceDefinition" text="CRDs" >}}이다.
diff --git a/content/ko/docs/concepts/storage/volumes.md b/content/ko/docs/concepts/storage/volumes.md
index 9077eec5d2..d89c0b7241 100644
--- a/content/ko/docs/concepts/storage/volumes.md
+++ b/content/ko/docs/concepts/storage/volumes.md
@@ -7,13 +7,14 @@ weight: 10
컨테이너 내의 디스크에 있는 파일은 임시적이며, 컨테이너에서 실행될 때
-애플리케이션에 적지 않은 몇 가지 문제가 발생한다. 첫째, 컨테이너가 충돌되면,
-kubelet은 컨테이너를 재시작시키지만, 컨테이너는 깨끗한 상태로
-시작되기 때문에 기존 파일이 유실된다. 둘째, `파드` 에서 컨테이너를 함께 실행할 때
-컨테이너 사이에 파일을 공유해야 하는 경우가 자주 발생한다. 쿠버네티스의
-`볼륨` 추상화는 이 두 가지 문제를 모두 해결한다.
+애플리케이션에 적지 않은 몇 가지 문제가 발생한다. 한 가지 문제는
+컨테이너가 크래시될 때 파일이 손실된다는 것이다. kubelet은 컨테이너를 다시 시작하지만
+초기화된 상태이다. 두 번째 문제는 `Pod`에서 같이 실행되는 컨테이너간에
+파일을 공유할 때 발생한다.
+쿠버네티스 {{< glossary_tooltip text="볼륨" term_id="volume" >}} 추상화는
+이러한 문제를 모두 해결한다.
-[파드](/ko/docs/concepts/workloads/pods/pod/)에 대해 익숙해지는 것을 추천한다.
+[파드](/ko/docs/concepts/workloads/pods/)에 대해 익숙해지는 것을 추천한다.
@@ -21,86 +22,47 @@ kubelet은 컨테이너를 재시작시키지만, 컨테이너는 깨끗한 상
도커는 다소 느슨하고, 덜 관리되지만
[볼륨](https://docs.docker.com/storage/)이라는
-개념을 가지고 있다. 도커에서 볼륨은 단순한 디스크 내 디렉터리 또는
-다른 컨테이너에 있는 디렉터리다. 수명은 관리되지 않으며 최근까지는
-로컬 디스크 백업 볼륨만 있었다. 도커는 이제 볼륨 드라이버를
-제공하지만, 현재 기능은 매우 제한되어 있다(예: 도커 1.7부터
-컨테이너 당 하나의 볼륨 드라이버만 허용되고 매개 변수를 볼륨에
-전달할 방법이 없다).
+개념을 가지고 있다. 도커 볼륨은 디스크에 있는 디렉터리이거나
+다른 컨테이너에 있다. 도커는 볼륨
+드라이버를 제공하지만, 기능이 다소 제한된다.
-반면에, 쿠버네티스 볼륨은 그것을 둘러싼 파드와
-동일한 명시적인 수명을 가진다. 그 결과로, 볼륨은 파드 내에서 실행되는 모든 컨테이너보다
-수명이 길고, 컨테이너를 다시 시작해도 데이터가 보존된다. 물론 파드가
-존재하지 않으면, 볼륨도 존재하지 않는다. 이보다 더 중요한 것은
-쿠버네티스가 많은 유형의 볼륨을 지원하고, 파드는
-여러 볼륨을 동시에 사용할 수 있다.
+쿠버네티스는 다양한 유형의 볼륨을 지원한다. {{< glossary_tooltip term_id="pod" text="파드" >}}는
+여러 볼륨 유형을 동시에 사용할 수 있다.
+임시 볼륨 유형은 파드의 수명을 갖지만, 퍼시스턴트 볼륨은
+파드의 수명을 넘어 존재한다. 결과적으로, 볼륨은 파드 내에서
+실행되는 모든 컨테이너보다 오래 지속되며, 컨테이너를 다시 시작해도 데이터가 보존된다. 파드가
+더 이상 존재하지 않으면, 볼륨은 삭제된다.
기본적으로 볼륨은 디렉터리일 뿐이며, 일부 데이터가 있을 수 있으며, 파드
-내 컨테이너에서 접근할 수 있다. 디렉터리의 생성 방식, 이를 지원하는
+내 컨테이너에서 접근할 수 있다. 디렉터리의 생성 방식, 이를 지원하는
매체와 내용은 사용된 특정 볼륨의 유형에 따라
결정된다.
-볼륨을 사용하기 위해 파드는 파드에 제공할 볼륨(
-`.spec.volumes`
-필드)과 컨테이너에 마운트 할 위치(
-`.spec.containers[*].volumeMounts`
-필드)를 지정한다.
+볼륨을 사용하려면, `.spec.volumes` 에서 파드에 제공할 볼륨을 지정하고
+`.spec.containers[*].volumeMounts` 의 컨테이너에 해당 볼륨을 마운트할 위치를 선언한다.
-컨테이너 내 프로세스는 도커 이미지와 볼륨으로 구성된 파일시스템 뷰를
-본다. [도커
-이미지](https://docs.docker.com/userguide/dockerimages/)는 파일
-시스템 계층의 루트에 있으며 모든 볼륨은 이미지 내에 지정된 경로에
-마운트된다. 볼륨은 다른 볼륨에 마운트할 수 없거나 다른 볼륨에 대한 하드 링크를
-가질 수 없다. 파드 내 각각의 컨테이너는 각각의 볼륨을 마운트 할 위치를 독립적으로
+컨테이너의 프로세스는 도커 이미지와 볼륨으로 구성된 파일시스템
+뷰를 본다. [도커 이미지](https://docs.docker.com/userguide/dockerimages/)는
+파일시스템 계층의 루트에 있다. 볼륨은 이미지 내에 지정된 경로에
+마운트된다. 볼륨은 다른 볼륨에 마운트할 수 없거나 다른 볼륨에 대한 하드 링크를
+가질 수 없다. 파드 구성의 각 컨테이너는 각 볼륨을 마운트할 위치를 독립적으로
지정해야 한다.
-## 볼륨 유형들
+## 볼륨 유형들 {#volume-types}
쿠버네티스는 여러 유형의 볼륨을 지원한다.
- * [awsElasticBlockStore](#awselasticblockstore)
- * [azureDisk](#azuredisk)
- * [azureFile](#azurefile)
- * [cephfs](#cephfs)
- * [cinder](#cinder)
- * [configMap](#configmap)
- * [csi](#csi)
- * [downwardAPI](#downwardapi)
- * [emptyDir](#emptydir)
- * [fc (파이버 채널)](#fc)
- * [flexVolume](#flexVolume)
- * [flocker](#flocker)
- * [gcePersistentDisk](#gcepersistentdisk)
- * [gitRepo (사용중단(deprecated))](#gitrepo)
- * [glusterfs](#glusterfs)
- * [hostPath](#hostpath)
- * [iscsi](#iscsi)
- * [local](#local)
- * [nfs](#nfs)
- * [persistentVolumeClaim](#persistentvolumeclaim)
- * [projected](#projected)
- * [portworxVolume](#portworxvolume)
- * [quobyte](#quobyte)
- * [rbd](#rbd)
- * [scaleIO](#scaleio)
- * [secret](#secret)
- * [storageos](#storageos)
- * [vsphereVolume](#vspherevolume)
-
-우리는 추가 기여를 환영한다.
-
### awsElasticBlockStore {#awselasticblockstore}
-`awsElasticBlockStore` 볼륨은 아마존 웹 서비스 (AWS) [EBS
-볼륨](https://aws.amazon.com/ebs/)을 파드에 마운트 한다. 파드를
+`awsElasticBlockStore` 볼륨은 아마존 웹 서비스 (AWS)
+[EBS 볼륨](https://aws.amazon.com/ebs/)을 파드에 마운트 한다. 파드를
제거할 때 지워지는 `emptyDir` 와는 다르게 EBS 볼륨의
-내용은 유지되고, 볼륨은 마운트 해제만 된다. 이 의미는 EBS 볼륨에
-데이터를 미리 채울 수 있으며, 파드간에 데이터를 "전달(handed off)"
-할 수 있다.
+내용은 유지되고, 볼륨은 마운트 해제만 된다. 이 의미는 EBS 볼륨에
+데이터를 미리 채울 수 있으며, 파드 간에 데이터를 "전달(handed off)"할 수 있다.
-{{< caution >}}
+{{< note >}}
이를 사용하려면 먼저 `aws ec2 create-volume` 또는 AWS API를 사용해서 EBS 볼륨을 생성해야 한다.
-{{< /caution >}}
+{{< /note >}}
`awsElasticBlockStore` 볼륨을 사용할 때 몇 가지 제한이 있다.
@@ -108,7 +70,7 @@ kubelet은 컨테이너를 재시작시키지만, 컨테이너는 깨끗한 상
* 이러한 인스턴스는 EBS 볼륨과 동일한 지역과 가용성 영역에 있어야 함
* EBS는 볼륨을 마운트하는 단일 EC2 인스턴스만 지원함
-#### EBS 볼륨 생성하기
+#### AWS EBS 볼륨 생성하기
파드와 함께 EBS 볼륨을 사용하려면, 먼저 EBS 볼륨을 생성해야 한다.
@@ -116,8 +78,8 @@ kubelet은 컨테이너를 재시작시키지만, 컨테이너는 깨끗한 상
aws ec2 create-volume --availability-zone=eu-west-1a --size=10 --volume-type=gp2
```
-클러스터를 띄운 영역과 생성하는 영역이 일치하는지 확인한다. (그리고 크기와 EBS 볼륨 유형이
-사용에 적합한지 확인한다!)
+클러스터를 띄운 영역과 생성하는 영역이 일치하는지 확인한다. 크기와 EBS 볼륨 유형이
+사용에 적합한지 확인한다.
#### AWS EBS 구성 예시
@@ -137,37 +99,38 @@ spec:
- name: test-volume
# 이 AWS EBS 볼륨은 이미 존재해야 한다.
awsElasticBlockStore:
- volumeID:
+
+
+
+
diff --git a/content/ko/docs/reference/command-line-tools-reference/kubelet-authentication-authorization.md b/content/ko/docs/reference/command-line-tools-reference/kubelet-authentication-authorization.md
index 61f0b35d1f..6f9060dba4 100644
--- a/content/ko/docs/reference/command-line-tools-reference/kubelet-authentication-authorization.md
+++ b/content/ko/docs/reference/command-line-tools-reference/kubelet-authentication-authorization.md
@@ -5,7 +5,7 @@ title: Kubelet 인증/인가
## 개요
-kubelet의 HTTPS 엔드포인트는 다양한 민감도의 데이터에 대한 접근을 노출시키며,
+kubelet의 HTTPS 엔드포인트는 다양한 민감도의 데이터에 대한 접근을 제공하는 API를 노출하며,
노드와 컨테이너 내에서 다양한 수준의 권한으로 작업을 수행할 수 있도록 허용한다.
이 문서는 kubelet의 HTTPS 엔드포인트에 대한 접근을 인증하고 인가하는 방법을 설명한다.
diff --git a/content/ko/docs/reference/glossary/container-lifecycle-hooks.md b/content/ko/docs/reference/glossary/container-lifecycle-hooks.md
new file mode 100644
index 0000000000..7b1ebd27a4
--- /dev/null
+++ b/content/ko/docs/reference/glossary/container-lifecycle-hooks.md
@@ -0,0 +1,17 @@
+---
+title: 컨테이너 라이프사이클 훅(Container Lifecycle Hooks)
+id: container-lifecycle-hooks
+date: 2018-10-08
+full_link: /ko/docs/concepts/containers/container-lifecycle-hooks/
+short_description: >
+ 라이프사이클 훅은 컨테이너 관리 라이프사이클에 이벤트를 노출하고 이벤트가 발생할 때 사용자가 코드를 실행할 수 있도록 한다.
+
+aka:
+tags:
+- extension
+---
+ 라이프사이클 훅은 {{< glossary_tooltip text="컨테이너" term_id="container" >}} 관리 라이프사이클에 이벤트를 노출하고 이벤트가 발생할 때 사용자가 코드를 실행할 수 있도록 한다.
+
+
+
+컨테이너에는 두 개의 훅(컨테이너가 생성된 직후에 실행되는 PostStart와 컨테이너가 종료되기 직전에 차단되고 호출되는 PreStop)이 노출된다.
diff --git a/content/ko/docs/reference/glossary/container.md b/content/ko/docs/reference/glossary/container.md
index 2420a42112..9d01041f9e 100755
--- a/content/ko/docs/reference/glossary/container.md
+++ b/content/ko/docs/reference/glossary/container.md
@@ -2,7 +2,7 @@
title: 컨테이너(Container)
id: container
date: 2018-04-12
-full_link: /ko/docs/concepts/overview/what-is-kubernetes/#왜-컨테이너인가
+full_link: /ko/docs/concepts/containers/
short_description: >
소프트웨어와 그것에 종속된 모든 것을 포함한 가볍고 휴대성이 높은 실행 가능 이미지.
diff --git a/content/ko/docs/reference/kubectl/jsonpath.md b/content/ko/docs/reference/kubectl/jsonpath.md
new file mode 100644
index 0000000000..4a910829f8
--- /dev/null
+++ b/content/ko/docs/reference/kubectl/jsonpath.md
@@ -0,0 +1,113 @@
+---
+title: JSONPath 지원
+content_type: concept
+weight: 25
+---
+
+
+Kubectl은 JSONPath 템플릿을 지원한다.
+
+
+
+
+JSONPath 템플릿은 중괄호 {}로 둘러싸인 JSONPath 표현식으로 구성된다.
+Kubectl은 JSONPath 표현식을 사용하여 JSON 오브젝트의 특정 필드를 필터링하고 출력 형식을 지정한다.
+원본 JSONPath 템플릿 구문 외에도 다음과 같은 기능과 구문이 유효하다.
+
+1. 큰따옴표를 사용하여 JSONPath 표현식 내부의 텍스트를 인용한다.
+2. 목록을 반복하려면 `range`, `end` 오퍼레이터를 사용한다.
+3. 목록에서 뒤로 이동하려면 negative slice 인덱스를 사용한다. negative 인덱스는 목록을 "순환(wrap around)" 하지 않으며, `-index + listLength >= 0` 인 한 유효하다.
+
+{{< note >}}
+
+- 표현식은 항상 루트 오브젝트에서 시작하므로 `$` 오퍼레이터는 선택 사항이다.
+
+- 결과 오브젝트는 String() 함수로 출력된다.
+
+{{< /note >}}
+
+JSON 입력 시 다음과 같다.
+
+```json
+{
+ "kind": "List",
+ "items":[
+ {
+ "kind":"None",
+ "metadata":{"name":"127.0.0.1"},
+ "status":{
+ "capacity":{"cpu":"4"},
+ "addresses":[{"type": "LegacyHostIP", "address":"127.0.0.1"}]
+ }
+ },
+ {
+ "kind":"None",
+ "metadata":{"name":"127.0.0.2"},
+ "status":{
+ "capacity":{"cpu":"8"},
+ "addresses":[
+ {"type": "LegacyHostIP", "address":"127.0.0.2"},
+ {"type": "another", "address":"127.0.0.3"}
+ ]
+ }
+ }
+ ],
+ "users":[
+ {
+ "name": "myself",
+ "user": {}
+ },
+ {
+ "name": "e2e",
+ "user": {"username": "admin", "password": "secret"}
+ }
+ ]
+}
+```
+
+Function | Description | Example | Result
+--------------------|---------------------------|-----------------------------------------------------------------|------------------
+`text` | 일반 텍스트 | `kind is {.kind}` | `kind is List`
+`@` | 현재 오브젝트 | `{@}` | 입력과 동일
+`.` or `[]` | 자식 오퍼레이터 | `{.kind}`, `{['kind']}` or `{['name\.type']}` | `List`
+`..` | 재귀 하향(recursive descent)| `{..name}` | `127.0.0.1 127.0.0.2 myself e2e`
+`*` | 와일드 카드. 모든 오브젝트 가져오기 | `{.items[*].metadata.name}` | `[127.0.0.1 127.0.0.2]`
+`[start:end:step]` | 아래 첨자 오퍼레이터 | `{.users[0].name}` | `myself`
+`[,]` | 조합 오퍼레이터 | `{.items[*]['metadata.name', 'status.capacity']}` | `127.0.0.1 127.0.0.2 map[cpu:4] map[cpu:8]`
+`?()` | 필터 | `{.users[?(@.name=="e2e")].user.password}` | `secret`
+`range`, `end` | 반복 목록 | `{range .items[*]}[{.metadata.name}, {.status.capacity}] {end}` | `[127.0.0.1, map[cpu:4]] [127.0.0.2, map[cpu:8]]`
+`''` | 해석된 문자열 인용 | `{range .items[*]}{.metadata.name}{'\t'}{end}` | `127.0.0.1 127.0.0.2`
+
+`kubectl` 및 JSONPath 표현식을 사용하는 예는 다음과 같다.
+
+```shell
+kubectl get pods -o json
+kubectl get pods -o=jsonpath='{@}'
+kubectl get pods -o=jsonpath='{.items[0]}'
+kubectl get pods -o=jsonpath='{.items[0].metadata.name}'
+kubectl get pods -o=jsonpath="{.items[*]['metadata.name', 'status.capacity']}"
+kubectl get pods -o=jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.status.startTime}{"\n"}{end}'
+```
+
+{{< note >}}
+윈도우에서 공백이 포함된 JSONPath 템플릿을 큰따옴표(위의 bash에 표시된 작은따옴표가 아님)로 묶어야 한다. 즉, 템플릿의 모든 문자 주변에 작은따옴표 또는 이스케이프된 큰따옴표를 사용해야 한다. 예를 들면, 다음과 같다.
+
+```cmd
+kubectl get pods -o=jsonpath="{range .items[*]}{.metadata.name}{'\t'}{.status.startTime}{'\n'}{end}"
+kubectl get pods -o=jsonpath="{range .items[*]}{.metadata.name}{\"\t\"}{.status.startTime}{\"\n\"}{end}"
+```
+{{< /note >}}
+
+{{< note >}}
+
+JSONPath 정규식은 지원되지 않는다. 정규 표현식을 이용해 매치하려면 `jq`와 같은 도구를 사용하면 된다.
+
+```shell
+# kubectl은 JSONPath 출력에 대한 정규 표현식을 지원하지 않는다.
+# 다음 커맨드는 작동하지 않는다.
+kubectl get pods -o jsonpath='{.items[?(@.metadata.name=~/^test$/)].metadata.name}'
+
+# 다음 커맨드는 원하는 결과를 얻는다.
+kubectl get pods -o json | jq -r '.items[] | select(.metadata.name | test("test-")).spec.containers[].image'
+```
+{{< /note >}}
diff --git a/content/ko/docs/reference/scheduling/config.md b/content/ko/docs/reference/scheduling/config.md
new file mode 100644
index 0000000000..0f3f120d77
--- /dev/null
+++ b/content/ko/docs/reference/scheduling/config.md
@@ -0,0 +1,253 @@
+---
+title: 스케줄러 구성
+content_type: concept
+weight: 20
+---
+
+{{< feature-state for_k8s_version="v1.19" state="beta" >}}
+
+구성 파일을 작성하고 해당 경로를 커맨드 라인 인수로 전달하여
+`kube-scheduler` 의 동작을 사용자 정의할 수 있다.
+
+
+
+
+
+스케줄링 프로파일(Profile)을 사용하면 {{< glossary_tooltip text="kube-scheduler" term_id="kube-scheduler" >}}에서
+여러 단계의 스케줄링을 구성할 수 있다.
+각 단계는 익스텐션 포인트(extension point)를 통해 노출된다. 플러그인은 이러한
+익스텐션 포인트 중 하나 이상을 구현하여 스케줄링 동작을 제공한다.
+
+컴포넌트 구성 API([`v1alpha1`](https://pkg.go.dev/k8s.io/kube-scheduler@v0.18.0/config/v1alpha1?tab=doc#KubeSchedulerConfiguration)
+또는 [`v1alpha2`](https://pkg.go.dev/k8s.io/kube-scheduler@v0.18.0/config/v1alpha2?tab=doc#KubeSchedulerConfiguration))를
+사용하고, `kube-scheduler --config
+
+--azure-container-registry-config string
+
+
+
+Azure 컨테이너 레지스트리 구성 정보가 들어 있는 파일의 경로.
+
+
+--bind-address ip 기본값: 0.0.0.0
+
+
+
+프록시 서버가 서비스할 IP 주소(모든 IPv4 인터페이스의 경우 '0.0.0.0'으로 설정, 모든 IPv6 인터페이스의 경우 '::'로 설정)
+
+
+--bind-address-hard-fail
+
+
+
+true인 경우 kube-proxy는 포트 바인딩 실패를 치명적인 것으로 간주하고 종료한다.
+
+
+--cleanup
+
+
+
+true인 경우 iptables 및 ipvs 규칙을 제거하고 종료한다.
+
+
+--cluster-cidr string
+
+
+
+클러스터에 있는 파드의 CIDR 범위. 구성 후에는 이 범위 밖에서 서비스 클러스터 IP로 전송되는 트래픽은 마스커레이드되고 파드에서 외부 LoadBalancer IP로 전송된 트래픽은 대신 해당 클러스터 IP로 전송된다
+
+
+--config string
+
+
+
+설정 파일의 경로.
+
+
+--config-sync-period duration 기본값: 15m0s
+
+
+
+apiserver의 설정이 갱신되는 빈도. 0보다 커야 한다.
+
+
+--conntrack-max-per-core int32 기본값: 32768
+
+
+
+CPU 코어당 추적할 최대 NAT 연결 수(한도(limit)를 그대로 두고 contrack-min을 무시하려면 0으로 설정한다)(
+
+
+--conntrack-min int32 기본값: 131072
+
+
+
+conntrack-max-per-core와 관계없이 할당할 최소 conntrack 항목 수(한도를 그대로 두려면 conntrack-max-per-core값을 0으로 설정).
+
+
+--conntrack-tcp-timeout-close-wait duration 기본값: 1h0m0s
+
+
+
+CLOSE_WAIT 상태의 TCP 연결에 대한 NAT 시간 초과
+
+
+--conntrack-tcp-timeout-established duration 기본값: 24h0m0s
+
+
+
+설정된 TCP 연결에 대한 유휴시간 초과(값이 0이면 그대로 유지)
+
+
+--detect-local-mode LocalMode
+
+
+
+로컬 트래픽을 탐지하는 데 사용할 모드
+
+
+--feature-gates mapStringBool
+
+
+
+알파/실험 기능에 대한 기능 게이트를 설명하는 키=값 쌍 집합. 옵션은 다음과 같다.
+
APIListChunking=true|false (BETA - 기본값=true)
APIPriorityAndFairness=true|false (ALPHA - 기본값=false)
APIResponseCompression=true|false (BETA - 기본값=true)
AllAlpha=true|false (ALPHA - 기본값=false)
AllBeta=true|false (BETA - 기본값=false)
AllowInsecureBackendProxy=true|false (BETA - 기본값=true)
AnyVolumeDataSource=true|false (ALPHA - 기본값=false)
AppArmor=true|false (BETA - 기본값=true)
BalanceAttachedNodeVolumes=true|false (ALPHA - 기본값=false)
BoundServiceAccountTokenVolume=true|false (ALPHA - 기본값=false)
CPUManager=true|false (BETA - 기본값=true)
CRIContainerLogRotation=true|false (BETA - 기본값=true)
CSIInlineVolume=true|false (BETA - 기본값=true)
CSIMigration=true|false (BETA - 기본값=true)
CSIMigrationAWS=true|false (BETA - 기본값=false)
CSIMigrationAWSComplete=true|false (ALPHA - 기본값=false)
CSIMigrationAzureDisk=true|false (BETA - 기본값=false)
CSIMigrationAzureDiskComplete=true|false (ALPHA - 기본값=false)
CSIMigrationAzureFile=true|false (ALPHA - 기본값=false)
CSIMigrationAzureFileComplete=true|false (ALPHA - 기본값=false)
CSIMigrationGCE=true|false (BETA - 기본값=false)
CSIMigrationGCEComplete=true|false (ALPHA - 기본값=false)
CSIMigrationOpenStack=true|false (BETA - 기본값=false)
CSIMigrationOpenStackComplete=true|false (ALPHA - 기본값=false)
CSIMigrationvSphere=true|false (BETA - 기본값=false)
CSIMigrationvSphereComplete=true|false (BETA - 기본값=false)
CSIStorageCapacity=true|false (ALPHA - 기본값=false)
CSIVolumeFSGroupPolicy=true|false (ALPHA - 기본값=false)
ConfigurableFSGroupPolicy=true|false (ALPHA - 기본값=false)
CustomCPUCFSQuotaPeriod=true|false (ALPHA - 기본값=false)
DefaultPodTopologySpread=true|false (ALPHA - 기본값=false)
DevicePlugins=true|false (BETA - 기본값=true)
DisableAcceleratorUsageMetrics=true|false (ALPHA - 기본값=false)
DynamicKubeletConfig=true|false (BETA - 기본값=true)
EndpointSlice=true|false (BETA - 기본값=true)
EndpointSliceProxying=true|false (BETA - 기본값=true)
EphemeralContainers=true|false (ALPHA - 기본값=false)
ExpandCSIVolumes=true|false (BETA - 기본값=true)
ExpandInUsePersistentVolumes=true|false (BETA - 기본값=true)
ExpandPersistentVolumes=true|false (BETA - 기본값=true)
ExperimentalHostUserNamespaceDefaulting=true|false (BETA - 기본값=false)
GenericEphemeralVolume=true|false (ALPHA - 기본값=false)
HPAScaleToZero=true|false (ALPHA - 기본값=false)
HugePageStorageMediumSize=true|false (BETA - 기본값=true)
HyperVContainer=true|false (ALPHA - 기본값=false)
IPv6DualStack=true|false (ALPHA - 기본값=false)
ImmutableEphemeralVolumes=true|false (BETA - 기본값=true)
KubeletPodResources=true|false (BETA - 기본값=true)
LegacyNodeRoleBehavior=true|false (BETA - 기본값=true)
LocalStorageCapacityIsolation=true|false (BETA - 기본값=true)
LocalStorageCapacityIsolationFSQuotaMonitoring=true|false (ALPHA - 기본값=false)
NodeDisruptionExclusion=true|false (BETA - 기본값=true)
NonPreemptingPriority=true|false (BETA - 기본값=true)
PodDisruptionBudget=true|false (BETA - 기본값=true)
PodOverhead=true|false (BETA - 기본값=true)
ProcMountType=true|false (ALPHA - 기본값=false)
QOSReserved=true|false (ALPHA - 기본값=false)
RemainingItemCount=true|false (BETA - 기본값=true)
RemoveSelfLink=true|false (ALPHA - 기본값=false)
RotateKubeletServerCertificate=true|false (BETA - 기본값=true)
RunAsGroup=true|false (BETA - 기본값=true)
RuntimeClass=true|false (BETA - 기본값=true)
SCTPSupport=true|false (BETA - 기본값=true)
SelectorIndex=true|false (BETA - 기본값=true)
ServerSideApply=true|false (BETA - 기본값=true)
ServiceAccountIssuerDiscovery=true|false (ALPHA - 기본값=false)
ServiceAppProtocol=true|false (BETA - 기본값=true)
ServiceNodeExclusion=true|false (BETA - 기본값=true)
ServiceTopology=true|false (ALPHA - 기본값=false)
SetHostnameAsFQDN=true|false (ALPHA - 기본값=false)
StartupProbe=true|false (BETA - 기본값=true)
StorageVersionHash=true|false (BETA - 기본값=true)
SupportNodePidsLimit=true|false (BETA - 기본값=true)
SupportPodPidsLimit=true|false (BETA - 기본값=true)
Sysctls=true|false (BETA - 기본값=true)
TTLAfterFinished=true|false (ALPHA - 기본값=false)
TokenRequest=true|false (BETA - 기본값=true)
TokenRequestProjection=true|false (BETA - 기본값=true)
TopologyManager=true|false (BETA - 기본값=true)
ValidateProxyRedirects=true|false (BETA - 기본값=true)
VolumeSnapshotDataSource=true|false (BETA - 기본값=true)
WarningHeaders=true|false (BETA - 기본값=true)
WinDSR=true|false (ALPHA - 기본값=false)
WinOverlay=true|false (ALPHA - 기본값=false)
WindowsEndpointSliceProxying=true|false (ALPHA - 기본값=false)
+
+--healthz-bind-address ipport 기본값: 0.0.0.0:10256
+
+
+
+헬스 체크 서버가 서비스할 포트가 있는 IP 주소(모든 IPv4의 인터페이스의 경우 '0.0.0.0:10256', 모든 IPv6의 인터페이스인 경우 '[::]:10256'로 설정). 사용 안 할 경우 빈칸으로 둠.
+
+
+-h, --help
+
+
+
+kube-proxy에 대한 도움말.
+
+
+--hostname-override string
+
+
+
+문자열 값이 있으면, 이 값을 실제 호스트네임 대신에 ID로 사용한다.
+
+
+--iptables-masquerade-bit int32 기본값: 14
+
+
+
+순수 iptable 프록시를 사용하는 경우 SNAT가 필요한 패킷을 표시하는 fwmark 스페이스 비트. [0, 31] 범위 안에 있어야 한다.
+
+
+--iptables-min-sync-period duration 기본값: 1s
+
+
+
+엔드포인트 및 서비스가 변경될 때 iptable 규칙을 새로 고칠 수 있는 빈도의 최소 간격(예: '5s', '1m', '2h22m').
+
+
+--iptables-sync-period duration 기본값: 30s
+
+
+
+iptable 규칙을 새로 고치는 빈도의 최대 간격(예: '5s', '1m', '2h22m'). 0 보다 커야 한다.
+
+
+--ipvs-exclude-cidrs stringSlice
+
+
+
+IPVS 규칙을 정리할 때 ipvs 프록시가 건드리지 않아야 하는 쉼표로 구분된 CIDR 목록.
+
+
+--ipvs-min-sync-period duration
+
+
+
+엔드포인트 및 서비스가 변경될 때 ipvs 규칙을 새로 고칠 수 있는 빈도의 최소 간격(예: '5s', '1m', '2h22m').
+
+
+--ipvs-scheduler string
+
+
+
+프록시 모드가 ipvs인 경우 ipvs 스케줄러 유형.
+
+
+--ipvs-strict-arp
+
+
+
+arp_ignore를 1로 설정하고 arp_annotes를 2로 설정하여 엄격한 ARP를 사용.
+
+
+--ipvs-sync-period duration 기본값: 30s
+
+
+
+ipvs 규칙이 새로 갱신되는 빈도의 최대 간격(예: '5s', '1m', '2h22m'). 0 보다 커야 한다.
+
+
+--ipvs-tcp-timeout duration
+
+
+
+유휴 IPVS TCP 연결에 대한 시간 초과. 0이면 그대로 유지(예: '5s', '1m', '2h22m').
+
+
+--ipvs-tcpfin-timeout duration
+
+
+
+FIN 패킷을 수신한 후 IPVS TCP 연결에 대한 시간 초과. 0이면 그대로 유지(예: '5s', '1m', '2h22m').
+
+
+--ipvs-udp-timeout duration
+
+
+
+IPVS UDP 패킷에 대한 시간 초과. 0이면 그대로 유지(예: '5s', '1m', '2h22m').
+
+
+--kube-api-burst int32 기본값: 10
+
+
+
+쿠버네티스 api 서버와 통신하는 동안 사용할 burst.
+
+
+--kube-api-content-type string 기본값: "application/vnd.kubernetes.protobuf"
+
+
+
+api 서버에 보낸 요청의 내용 유형.
+
+
+--kube-api-qps float32 기본값: 5
+
+
+
+쿠버네티스 api 서버와 통신할 때 사용할 QPS.
+
+
+--kubeconfig string
+
+
+
+인증 정보가 있는 kubeconfig 파일의 경로(마스터 위치는 마스터 플래그로 설정됨).
+
+
+--log-flush-frequency duration 기본값: 5s
+
+
+
+로그 플러시 사이의 최대 시간
+
+
+--masquerade-all
+
+
+
+순수 iptables 프록시를 사용하는 경우 서비스 클러스터 IP를 통해 전송된 모든 트래픽을 SNAT함(일반적으로 필요하지 않음).
+
+
+--master string
+
+
+
+쿠버네티스 API 서버의 주소(kubeconfig의 모든 값 덮어쓰기).
+
+
+--metrics-bind-address ipport 기본값: 127.0.0.1:10249
+
+
+
+메트릭 서버가 서비스할 포트가 있는 IP 주소(모든 IPv4 인터페이스의 경우 '0.0.0.0:10249', 모든 IPv6 인터페이스의 경우 '[::]:10249'로 설정됨). 사용하지 않으려면 비워둘 것.
+
+
+--nodeport-addresses stringSlice
+
+
+
+NodePort에 사용할 주소를 지정하는 값의 문자열 조각. 값은 유효한 IP 블록(예: 1.2.3.0/24, 1.2.3.4/32). 기본값인 빈 문자열 조각값은([]) 모든 로컬 주소를 사용하는 것을 의미한다.
+
+
+--oom-score-adj int32 기본값: -999
+
+
+
+kube-proxy 프로세스에 대한 oom-score-adj 값. 값은 [-1000, 1000] 범위 내에 있어야 한다.
+
+
+--profiling
+
+
+
+값이 true이면 /debug/pprof 핸들러에서 웹 인터페이스를 통한 프로파일링을 활성화한다.
+
+
+--proxy-mode ProxyMode
+
+
+
+사용할 프록시 모드: 'userspace' (이전) or 'iptables' (빠름) or 'ipvs' or 'kernelspace' (윈도우). 공백인 경우 가장 잘 사용할 수 있는 프록시(현재는 iptables)를 사용한다. iptables 프록시를 선택했지만, 시스템의 커널 또는 iptables 버전이 맞지 않으면, 항상 userspace 프록시로 변경된다.
+
+
+--proxy-port-range port-range
+
+
+
+서비스 트래픽을 프록시하기 위해 사용할 수 있는 호스트 포트 범위(beginPort-endPort, single port 또는 beginPort+offset 포함). 만약 범위가 0, 0-0, 혹은 지정되지 않으면, 포트는 무작위로 선택된다.
+
+
+--show-hidden-metrics-for-version string
+
+
+
+숨겨진 메트릭을 표시할 이전 버전.
+
+
+--udp-timeout duration 기본값: 250ms
+
+
+
+유휴 UDP 연결이 열린 상태로 유지되는 시간(예: '250ms', '2s'). 값은 0보다 커야 한다. 프록시 모드 userspace에만 적용 가능함.
+
+
+--version version[=true]
+
+
+
+버전 정보를 인쇄하고 종료.
+
+
+--write-config-to string
+
+
+
+
+기본 구성 값을 이 파일에 옮겨쓰고 종료한다.
+Windows Container Web Server
' ;$$callerCountsString='' ;$$callerCounts.Keys | % { $$callerCountsString+='Windows Container Web Server
' ;$$callerCountsString='' ;$$callerCounts.Keys | % { $$callerCountsString+='
- Weź udział w wirtualnym KubeCon EU 17-20.08.2020
+ Weź udział w wirtualnym KubeCon NA, 17-20.11.2020
- Weź udział w wirtualnym KubeCon NA w 17-20.11.2020
+ Weź udział w wirtualnym KubeCon EU 4–7.05.2021
+
-W Kubernetes zaimplementowany jest alternatywny format serializacji na potrzeby API oparty o Protobuf, który jest przede wszystkim przeznaczony na potrzeby wewnętrznej komunikacji w klastrze i opisany w [design proposal](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/protobuf.md). Pliki IDL dla każdego ze schematów można znaleźć w pakietach Go, które definiują obiekty API.
+W Kubernetesie zaimplementowany jest alternatywny format serializacji na potrzeby API oparty o Protobuf,
+który jest przede wszystkim przeznaczony na potrzeby wewnętrznej komunikacji w klastrze
+i opisany w [design proposal](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/protobuf.md).
+Pliki IDL dla każdego ze schematów można znaleźć w pakietach Go, które definiują obiekty API.
-## Obsługa wersji API
+## Zmiany API
+
+Z naszego doświadczenia wynika, że każdy system, który odniósł sukces, musi się nieustająco rozwijać w miarę zmieniających się potrzeb.
+Dlatego Kubernetes został tak zaprojektowany, aby API mogło się zmieniać i rozrastać.
+Projekt Kubernetes dąży do tego, aby nie wprowadzać zmian niezgodnych z istniejącymi aplikacjami klienckimi
+i utrzymywać zgodność przez wystarczająco długi czas, aby inne projekty zdążyły się dostosować do zmian.
+
+W ogólności, nowe zasoby i pola definiujące zasoby API są dodawane stosunkowo często. Usuwanie zasobów lub pól
+jest regulowane przez [API deprecation policy](/docs/reference/using-api/deprecation-policy/).
+Definicja zmiany zgodnej (kompatybilnej) oraz metody wprowadzania zmian w API opisano w szczegółach
+w [API change document](https://git.k8s.io/community/contributors/devel/sig-architecture/api_changes.md).
+
+## Grupy i wersje API
Aby ułatwić usuwanie poszczególnych pól lub restrukturyzację reprezentacji zasobów, Kubernetes obsługuje
równocześnie wiele wersji API, każde poprzez osobną ścieżkę API, na przykład: `/api/v1` lub
`/apis/rbac.authorization.k8s.io/v1alpha1`.
-Zdecydowaliśmy się na rozdział wersji na poziomie całego API, a nie na poziomie poszczególnych zasobów lub pól, aby być pewnym,
+Rozdział wersji wprowadzony jest na poziomie całego API, a nie na poziomach poszczególnych zasobów lub pól, aby być pewnym,
że API odzwierciedla w sposób przejrzysty i spójny zasoby systemowe i ich zachowania i pozwala
na kontrolowany dostęp do tych API, które są w fazie wycofywania lub fazie eksperymentalnej.
-Schematy serializacji JSON i Protobuf stosują się do tych samych reguł wprowadzania zmian schematów — cały opis poniżej odnosi się do obydwu z nich.
+Aby ułatwić rozbudowę API Kubernetes, wprowadziliśmy [*grupy API*](https://git.k8s.io/community/contributors/design-proposals/api-machinery/api-group.md),
+które mogą być [włączane i wyłączane](/docs/reference/using-api/#enabling-or-disabling).
-Należy mieć na uwadze, że wersje API i wersje oprogramowania są powiązane ze sobą w sposób niebezpośredni. Proponowany
-[Kubernetes Release Versioning](https://git.k8s.io/community/contributors/design-proposals/release/versioning.md) opisuje związki pomiędzy zarządzaniem wersjami API i oprogramowania.
+Zasoby API są rozróżniane poprzez przynależność do grupy API, typ zasobu, przestrzeń nazw (_namespace_,
+o ile ma zastosowanie) oraz nazwę. Serwer API może obsługiwać
+te same dane poprzez różne wersje API i przeprowadzać konwersję między
+różnymi wersjami API w sposób niewidoczny dla użytkownika. Wszystkie te różne wersje
+reprezentują w rzeczywistości ten sam zasób. Załóżmy przykładowo, że istnieją dwie
+wersje `v1` i `v1beta1` tego samego zasobu. Obiekt utworzony przez
+wersję `v1beta1` może być odczytany, zaktualizowany i skasowany zarówno przez wersję
+`v1beta1`, jak i `v1`.
-Różne wersje API oznaczają inną stabilność i poziom wsparcia. Kryteria dla każdego z tych poziomów opisano szczegółowo
-w [API Changes documentation](https://git.k8s.io/community/contributors/devel/sig-architecture/api_changes.md#alpha-beta-and-stable-versions).
-Podsumowanie zamieszczono poniżej:
+Zajrzyj do [API versions reference](/docs/reference/using-api/#api-versioning)
+po szczegółowe informacje, jak definiuje się poziomy wersji API.
-- Poziom Alfa:
- - Nazwa wersji zawiera słowo `alpha` (np. `v1alpha1`).
- - Może zawierać błędy. Włączenie tej funkcjonalności może wyeksponować różne błędy. Domyślnie jest wyłączona.
- - Wsparcie dla tej funkcjonalności może być zakończone w dowolnej chwili bez uprzedniego powiadomienia.
- - W kolejnych wersjach API może zostać zmienione w sposób niezgodny z wersjami wcześniejszymi.
- - Rekomendowana do użycia tylko na często przebudowywanych klastrach testowych ze względu na duże ryzyko wystąpienia błędów i brak gwarancji wsparcia w dalszym horyzoncie.
-- Poziom Beta:
- - Nazwa wersji zawiera słowo `beta` (np. `v2beta3`).
- - Oprogramowanie jest dobrze przetestowane. Włączenie tej funkcjonalności uznaje się za bezpieczne. Funkcjonalność domyślnie włączona.
- - Wsparcie dla funkcjonalności będzie utrzymywane, choć może zmieniać się w niektórych szczegółach.
- - Schemat lub semantyka obiektu może się zmienić w sposób niezgodny z poprzednimi wersjami w następnych wydaniach beta lub stabilnych. Jeśli taka zmiana będzie miała miejsce,
- dostarczymy instrukcję migracji do kolejnej wersji. Możemy wymagać skasowania, zmiany i odtworzenia obiektów API.
- Proces zmiany może wymagać dodatkowych wstępnych analiz. W czasie wprowadzania zmian mogą wystąpić przerwy w dostępności aplikacji, które z tej funkcjonalności korzystają.
- - Rekomendowane tylko dla zastosowań niekrytycznych dla biznesu ze względu na potencjalnie niezgodne zmiany w kolejnych wersjach oprogramowania.
- Jeśli masz wiele klastrów, które mogą być aktualizowane niezależnie, można to ograniczenie pominąć.
- - **Testuj nasze funkcjonalności w fazie beta i zgłaszaj swoje uwagi! Po wyjściu z fazy beta, możemy nie mieć już możliwości — ze względów praktycznych — wprowadzać w nich żadnych zmian.**
-- Poziom Stabilny:
- - Nazwa wersji jest w postaci `vX`, gdzie `X` jest liczbą naturalną.
- - Stabilne funkcjonalności będą dostępne w wielu kolejnych wersjach oprogramowania.
+## Rozbudowa API
-## Grupy API
+API Kubernetesa można rozbudowywać (rozszerzać) na dwa sposoby:
-Aby ułatwić rozbudowę API Kubernetes, wprowadziliśmy [*grupy API*](https://git.k8s.io/community/contributors/design-proposals/api-machinery/api-group.md).
-Grupa API jest określona przez ścieżkę API i pole `apiVersion` serializowanego obiektu.
-
-Obecne w użyciu jest kilka grup API:
-
-1. Grupa *podstawowa* (*core*), nazywana także *legacy group*, jest dostępna przez ścieżkę REST `/api/v1` i używa `apiVersion: v1`.
-
-1. Nazwane grupy udostępnione są przez ścieżkę REST `/apis/$GROUP_NAME/$VERSION` i używają `apiVersion: $GROUP_NAME/$VERSION`
- (np. `apiVersion: batch/v1`). Pełna lista wpieranych grup API jest dostępna w [Kubernetes API reference](/pl/docs/reference/).
-
-API może być rozbudowane na dwa sposoby przy użyciu [custom resources](/docs/concepts/extend-kubernetes/api-extension/custom-resources/):
-
-1. [CustomResourceDefinition](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/)
- jest przewidziana dla użytkowników z minimalnymi wymaganiami CRUD.
-1. Użytkownicy, którzy potrzebują pełnej semantyki API Kubernetes, mogą zaimplementować własny apiserver
- i użyć [agregatora](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/),
- aby zintegrować je w sposób niezauważalny dla klientów.
-
-## Włączanie i wyłączanie grup API
-
-Określone zasoby i grupy API są włączone domyślnie. Włączanie i wyłączanie odbywa się poprzez ustawienie `--runtime-config`
-w kube-apiserver.
-
-`--runtime-config` przyjmuje wartości oddzielane przecinkami. Przykładowo, aby wyłączyć batch/v1, należy ustawić
-`--runtime-config=batch/v1=false`, aby włączyć batch/v2alpha1, należy ustawić `--runtime-config=batch/v2alpha1`.
-Ta opcja przyjmuje rozdzielony przecinkami zbiór par klucz=wartość, który opisuje konfigurację wykonawczą serwera API.
-
-{{< note >}}Włączenie lub wyłączenie grup lub zasobów wymaga restartu kube-apiserver i kube-controller-manager,
-aby zmiany w `--runtime-config` zostały wprowadzone.{{< /note >}}
-
-## Trwałość
-
-Kubernetes przechowuje swój stan w postaci serializowanej jako zasoby API zapisywane w
-{{< glossary_tooltip term_id="etcd" >}}.
+1. [Definicje zasobów własnych](/docs/concepts/extend-kubernetes/api-extension/custom-resources/)
+ pozwalają deklaratywnie określać, jak serwer API powinien dostarczać wybrane zasoby API.
+1. Można także rozszerzać API Kubernetesa implementując
+ [warstwę agregacji](/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/).
## {{% heading "whatsnext" %}}
-[Controlling API Access](/docs/reference/access-authn-authz/controlling-access/) opisuje
-sposoby, jakimi klaster zarządza dostępem do API.
-
-Ogólne wytyczne dotyczące API opisano w
-[API conventions](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#api-conventions).
-
-Punkty dostępowe API _(endpoints)_, typy zasobów i przykłady zamieszczono w [API Reference](/docs/reference/kubernetes-api/).
+- Naucz się, jak rozbudowywać API Kubernetesa poprzez dodawanie własnych
+ [CustomResourceDefinition](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/).
+- [Controlling API Access](/docs/reference/access-authn-authz/controlling-access/) opisuje
+ sposoby, jakimi klaster zarządza dostępem do API.
+- Punkty dostępowe API _(endpoints)_, typy zasobów i przykłady zamieszczono w [API Reference](/docs/reference/kubernetes-api/).
diff --git a/content/pl/docs/concepts/overview/what-is-kubernetes.md b/content/pl/docs/concepts/overview/what-is-kubernetes.md
index 75321bfbb5..db8ea18b70 100644
--- a/content/pl/docs/concepts/overview/what-is-kubernetes.md
+++ b/content/pl/docs/concepts/overview/what-is-kubernetes.md
@@ -7,6 +7,8 @@ weight: 10
card:
name: concepts
weight: 10
+sitemap:
+ priority: 0.9
---
@@ -35,7 +37,7 @@ Wirtualizacja pozwala lepiej wykorzystywać zasoby fizycznego serwera i lepiej s
Każda maszyna wirtualna jest pełną maszyną zawierającą własny system operacyjny pracujący na zwirtualizowanej warstwie sprzętowej.
**Era wdrożeń w kontenerach:**
-Kontenery działają w sposób zbliżony do maszyn wirtualnych, ale mają mniejszy stopnień wzajemnej izolacji, współdzieląc ten sam system operacyjny. Kontenery określane są mianem "lekkich". Podobnie, jak maszyna wirtualna, kontener posiada własny system plików, procesor, pamięć, przestrzeń procesów itd. Ponieważ kontenery nie są związane z leżącymi poniżej warstwami infrastruktury, mogą być łatwiej przenoszone pomiędzy chmurami i różnymi dystrybucjami systemu operacyjnego.
+Kontenery działają w sposób zbliżony do maszyn wirtualnych, ale mają mniejszy stopnień wzajemnej izolacji, współdzieląc ten sam system operacyjny. Kontenery określane są mianem "lekkich". Podobnie, jak maszyna wirtualna, kontener posiada własny system plików, udział w zasobach procesora, pamięć, przestrzeń procesów itd. Ponieważ kontenery nie są związane z leżącymi poniżej warstwami infrastruktury, mogą być łatwiej przenoszone pomiędzy chmurami i różnymi dystrybucjami systemu operacyjnego.
Kontenery zyskały popularność ze względu na swoje zalety, takie jak:
@@ -85,10 +87,7 @@ Kubernetes:
* Nie zapewnia, ani nie wykorzystuje żadnego ogólnego systemu do zarządzania konfiguracją, utrzymaniem i samo-naprawianiem maszyn.
* Co więcej, nie jest zwykłym systemem planowania *(orchestration)*. W rzeczywistości, eliminuje konieczność orkiestracji. Zgodnie z definicją techniczną, orkiestracja to wykonywanie określonego ciągu zadań: najpierw A, potem B i następnie C. Dla kontrastu, Kubernetes składa się z wielu niezależnych, możliwych do złożenia procesów sterujących, których zadaniem jest doprowadzenie stanu faktycznego do stanu oczekiwanego. Nie ma znaczenia, w jaki sposób przechodzi się od A do C. Nie ma konieczności scentralizowanego zarządzania. Dzięki temu otrzymujemy system, który jest potężniejszy, bardziej odporny i niezawodny i dający więcej możliwości rozbudowy.
-
-
## {{% heading "whatsnext" %}}
-* Dowiedz się o [komponentach Kubernetesa](/pl/docs/concepts/overview/components/)
-* Jesteś gotowy [zacząć pracę](/pl/docs/setup/)?
-
+* Dowiedz się o [komponentach Kubernetesa](/pl/docs/concepts/overview/components/)
+* Jesteś gotowy [zacząć pracę](/pl/docs/setup/)?
diff --git a/content/pl/docs/contribute/_index.md b/content/pl/docs/contribute/_index.md
index a6f9356a58..c107ec357d 100644
--- a/content/pl/docs/contribute/_index.md
+++ b/content/pl/docs/contribute/_index.md
@@ -1,17 +1,24 @@
---
content_type: concept
-title: Współtwórz dokumentację Kubernetesa
+title: Współtwórz dokumentację K8s
linktitle: Weź udział
main_menu: true
weight: 80
card:
name: contribute
weight: 10
- title: Weź udział
+ title: Współtwórz K8s
---
+Kubernetes zaprasza do współpracy wszystkich - zarówno nowicjuszy, jak i doświadczonych!
+
+{{< note >}}
+Aby dowiedzieć się więcej ogólnych informacji o współpracy przy tworzeniu Kubernetesa, zajrzyj
+do [contributor documentation](https://www.kubernetes.dev/docs/).
+{{< /note >}}
+
Tym serwisem www opiekuje się [Kubernetes SIG Docs](/docs/contribute/#get-involved-with-sig-docs).
Współtwórcy dokumentacji Kubernetesa:
@@ -21,8 +28,6 @@ Współtwórcy dokumentacji Kubernetesa:
- Tłumaczą dokumentację
- Zarządzają i publikują dokumentację w ramach cyklu wydawniczego Kubernetesa
-Zapraszamy do współpracy wszystkich - zarówno nowicjuszy, jak i doświadczonych!
-
## Jak zacząć?
diff --git a/content/pl/docs/home/_index.md b/content/pl/docs/home/_index.md
index 5c8facdbc5..1e2ecfe14b 100644
--- a/content/pl/docs/home/_index.md
+++ b/content/pl/docs/home/_index.md
@@ -30,7 +30,7 @@ cards:
button: "Samouczki"
button_path: "/docs/tutorials"
- name: setup
- title: "Uruchom klaster"
+ title: "Uruchom klaster K8s"
description: "Uruchom klaster Kubernetes dopasowany do Twoich potrzeb i możliwości."
button: "Uruchom Kubernetesa"
button_path: "/docs/setup"
@@ -55,7 +55,7 @@ cards:
button: Weź udział
button_path: /docs/contribute
- name: release-notes
- title: Informacje o wydaniu
+ title: Informacje o wydaniu K8s
description: Jeśli instalujesz lub aktualizujesz Kubernetesa, zajrzyj do informacji o najnowszym wydaniu.
- name: about
title: O dokumentacji
diff --git a/content/pl/docs/home/supported-doc-versions.md b/content/pl/docs/home/supported-doc-versions.md
index 19e08be721..0ad302706a 100644
--- a/content/pl/docs/home/supported-doc-versions.md
+++ b/content/pl/docs/home/supported-doc-versions.md
@@ -1,25 +1,12 @@
---
-title: Wspierane wersje dokumentacji Kubernetesa
-content_type: concept
+title: Dostępne wersje dokumentacji
+content_type: custom
+layout: supported-versions
card:
name: about
weight: 10
- title: Wspierane wersje dokumentacji
+ title: Dostępne wersje dokumentacji
+
---
-
-
Ten serwis zawiera dokumentację do bieżącej i czterech poprzednich wersji Kubernetesa.
-
-
-
-
-
-## Bieżąca wersja
-
-Bieżąca wersja to
-[{{< param "version" >}}](/).
-
-## Poprzednie wersje
-
-{{< versions-other >}}
diff --git a/content/pl/docs/search.md b/content/pl/docs/search.md
deleted file mode 100644
index 9ae06bfa7d..0000000000
--- a/content/pl/docs/search.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-layout: search
-title: Wyniki wyszukiwania
----
-
diff --git a/content/pl/docs/tutorials/hello-minikube.md b/content/pl/docs/tutorials/hello-minikube.md
index a56396843c..2c68bc3b5f 100644
--- a/content/pl/docs/tutorials/hello-minikube.md
+++ b/content/pl/docs/tutorials/hello-minikube.md
@@ -16,40 +16,35 @@ card:
Ten samouczek pokaże, jak uruchomić przykładową aplikację
-na Kubernetes przy użyciu [Minikube](/docs/setup/learning-environment/minikube) oraz Katacoda.
+na Kubernetesie przy użyciu minikube oraz Katacoda.
Katacoda to darmowe środowisko Kubernetes dostępne bezpośrednio z przeglądarki web.
{{< note >}}
-Możesz też skorzystać z tego samouczka, jeśli już zainstalowałeś [Minikube lokalnie](/docs/tasks/tools/install-minikube/).
+Możesz też skorzystać z tego samouczka, jeśli już zainstalowałeś minikube.
+Odwiedź stronę [minikube start](https://minikube.sigs.k8s.io/docs/start/), aby dowiedzieć się, jak go zainstalować.
{{< /note >}}
-
-
## {{% heading "objectives" %}}
-
-* Skonfiguruj przykładową aplikację do uruchomienia w Minikube.
+* Skonfiguruj przykładową aplikację do uruchomienia w minikube.
* Uruchom aplikację.
* Przejrzyj jej logi.
-
-
## {{% heading "prerequisites" %}}
-
W tym samouczku wykorzystamy obraz kontenera, który korzysta z NGINX, aby wyświetlić z powrotem wszystkie przychodzące zapytania.
-
-
-## Stwórz klaster Minikube
+## Stwórz klaster minikube
1. Kliknij w **Launch Terminal**
{{< kat-button >}}
- {{< note >}}Jeśli masz Minikube zainstalowane lokalnie, uruchom `minikube start`.{{< /note >}}
+ {{< note >}}
+ Jeśli masz minikube zainstalowane lokalnie, uruchom `minikube start`.
+ {{< /note >}}
2. Otwórz panel Kubernetes w przeglądarce:
@@ -135,6 +130,9 @@ jako [*Serwis*](/docs/concepts/services-networking/service/) Kubernetes.
Opcja `--type=LoadBalancer` wskazuje, że chcesz udostępnić swój Serwis
na zewnątrz klastra.
+ Aplikacja, która jest umieszczona w obrazie kontenera `k8s.gcr.io/echoserver`, nasłuchuje jedynie na porcie TCP 8080. Jeśli użyłeś
+ `kubectl expose` do wystawienia innego portu, aplikacje klienckie mogą nie móc się podłączyć do tamtego innego portu.
+
2. Sprawdź Serwis, który właśnie utworzyłeś:
```
@@ -151,7 +149,7 @@ jako [*Serwis*](/docs/concepts/services-networking/service/) Kubernetes.
U dostawców usług chmurowych, którzy obsługują *load balancers*,
zostanie przydzielony zewnętrzny adres IP na potrzeby serwisu.
- W Minikube, typ `LoadBalancer` udostępnia serwis poprzez polecenie
+ W minikube, typ `LoadBalancer` udostępnia serwis poprzez polecenie
`minikube service`.
3. Uruchom poniższe polecenie:
@@ -168,7 +166,7 @@ jako [*Serwis*](/docs/concepts/services-networking/service/) Kubernetes.
## Włącz dodatki
-Minikube ma zestaw wbudowanych {{< glossary_tooltip text="dodatków" term_id="addons" >}}, które mogą być włączane, wyłączane i otwierane w lokalnym środowisku Kubernetes.
+Narzędzie minikube dysponuje zestawem wbudowanych {{< glossary_tooltip text="dodatków" term_id="addons" >}}, które mogą być włączane, wyłączane i otwierane w lokalnym środowisku Kubernetes.
1. Lista aktualnie obsługiwanych dodatków:
@@ -272,13 +270,8 @@ minikube stop
minikube delete
```
-
-
## {{% heading "whatsnext" %}}
-
* Dowiedz się więcej o [obiektach typu Deployment](/docs/concepts/workloads/controllers/deployment/).
* Dowiedz się więcej o [instalowaniu aplikacji](/docs/tasks/run-application/run-stateless-application-deployment/).
* Dowiedz się więcej o [obiektach typu Serwis](/docs/concepts/services-networking/service/).
-
-
diff --git a/content/ru/_index.html b/content/ru/_index.html
index e86c2bf206..aaf9f136f5 100644
--- a/content/ru/_index.html
+++ b/content/ru/_index.html
@@ -42,6 +42,11 @@ Kubernetes — это проект с открытым исходным кодо
- Nagłówek
@@ -71,93 +64,63 @@ Aby wybrać format odpowiedzi, użyj nagłówków żądania zgodnie z:
udostępnia
application/json
Посетите KubeCon NA онлайн, 17-20 ноября 2020
+
+
+
+
+ Посетите KubeCon EU онлайн, 4 – 7 мая 2021
+
diff --git a/content/zh/docs/reference/command-line-tools-reference/kube-controller-manager.md b/content/zh/docs/reference/command-line-tools-reference/kube-controller-manager.md
index 602d0bdbfa..34d86b0bba 100644
--- a/content/zh/docs/reference/command-line-tools-reference/kube-controller-manager.md
+++ b/content/zh/docs/reference/command-line-tools-reference/kube-controller-manager.md
@@ -262,6 +262,23 @@ kube-controller-manager [flags]
+
+--add-dir-header
+
+
+
+
+
+如果为 true,则将文件目录添加到日志消息的标题中
+
+
+
+--admission-control-config-file string
+
+
+
+
+
+包含准入控制配置的文件。
+
+
+
+--advertise-address ip
+
+
+
+
+
+向集群成员通知 apiserver 消息的 IP 地址。
+这个地址必须能够被集群中其他成员访问。
+如果 IP 地址为空,将会使用 --bind-address,
+如果未指定 --bind-address,将会使用主机的默认接口地址。
+
+
+
+--allow-privileged
+
+
+
+
+
+如果为 true, 将允许特权容器。[默认值=false]
+
+
+
+--alsologtostderr
+
+
+
+
+
+在向文件输出日志的同时,也将日志写到标准输出。
+
+
+
+
+
+--anonymous-auth 默认值:true
+
+
+
+
+
+
+启用到 API server 的安全端口的匿名请求。
+未被其他认证方法拒绝的请求被当做匿名请求。
+匿名请求的用户名为 system:anonymous,
+用户组名为 system:unauthenticated。
+
+
+
+--api-audiences stringSlice
+
+
+
+
+
+API 的标识符。
+服务帐户令牌验证者将验证针对 API 使用的令牌是否已绑定到这些受众中的至少一个。
+如果配置了 --service-account-issuer 标志,但未配置此标志,
+则此字段默认为包含发行者 URL 的单个元素列表。
+
+
+
+
+
+--apiserver-count int 默认值:1
+
+
+
+
+
+
+集群中运行的 apiserver 数量,必须为正数。
+(在启用 --endpoint-reconciler-type=master-count 时使用。)
+
+
+
+
+
+--audit-log-batch-buffer-size int 默认值:10000
+
+
+
+
+
+
+批处理和写入之前用于存储事件的缓冲区大小。
+仅在批处理模式下使用。
+
+
+
+
+--audit-log-batch-max-size int 默认值:1
+
+
+
+
+
+
+批处理的最大大小。 仅在批处理模式下使用。
+
+
+
+--audit-log-batch-max-wait duration
+
+
+
+
+
+强制写入尚未达到最大大小的批处理之前要等待的时间。
+仅在批处理模式下使用。
+
+
+
+--audit-log-batch-throttle-burst int
+
+
+
+
+
+如果之前未使用 ThrottleQPS,则同时发送的最大请求数。
+仅在批处理模式下使用。
+
+
+
+--audit-log-batch-throttle-enable
+
+
+
+
+
+是否启用了批量限制。
+仅在批处理模式下使用。
+
+
+
+--audit-log-batch-throttle-qps float32
+
+
+
+
+
+每秒的最大平均批处理数。
+仅在批处理模式下使用。
+
+
+
+
+
+--audit-log-format string 默认值:"json"
+
+
+
+
+
+
+所保存的审计格式。
+"legacy" 表示每行一个事件的文本格式。"json" 表示结构化的 JSON 格式。
+已知格式为 legacy,json。
+
+
+
+--audit-log-maxage int
+
+
+
+
+
+根据文件名中编码的时间戳保留旧审计日志文件的最大天数。
+
+
+
+--audit-log-maxbackup int
+
+
+
+
+
+保留的旧审计日志文件的最大数量。
+
+
+
+--audit-log-maxsize int
+
+
+
+
+
+轮换之前,审计日志文件的最大大小(以兆字节为单位)。
+
+
+
+
+
+--audit-log-mode string 默认值:"blocking"
+
+
+
+
+
+
+发送审计事件的策略。
+阻塞(blocking)表示发送事件应阻止服务器响应。
+批处理导致后端异步缓冲和写入事件。
+已知的模式是批处理(batch),阻塞(blocking),严格阻塞(blocking-strict)。
+
+
+
+--audit-log-path string
+
+
+
+
+
+如果设置,则所有到达 apiserver 的请求都将记录到该文件中。
+"-" 表示标准输出。
+
+
+
+--audit-log-truncate-enabled
+
+
+
+
+
+是否启用事件和批次截断。
+
+
+
+
+
+--audit-log-truncate-max-batch-size int 默认值:10485760
+
+
+
+
+
+
+发送到下层后端的批次的最大数据量。
+实际的序列化大小可能会增加数百个字节。
+如果一个批次超出此限制,则将其分成几个较小的批次。
+
+
+
+
+
+--audit-log-truncate-max-event-size int 默认值:102400
+
+
+
+
+
+
+发送到下层后端的批次的最大数据量。
+如果事件的大小大于此数字,则将删除第一个请求和响应,
+并且没有减小足够大的程度,则将丢弃事件。
+
+
+
+
+
+--audit-log-version string 默认值:"audit.k8s.io/v1"
+
+
+
+
+
+
+用于序列化写入日志的审计事件的 API 组和版本。
+
+
+
+--audit-policy-file string
+
+
+
+
+
+定义审计策略配置的文件的路径。
+
+
+
+
+
+--audit-webhook-batch-buffer-size int 默认值:10000
+
+
+
+
+
+
+划分批次和写入之前用于存储事件的缓冲区大小。
+仅在批处理模式下使用。
+
+
+
+
+
+--audit-webhook-batch-max-size int 默认值:400
+
+
+
+
+
+
+批次的最大大小。
+仅在批处理模式下使用。
+
+
+
+
+
+--audit-webhook-batch-max-wait duration 默认值:30s
+
+
+
+
+
+
+强制写入尚未达到最大大小的批处理之前要等待的时间。
+仅在批处理模式下使用。
+
+
+
+
+
+--audit-webhook-batch-throttle-burst int 默认值:15
+
+
+
+
+
+
+如果之前未使用 ThrottleQPS,则同时发送的最大请求数。
+仅在批处理模式下使用。
+
+
+
+
+
+--audit-webhook-batch-throttle-enable 默认值:true
+
+
+
+
+
+
+是否启用了批量限制。
+仅在批处理模式下使用。
+
+
+
+
+
+--audit-webhook-batch-throttle-qps float32 默认值:10
+
+
+
+
+
+
+每秒的最大平均批次数。
+仅在批处理模式下使用。
+
+
+
+--audit-webhook-config-file string
+
+
+
+
+
+定义审计 webhook 配置的 kubeconfig 格式文件的路径。
+
+
+
+
+--audit-webhook-initial-backoff duration 默认值:10s
+
+
+
+
+
+
+重试第一个失败的请求之前要等待的时间。
+
+
+
+
+
+--audit-webhook-mode string 默认值:"batch"
+
+
+
+
+
+
+发送审计事件的策略。
+阻止(Blocking)表示发送事件应阻止服务器响应。
+批处理导致后端异步缓冲和写入事件。
+已知的模式是批处理(batch),阻塞(blocking),严格阻塞(blocking-strict)。
+
+
+
+--audit-webhook-truncate-enabled
+
+
+
+
+
+是否启用事件和批处理截断。
+
+
+
+
+
+--audit-webhook-truncate-max-batch-size int 默认值:10485760
+
+
+
+
+
+
+发送到下层后端的批次的最大数据量。
+实际的序列化大小可能会增加数百个字节。
+如果一个批次超出此限制,则将其分成几个较小的批次。
+
+
+
+
+
+--audit-webhook-truncate-max-event-size int 默认值:102400
+
+
+
+
+
+
+发送到下层后端的批次的最大数据量。
+如果事件的大小大于此数字,则将删除第一个请求和响应,
+并且如果事件和事件的大小没有足够减小,则将丢弃事件。
+
+
+
+
+
+--audit-webhook-version string 默认值:"audit.k8s.io/v1"
+
+
+
+
+
+
+用于序列化写入 Webhook 的审计事件的 API 组和版本。
+
+
+
+
+
+--authentication-token-webhook-cache-ttl duration 默认值:2m0s
+
+
+
+
+
+
+来自 Webhook 令牌身份验证器的缓存响应的持续时间。
+
+
+
+--authentication-token-webhook-config-file string
+
+
+
+
+
+包含 Webhook 配置的文件,用于以 kubeconfig 格式进行令牌认证。
+API 服务器将查询远程服务,以对持有者令牌进行身份验证。
+
+
+
+
+
+--authentication-token-webhook-version string 默认值:"v1beta1"
+
+
+
+
+
+
+与 Webhook 之间交换 authentication.k8s.io TokenReview 时使用的 API 版本。
+
+
+
+
+
+--authorization-mode stringSlice 默认值:[AlwaysAllow]
+
+
+
+
+
+
+在安全端口上进行鉴权的插件的顺序列表。
+逗号分隔的列表:AlwaysAllow,AlwaysDeny,ABAC,Webhook,RBAC,Node。
+
+
+
+--authorization-policy-file string
+
+
+
+
+
+包含安全策略的文件,其内容为分行 JSON 格式,
+在安全端口上与 --authorization-mode=ABAC 一起使用。
+
+
+
+
+
+--authorization-webhook-cache-authorized-ttl duration 默认值:5m0s
+
+
+
+
+
+
+缓存来自 Webhook 鉴权组件的 “授权(authorized)” 响应的持续时间。
+
+
+
+
+
+--authorization-webhook-cache-unauthorized-ttl duration 默认值:30s
+
+
+
+
+
+
+缓存来自 Webhook 鉴权模块的 “未授权(unauthorized)” 响应的持续时间。
+
+
+
+--authorization-webhook-config-file string
+
+
+
+
+
+包含 Webhook 配置的文件,其格式为 kubeconfig,
+与 --authorization-mode=Webhook 一起使用。
+API 服务器将查询远程服务,以对 API 服务器的安全端口的访问执行鉴权。
+
+
+
+
+
+--authorization-webhook-version string 默认值:"v1beta1"
+
+
+
+
+
+
+与 Webhook 之间交换 authorization.k8s.io SubjectAccessReview 时使用的 API 版本。
+
+
+
+--azure-container-registry-config string
+
+
+
+
+
+包含 Azure 容器仓库配置信息的文件的路径。
+
+
+
+
+
+--bind-address ip 默认值:0.0.0.0
+
+
+
+
+
+
+监听 --secure-port 端口的 IP 地址。
+集群的其余部分以及 CLI/web 客户端必须可以访问关联的接口。
+如果为空白或未指定地址(0.0.0.0 或 ::),则将使用所有接口。
+
+
+
+
+
+--cert-dir string 默认值:"/var/run/kubernetes"
+
+
+
+
+
+
+TLS 证书所在的目录。
+如果提供了 --tls-cert-file 和 --tls-private-key-file,则将忽略此标志。
+
+
+
+--client-ca-file string
+
+
+
+
+
+如果已设置,则使用与客户端证书的 CommonName 对应的标识对任何出示由
+client-ca 文件中的授权机构之一签名的客户端证书的请求进行身份验证。
+
+
+
+--cloud-config string
+
+
+
+
+
+云厂商配置文件的路径。
+空字符串表示无配置文件。
+
+
+
+--cloud-provider string
+
+
+
+
+
+云服务提供商。
+空字符串表示没有云厂商。
+
+
+
+
+
+--cloud-provider-gce-l7lb-src-cidrs cidrs 默认值:130.211.0.0/22,35.191.0.0/16
+
+
+
+
+
+
+在 GCE 防火墙中打开 CIDR,以进行 L7 LB 流量代理和运行状况检查
+
+
+
+--contention-profiling
+
+
+
+
+
+如果启用了性能分析,则启用锁争用性能分析
+
+
+
+--cors-allowed-origins stringSlice
+
+
+
+
+
+CORS 允许的来源清单,以逗号分隔。
+允许的来源可以是支持子域匹配的正则表达式。
+如果此列表为空,则不会启用 CORS。
+
+
+
+
+
+--default-not-ready-toleration-seconds int 默认值:300
+
+
+
+
+
+
+标明 notReady:NoExecute 的 tolerationSeconds,
+默认情况下将其添加到尚未具有此容忍度的每个 pod 中。
+
+
+
+
+
+--default-unreachable-toleration-seconds int 默认值:300
+
+
+
+
+
+
+标明 unreachable:NoExecute 的 tolerationSeconds,
+默认情况下将其添加到尚未具有此容忍度的每个 pod 中。
+
+
+
+
+
+--default-watch-cache-size int 默认值:100
+
+
+
+
+
+
+默认监听(watch)缓存大小。
+如果为零,则将为没有设置默认监视大小的资源禁用监视缓存。
+
+
+
+
+
+--delete-collection-workers int 默认值:1
+
+
+
+
+
+
+为 DeleteCollection 调用而产生的工作程序数。
+这些用于加速名字空间清理。
+
+
+
+--disable-admission-plugins stringSlice
+
+
+
+
+
+尽管位于默认启用的插件列表中(NamespaceLifecycle、LimitRanger、ServiceAccount、TaintNodesByCondition、Priority、DefaultTolerationSeconds、DefaultStorageClass、StorageObjectInUseProtection、PersistentVolumeClaimResize、RuntimeClass、CertificateApproval、CertificateSigning、CertificateSubjectRestriction、DefaultIngressClass、MutatingAdmissionWebhook、ValidatingAdmissionWebhook、ResourceQuota)仍须被禁用的插件。
+
+
取值为逗号分隔的准入插件列表:AlwaysAdmit, AlwaysDeny, AlwaysPullImages, CertificateApproval, CertificateSigning, CertificateSubjectRestriction, DefaultIngressClass, DefaultStorageClass, DefaultTolerationSeconds, DenyEscalatingExec, DenyExecOnPrivileged, EventRateLimit, ExtendedResourceToleration, ImagePolicyWebhook, LimitPodHardAntiAffinityTopology, LimitRanger, MutatingAdmissionWebhook, NamespaceAutoProvision, NamespaceExists, NamespaceLifecycle, NodeRestriction, OwnerReferencesPermissionEnforcement, PersistentVolumeClaimResize, PersistentVolumeLabel, PodNodeSelector, PodPreset, PodSecurityPolicy, PodTolerationRestriction, Priority, ResourceQuota, RuntimeClass, SecurityContextDeny, ServiceAccount, StorageObjectInUseProtection, TaintNodesByCondition, ValidatingAdmissionWebhook。
+
该标志中插件的顺序无关紧要。
+
+
+--egress-selector-config-file string
+
+
+
+
+
+带有 apiserver 出站选择器配置的文件。
+
+
+
+--enable-admission-plugins stringSlice
+
+
+
+
+
+除了默认启用的插件(NamespaceLifecycle、LimitRanger、ServiceAccount、TaintNodesByCondition、Priority、DefaultTolerationSeconds、DefaultStorageClass、StorageObjectInUseProtection、PersistentVolumeClaimResize、RuntimeClass、CertificateApproval、CertificateSigning、CertificateSubjectRestriction、DefaultIngressClass、MutatingAdmissionWebhook、ValidatingAdmissionWebhook、ResourceQuota)之外要启用的插件
+取值为逗号分隔的准入插件列表:AlwaysAdmit, AlwaysDeny, AlwaysPullImages, CertificateApproval, CertificateSigning, CertificateSubjectRestriction, DefaultIngressClass, DefaultStorageClass, DefaultTolerationSeconds, DenyEscalatingExec, DenyExecOnPrivileged, EventRateLimit, ExtendedResourceToleration, ImagePolicyWebhook, LimitPodHardAntiAffinityTopology, LimitRanger, MutatingAdmissionWebhook, NamespaceAutoProvision, NamespaceExists, NamespaceLifecycle, NodeRestriction, OwnerReferencesPermissionEnforcement, PersistentVolumeClaimResize, PersistentVolumeLabel, PodNodeSelector, PodPreset, PodSecurityPolicy, PodTolerationRestriction, Priority, ResourceQuota, RuntimeClass, SecurityContextDeny, ServiceAccount, StorageObjectInUseProtection, TaintNodesByCondition, ValidatingAdmissionWebhook
+
+
该标志中插件的顺序无关紧要。
+
+
+--enable-aggregator-routing
+
+
+
+
+
+允许聚合器将请求路由到端点 IP 而非集群 IP。
+
+
+
+--enable-bootstrap-token-auth
+
+
+
+
+
+启用以允许将 "kube-system" 名字空间中类型为 "bootstrap.kubernetes.io/token"
+的 Secret 用于 TLS 引导身份验证。
+
+
+
+
+
+--enable-garbage-collector 默认值:true
+
+
+
+
+
+启用通用垃圾收集器。
+必须与 kube-controller-manager 的相应标志同步。
+
+
+
+
+
+--enable-priority-and-fairness 默认值:true
+
+
+
+
+
+
+如果为 true 且启用了 APIPriorityAndFairness 特性门控,
+请使用增强的处理程序替换 max-in-flight 处理程序,
+以便根据优先级和公平性完成排队和调度。
+
+
+
+--encryption-provider-config string
+
+
+
+
+
+包含加密提供程序配置信息的文件,用在 etcd 中所存储的 Secret 上。
+
+
+
+
+
+--endpoint-reconciler-type string 默认值:"lease"
+
+
+
+
+
+
+使用端点协调器(master-count, lease, none)
+
+
+
+--etcd-cafile string
+
+
+
+
+
+用于保护 etcd 通信的 SSL 证书颁发机构文件。
+
+
+
+--etcd-certfile string
+
+
+
+
+
+用于保护 etcd 通信的 SSL 证书文件。
+
+
+
+
+
+--etcd-compaction-interval duration 默认值:5m0s
+
+
+
+
+
+
+压缩请求的间隔。
+如果为0,则禁用来自 apiserver 的压缩请求。
+
+
+
+
+
+--etcd-count-metric-poll-period duration 默认值:1m0s
+
+
+
+
+
+
+针对每种类型的资源数量轮询 etcd 的频率。
+0 禁用度量值收集。
+
+
+
+
+
+--etcd-db-metric-poll-interval duration 默认值:30s
+
+
+
+
+
+
+轮询 etcd 和更新度量值的请求间隔。
+0 禁用度量值收集
+
+
+
+--etcd-keyfile string
+
+
+
+
+
+用于保护 etcd 通信的 SSL 密钥文件。
+
+
+
+
+
+--etcd-prefix string 默认值:"/registry"
+
+
+
+
+
+
+要在 etcd 中所有资源路径之前添加的前缀。
+
+
+
+--etcd-servers stringSlice
+
+
+
+
+
+要连接的 etcd 服务器列表(scheme://ip:port),以逗号分隔。
+
+
+
+--etcd-servers-overrides stringSlice
+
+
+
+
+
+etcd 服务器针对每个资源的重载设置,以逗号分隔。
+单个替代格式:组/资源#服务器(group/resource#servers),其中服务器是 URL,以分号分隔。
+
+
+
+
+
+--event-ttl duration 默认值:1h0m0s
+
+
+
+
+
+
+事件的保留时长。
+
+
+
+--external-hostname string
+
+
+
+
+
+为此主机生成外部化 UR L时要使用的主机名(例如 Swagger API 文档或 OpenID 发现)。
+
+
+
+--feature-gates mapStringBool
+
+
+
+
+
+一组 key=value 对,用来描述测试性/试验性功能的特性门控(Feature Gate)。可选项有:
+
+
APIListChunking=true|false (BETA - 默认值=true)
+
APIPriorityAndFairness=true|false (ALPHA - 默认值=false)
+
APIResponseCompression=true|false (BETA - 默认值=true)
+
AllAlpha=true|false (ALPHA - 默认值=false)
+
AllBeta=true|false (BETA - 默认值=false)
+
AllowInsecureBackendProxy=true|false (BETA - 默认值=true)
+
AnyVolumeDataSource=true|false (ALPHA - 默认值=false)
+
AppArmor=true|false (BETA - 默认值=true)
+
BalanceAttachedNodeVolumes=true|false (ALPHA - 默认值=false)
+
BoundServiceAccountTokenVolume=true|false (ALPHA - 默认值=false)
+
CPUManager=true|false (BETA - 默认值=true)
+
CRIContainerLogRotation=true|false (BETA - 默认值=true)
+
CSIInlineVolume=true|false (BETA - 默认值=true)
+
CSIMigration=true|false (BETA - 默认值=true)
+
CSIMigrationAWS=true|false (BETA - 默认值=false)
+
CSIMigrationAWSComplete=true|false (ALPHA - 默认值=false)
+
CSIMigrationAzureDisk=true|false (BETA - 默认值=false)
+
CSIMigrationAzureDiskComplete=true|false (ALPHA - 默认值=false)
+
CSIMigrationAzureFile=true|false (ALPHA - 默认值=false)
+
CSIMigrationAzureFileComplete=true|false (ALPHA - 默认值=false)
+
CSIMigrationGCE=true|false (BETA - 默认值=false)
+
CSIMigrationGCEComplete=true|false (ALPHA - 默认值=false)
+
CSIMigrationOpenStack=true|false (BETA - 默认值=false)
+
CSIMigrationOpenStackComplete=true|false (ALPHA - 默认值=false)
+
CSIMigrationvSphere=true|false (BETA - 默认值=false)
+
CSIMigrationvSphereComplete=true|false (BETA - 默认值=false)
+
CSIStorageCapacity=true|false (ALPHA - 默认值=false)
+
CSIVolumeFSGroupPolicy=true|false (ALPHA - 默认值=false)
+
ConfigurableFSGroupPolicy=true|false (ALPHA - 默认值=false)
+
CustomCPUCFSQuotaPeriod=true|false (ALPHA - 默认值=false)
+
DefaultPodTopologySpread=true|false (ALPHA - 默认值=false)
+
DevicePlugins=true|false (BETA - 默认值=true)
+
DisableAcceleratorUsageMetrics=true|false (ALPHA - 默认值=false)
+
DynamicKubeletConfig=true|false (BETA - 默认值=true)
+
EndpointSlice=true|false (BETA - 默认值=true)
+
EndpointSliceProxying=true|false (BETA - 默认值=true)
+
EphemeralContainers=true|false (ALPHA - 默认值=false)
+
ExpandCSIVolumes=true|false (BETA - 默认值=true)
+
ExpandInUsePersistentVolumes=true|false (BETA - 默认值=true)
+
ExpandPersistentVolumes=true|false (BETA - 默认值=true)
+
ExperimentalHostUserNamespaceDefaulting=true|false (BETA - 默认值=false)
+
GenericEphemeralVolume=true|false (ALPHA - 默认值=false)
+
HPAScaleToZero=true|false (ALPHA - 默认值=false)
+
HugePageStorageMediumSize=true|false (BETA - 默认值=true)
+
HyperVContainer=true|false (ALPHA - 默认值=false)
+
IPv6DualStack=true|false (ALPHA - 默认值=false)
+
ImmutableEphemeralVolumes=true|false (BETA - 默认值=true)
+
KubeletPodResources=true|false (BETA - 默认值=true)
+
LegacyNodeRoleBehavior=true|false (BETA - 默认值=true)
+
LocalStorageCapacityIsolation=true|false (BETA - 默认值=true)
+
LocalStorageCapacityIsolationFSQuotaMonitoring=true|false (ALPHA - 默认值=false)
+
NodeDisruptionExclusion=true|false (BETA - 默认值=true)
+
NonPreemptingPriority=true|false (BETA - 默认值=true)
+
PodDisruptionBudget=true|false (BETA - 默认值=true)
+
PodOverhead=true|false (BETA - 默认值=true)
+
ProcMountType=true|false (ALPHA - 默认值=false)
+
QOSReserved=true|false (ALPHA - 默认值=false)
+
RemainingItemCount=true|false (BETA - 默认值=true)
+
RemoveSelfLink=true|false (ALPHA - 默认值=false)
+
RotateKubeletServerCertificate=true|false (BETA - 默认值=true)
+
RunAsGroup=true|false (BETA - 默认值=true)
+
RuntimeClass=true|false (BETA - 默认值=true)
+
SCTPSupport=true|false (BETA - 默认值=true)
+
SelectorIndex=true|false (BETA - 默认值=true)
+
ServerSideApply=true|false (BETA - 默认值=true)
+
ServiceAccountIssuerDiscovery=true|false (ALPHA - 默认值=false)
+
ServiceAppProtocol=true|false (BETA - 默认值=true)
+
ServiceNodeExclusion=true|false (BETA - 默认值=true)
+
ServiceTopology=true|false (ALPHA - 默认值=false)
+
SetHostnameAsFQDN=true|false (ALPHA - 默认值=false)
+
StartupProbe=true|false (BETA - 默认值=true)
+
StorageVersionHash=true|false (BETA - 默认值=true)
+
SupportNodePidsLimit=true|false (BETA - 默认值=true)
+
SupportPodPidsLimit=true|false (BETA - 默认值=true)
+
Sysctls=true|false (BETA - 默认值=true)
+
TTLAfterFinished=true|false (ALPHA - 默认值=false)
+
TokenRequest=true|false (BETA - 默认值=true)
+
TokenRequestProjection=true|false (BETA - 默认值=true)
+
TopologyManager=true|false (BETA - 默认值=true)
+
ValidateProxyRedirects=true|false (BETA - 默认值=true)
+
VolumeSnapshotDataSource=true|false (BETA - 默认值=true)
+
WarningHeaders=true|false (BETA - 默认值=true)
+
WinDSR=true|false (ALPHA - 默认值=false)
+
WinOverlay=true|false (ALPHA - 默认值=false)
+
WindowsEndpointSliceProxying=true|false (ALPHA - 默认值=false)
+
+
+--goaway-chance float
+
+
+
+
+
+为防止 HTTP/2 客户端卡在单个 apiserver 上,可启用随机关闭连接(GOAWAY)。
+客户端的其他运行中请求将不会受到影响,并且客户端将重新连接,
+可能会在再次通过负载平衡器后登陆到其他 apiserver 上。
+此参数设置将发送 GOAWAY 的请求的比例。
+具有单个 apiserver 或不使用负载平衡器的群集不应启用此功能。
+最小值为0(关闭),最大值为 .02(1/50 请求); 建议使用 .001(1/1000)。
+
+
+
+-h, --help
+
+
+
+
+
+kube-apiserver 的帮助命令
+
+
+
+--http2-max-streams-per-connection int
+
+
+
+
+
+服务器为客户端提供的 HTTP/2 连接中最大流数的限制。
+零表示使用 golang 的默认值。
+
+
+
+--kubelet-certificate-authority string
+
+
+
+
+
+证书颁发机构的证书文件的路径。
+
+
+
+--kubelet-client-certificate string
+
+
+
+
+
+TLS 的客户端证书文件的路径。
+
+
+
+--kubelet-client-key string
+
+
+
+
+
+TLS 客户端密钥文件的路径。
+
+
+
+
+
+--kubelet-preferred-address-types stringSlice 默认值:[Hostname,InternalDNS,InternalIP,ExternalDNS,ExternalIP]
+
+
+
+
+
+
+用于 kubelet 连接的首选 NodeAddressTypes 列表。
+
+
+
+
+
+--kubelet-timeout duration 默认值:5s
+
+
+
+
+
+
+kubelet 操作超时时间。
+
+
+
+--kubernetes-service-node-port int
+
+
+
+
+
+如果非零,那么 Kubernetes 主服务(由 apiserver 创建/维护)将是 NodePort 类型,使用它作为端口的值。
+如果为零,则 Kubernetes 主服务将为 ClusterIP 类型。
+
+
+
+--livez-grace-period duration
+
+
+
+
+
+此选项代表 apiserver 完成启动序列并生效所需的最长时间。
+从 apiserver 的启动时间到这段时间为止,
+/livez 将假定未完成的启动后钩子将成功完成,因此返回 true。
+
+
+
+
+
+
+
+
+
+
+
+当日志机制执行到'文件 :N'时,生成堆栈跟踪
+
+
+
+--log-dir string
+
+
+
+
+
+如果为非空,则在此目录中写入日志文件
+
+
+
+--log-file string
+
+
+
+
+
+如果为非空,使用此日志文件
+
+
+
+
+
+--log-file-max-size uint 默认值:1800
+
+
+
+
+
+
+定义日志文件可以增长到的最大大小。单位为兆字节。
+如果值为 0,则最大文件大小为无限制。
+
+
+
+
+
+--log-flush-frequency duration 默认值:5s
+
+
+
+
+
+
+两次日志刷新之间的最大秒数
+
+
+
+
+
+--logging-format string 默认值:"text"
+
+
+
+
+
+
+设置日志格式。允许的格式:"text","json"。
+
+
非默认格式不支持以下标志:--add_dir_header、--alsologtostderr、--log_backtrace_at、--log_dir、--log_file、--log_file_max_size、--logtostderr、-skip_headers、-skip_log_headers、-stderrthreshold、-vmodule和--log-flush-frequency。
+
当前非默认选择为 alpha,并且会随时更改而不会发出警告。
+
+
+c
+
+--logtostderr 默认值:true
+
+
+
+
+
+
+在标准错误而不是文件中输出日志记录
+
+
+
+
+
+--master-service-namespace string 默认值:"default"
+
+
+
+
+
+
+已废弃:应该从其中将 Kubernetes 主服务注入到 Pod 中的名字空间。
+
+
+
+--max-connection-bytes-per-sec int
+
+
+
+
+
+如果不为零,则将每个用户连接限制为该数(字节数/秒)。
+当前仅适用于长时间运行的请求。
+
+
+
+
+
+--max-mutating-requests-inflight int 默认值:200
+
+
+
+
+
+
+在给定时间内进行中变更类型请求的最大个数。
+当超过该值时,服务将拒绝所有请求。
+零表示无限制。
+
+
+
+
+
+--max-requests-inflight int 默认值:400
+
+
+
+
+
+
+在给定时间内进行中非变更类型请求的最大数量。
+当超过该值时,服务将拒绝所有请求。
+零表示无限制。
+
+
+
+
+
+--min-request-timeout int 默认值:1800
+
+
+
+
+
+
+可选字段,表示处理程序在请求超时前,必须保持其处于打开状态的最小秒数。
+当前只对监听(Watch)请求的处理程序有效,它基于这个值选择一个随机数作为连接超时值,以达到分散负载的目的。
+
+
+
+--oidc-ca-file string
+
+
+
+
+
+如果设置该值,将会使用 oidc-ca-file 中的机构之一对 OpenID 服务的证书进行验证,
+否则将会使用主机的根 CA 对其进行验证。
+
+
+
+--oidc-client-id string
+
+
+
+
+
+OpenID 连接客户端的要使用的客户 ID,如果设置了 oidc-issuer-url,则必须设置这个值。
+
+
+
+--oidc-groups-claim string
+
+
+
+
+
+如果提供该值,这个自定义 OpenID 连接声明将被用来设定用户组。
+该声明值需要是一个字符串或字符串数组。
+此标志为实验性的,请查阅身份认证相关文档进一步了解详细信息。
+
+
+
+--oidc-groups-prefix string
+
+
+
+
+
+如果提供,则所有组都将以该值作为前缀,以防止与其他身份认证策略冲突。
+
+
+
+--oidc-issuer-url string
+
+
+
+
+
+OpenID 颁发者 URL,只接受 HTTPS 方案。
+如果设置该值,它将被用于验证 OIDC JSON Web Token(JWT)。
+
+
+
+--oidc-required-claim mapStringString
+
+
+
+
+
+描述 ID 令牌中必需声明的键值对。
+如果设置此值,则会验证 ID 令牌中存在与该声明匹配的值。
+重复此标志以指定多个声明。
+
+
+
+
+
+--oidc-signing-algs stringSlice 默认值:[RS256]
+
+
+
+
+
+
+允许的 JOSE 非对称签名算法的逗号分隔列表。
+若 JWT 所带的 "alg" 标头值不在列表中,则该 JWT 将被拒绝。
+取值依据 RFC 7518 https://tools.ietf.org/html/rfc7518#section-3.1 定义。
+
+
+
+
+
+--oidc-username-claim string 默认值:"sub"
+
+
+
+
+
+
+要用作用户名的 OpenID 声明。
+请注意,除默认声明("sub")以外的其他声明不能保证是唯一且不可变的。
+此标志是实验性的,请参阅身份认证文档以获取更多详细信息。
+
+
+
+--oidc-username-prefix string
+
+
+
+
+
+如果提供,则所有用户名都将以该值作为前缀。
+如果未提供,则除 "email" 之外的用户名声明都会添加颁发者 URL 作为前缀,以避免冲突。
+要略过添加前缀处理,请设置值为 "-"。
+
+
+
+--permit-port-sharing
+
+
+
+
+
+如果为 true,则在绑定端口时将使用 SO_REUSEPORT,
+这样多个实例可以绑定到同一地址和端口上。[默认值 = false]
+
+
+
+
+
+--profiling 默认值:true
+
+
+
+
+
+
+通过 Web 界面启用性能分析 host:port/debug/pprof/
+
+
+
+--proxy-client-cert-file string
+
+
+
+
+
+当必须调用外部程序以处理请求时,用于证明聚合器或者 kube-apiserver 的身份的客户端证书。
+包括代理转发到用户 api-server 的请求和调用 Webhook 准入控制插件的请求。
+Kubernetes 期望此证书包含来自于 --requestheader-client-ca-file 标志中所给 CA 的签名。
+该 CA 在 kube-system 命名空间的 "extension-apiserver-authentication" ConfigMap 中公开。
+从 kube-aggregator 收到调用的组件应该使用该 CA 进行各自的双向 TLS 验证。
+
+
+
+--proxy-client-key-file string
+
+
+
+
+
+当必须调用外部程序来处理请求时,用来证明聚合器或者 kube-apiserver 的身份的客户端私钥。
+这包括代理转发给用户 api-server 的请求和调用 Webhook 准入控制插件的请求。
+
+
+
+
+
+--request-timeout duration 默认值:1m0s
+
+
+
+
+
+
+可选字段,指示处理程序在超时之前必须保持打开请求的持续时间。
+这是请求的默认请求超时,但对于特定类型的请求,可能会被 --min-request-timeout 等标志覆盖。
+
+
+
+--requestheader-allowed-names stringSlice
+
+
+
+
+
+此值为客户端证书通用名称(Common Name)的列表;表中所列的表项可以用来提供用户名,
+方式是使用 --requestheader-username-headers 所指定的头部。
+如果为空,能够通过 --requestheader-client-ca-file 中机构认证的客户端证书都是被允许的。
+
+
+
+--requestheader-client-ca-file string
+
+
+
+
+
+在信任请求头中以 --requestheader-username-headers 指示的用户名之前,
+用于验证接入请求中客户端证书的根证书包。
+警告:一般不要假定传入请求已被授权。
+
+
+
+--requestheader-extra-headers-prefix stringSlice
+
+
+
+
+
+用于查验请求头部的前缀列表。建议使用 X-Remote-Extra-。
+
+
+
+--requestheader-group-headers stringSlice
+
+
+
+
+
+用于查验用户组的请求头部列表。建议使用 X-Remote-Group。
+
+
+
+--requestheader-username-headers stringSlice
+
+
+
+
+
+用于查验用户名的请求头头列表。建议使用 X-Remote-User。
+
+
+
+--runtime-config mapStringString
+
+
+
+
+
+一组启用或禁用内置 API 的键值对。支持的选项包括:
+
+
v1=true|false(针对核心 API 组)
+
<group>/<version>=true|false(针对特定 API 组和版本,例如:apps/v1=true)
+
api/all=true|false 控制所有 API 版本
+
api/ga=true|false 控制所有 v[0-9]+ API 版本
+
api/beta=true|false 控制所有 v[0-9]+beta[0-9]+ API 版本
+
api/alpha=true|false 控制所有 v[0-9]+alpha[0-9]+ API 版本
+
api/legacy 已弃用,并将在以后的版本中删除
+
+
+
+
+--secure-port int 默认值:6443
+
+
+
+
+
+
+带身份验证和鉴权机制的 HTTPS 服务端口。
+不能用 0 关闭。
+
+
+
+--service-account-extend-token-expiration
+
+
+
+
+
+在生成令牌时,启用投射服务帐户到期时间扩展,
+这有助于从旧版令牌安全地过渡到绑定的服务帐户令牌功能。
+如果启用此标志,则准入插件注入的令牌的过期时间将延长至 1 年,以防止过渡期间发生意外故障,
+并忽略 service-account-max-token-expiration 的值。
+
+
+
+--service-account-issuer {service-account-issuer}/.well-known/openid-configuration
+
+
+
+
+
+服务帐号令牌颁发者的标识符。
+颁发者将在已办法令牌的 "iss" 声明中检查此标识符。
+此值为字符串或 URI。
+如果根据 OpenID Discovery 1.0 规范检查此选项不是有效的 URI,则即使特性门控设置为 true,
+ServiceAccountIssuerDiscovery 功能也将保持禁用状态。
+强烈建议该值符合 OpenID 规范:https://openid.net/specs/openid-connect-discovery-1_0.html。
+实践中,这意味着 service-account-issuer 取值必须是 HTTPS URL。
+还强烈建议此 URL 能够在 {service-account-issuer}/.well-known/openid-configuration
+处提供 OpenID 发现文档。
+
+
+
+--service-account-jwks-uri string
+
+
+
+
+
+覆盖 /.well-known/openid-configuration 提供的发现文档中 JSON Web 密钥集的 URI。
+如果发现文档和密钥集是通过 API 服务器外部
+(而非自动检测到或被外部主机名覆盖)之外的 URL 提供给依赖方的,则此标志很有用。
+仅在启用 ServiceAccountIssuerDiscovery 特性门控的情况下有效。
+
+
+
+--service-account-key-file stringArray
+
+
+
+
+
+包含 PEM 编码的 x509 RSA 或 ECDSA 私钥或公钥的文件,用于验证 ServiceAccount 令牌。
+指定的文件可以包含多个键,并且可以使用不同的文件多次指定标志。
+如果未指定,则使用 --tls-private-key-file。
+提供 --service-account-signing-key 时必须指定。
+
+
+
+
+
+--service-account-lookup 默认值:true
+
+
+
+
+
+
+如果为 true,则在身份认证时验证 etcd 中是否存在 ServiceAccount 令牌。
+
+
+
+--service-account-max-token-expiration duration
+
+
+
+
+
+服务帐户令牌发布者创建的令牌的最长有效期。
+如果请求有效期大于此值的有效令牌请求,将使用此值的有效期颁发令牌。
+
+
+
+--service-account-signing-key-file string
+
+
+
+
+
+包含服务帐户令牌颁发者当前私钥的文件的路径。
+颁发者将使用此私钥签署所颁发的 ID 令牌(需要启用 "TokenRequest" 特性门控)。
+
+
+
+--service-cluster-ip-range string
+
+
+
+
+
+CIDR 表示的 IP 范围用来为服务分配集群 IP。
+此地址不得与指定给节点或 Pod 的任何 IP 范围重叠。
+
+
+
+
+
+--service-node-port-range portRange 默认值:30000-32767
+
+
+
+
+
+
+保留给具有 NodePort 可见性的服务的端口范围。
+例如:"30000-32767"。范围的两端都包括在内。
+
+
+
+--show-hidden-metrics-for-version string
+
+
+
+
+
+你要显示隐藏指标的先前版本。仅先前的次要版本有意义,不允许其他值。
+格式为 <major>.<minor>,例如:"1.16"。
+这种格式的目的是确保您有机会注意到下一个版本是否隐藏了其他指标,
+而不是在此之后将它们从发行版中永久删除时感到惊讶。
+
+
+
+--shutdown-delay-duration duration
+
+
+
+
+
+延迟终止时间。在此期间,服务器将继续正常处理请求。
+端点 /healthz 和 /livez 将返回成功,但是 /readyz 立即返回失败。
+在此延迟过去之后,将开始正常终止。
+这可用于允许负载平衡器停止向该服务器发送流量。
+
+
+
+--skip-headers
+
+
+
+
+
+如果为 true,日志消息中避免标题前缀
+
+
+
+--skip-log-headers
+
+
+
+
+
+如果为 true,则在打开日志文件时避免标题
+
+
+
+
+
+--stderrthreshold severity 默认值:2
+
+
+
+
+
+
+将达到或超过此阈值的日志写到标准错误输出
+
+
+
+--storage-backend string
+
+
+
+
+
+持久化存储后端。选项:"etcd3"(默认)。
+
+
+
+
+
+--storage-media-type string 默认值:"application/vnd.kubernetes.protobuf"
+
+
+
+
+
+
+用于在存储中存储对象的媒体类型。
+某些资源或存储后端可能仅支持特定的媒体类型,并且将忽略此设置。
+
+
+
+--tls-cert-file string
+
+
+
+
+
+包含用于 HTTPS 的默认 x509 证书的文件。(CA 证书(如果有)在服务器证书之后并置)。
+如果启用了 HTTPS 服务,并且未提供 --tls-cert-file 和 --tls-private-key-file,
+为公共地址生成一个自签名证书和密钥,并将其保存到 --cert-dir 指定的目录中。
+
+
+
+--tls-cipher-suites stringSlice
+
+
+
+
+
+服务器的密码套件的列表,以逗号分隔。如果省略,将使用默认的 Go 密码套件。
+
+
首选值:TLS_AES_128_GCM_SHA256、TLS_AES_256_GCM_SHA384、TLS_CHACHA20_POLY1305_SHA256、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA、TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA、TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384、TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305、TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256、TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA、TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA、TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384、TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305、TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256、TLS_RSA_WITH_3DES_EDE_CBC_SHA、TLS_RSA_WITH_AES_128_CBC_SHA、TLS_RSA_WITH_AES_128_GCM_SHA256、TLS_RSA_WTLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256、TLS_ECDHE_ECDSA_WITH_RC4_128_SHA、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256、TLS_ECDHE_RSA_WITH_RC4_128_SHA、TLS_RSA_WITH_AES_128_CBC_SHA256、TLS_RSA_WITH_RC4_128_SHA。
+
+
+--tls-min-version string
+
+
+
+
+
+支持的最低 TLS 版本。可能的值:VersionTLS10,VersionTLS11,VersionTLS12,VersionTLS13
+
+
+
+--tls-private-key-file string
+
+
+
+
+
+包含匹配 --tls-cert-file 的 x509 证书私钥的文件。
+
+
+
+
+
+--tls-sni-cert-key namedCertKey 默认值:[]
+
+
+
+
+
+
+一对 x509 证书和私钥文件路径,(可选)后缀为全限定域名的域名模式列表,可以使用带有通配符的前缀。
+域模式也允许使用 IP 地址,但仅当 apiserver 对客户端请求的IP地址具有可见性时,才应使用 IP。
+如果未提供域模式,则提取证书的名称。
+非通配符匹配优先于通配符匹配,显式域模式优先于提取出的名称。
+对于多个密钥/证书对,请多次使用 --tls-sni-cert-key。
+示例:"example.crt,example.key" 或 "foo.crt,foo.key:*.foo.com,foo.com"。
+
+
+
+--token-auth-file string
+
+
+
+
+
+如果设置该值,这个文件将被用于通过令牌认证来保护 API 服务的安全端口。
+
+
+
+-v, --v Level
+
+
+
+
+
+日志级别详细程度的数字
+
+
+
+--version version[=true]
+
+
+
+
+
+打印版本信息并退出
+
+
+
+--vmodule moduleSpec
+
+
+
+
+
+以逗号分隔的 pattern=N 设置列表,用于文件过滤的日志记录
+
+
+
+
+
+--watch-cache 默认值:true
+
+
+
+
+
+
+在 apiserver 中启用监视缓存
+
+
+
+--watch-cache-sizes stringSlice
+
+
+
+
+
+
+某些资源(pods、nodes 等)的监视缓存大小设置,以逗号分隔。
+每个资源对应的设置格式:resource[.group]#size,其中 resource 为小写复数(无版本),
+对于 apiVersion v1(旧版核心 API)的资源要省略 group,
+对其它资源要给出 group,size 为一个数字。
+启用 watch-cache 时,此功能生效。
+某些资源(replicationcontrollers、endpoints、nodes、pods、services、apiservices.apiregistration.k8s.io)
+具有通过启发式设置的系统默认值,其他资源默认为 default-watch-cache-size
+
+包含 PEM 编码格式的 X509 CA 证书的文件名。该证书用来发放集群范围的证书。
+
+
+
+
+--cluster-signing-duration duration 默认值: 8760h0m0s
+
+
+
+
+
+所签名证书的有效期限。
+
+
+--cluster-signing-key-file string 默认值:"/etc/kubernetes/ca/ca.key"
@@ -271,6 +288,118 @@ kube-controller-manager [flags]
包含 PEM 编码的 RSA 或 ECDSA 私钥的文件名。该私钥用来对集群范围证书签名。
+
+--cluster-signing-kube-apiserver-client-cert-file string
+
+
+
+
+
+包含 PEM 编码的 X509 CA 证书的文件名,
+该证书用于为 kubernetes.io/kube-apiserver-client 签署者颁发证书。
+如果指定,则不得设置 --cluster-signing-{cert,key}-file。
+
+
+
+--cluster-signing-kube-apiserver-client-key-file string
+
+
+
+
+
+包含 PEM 编码的 RSA 或 ECDSA 私钥的文件名,
+该私钥用于为 kubernetes.io/kube-apiserver-client 签署者签名证书。
+如果指定,则不得设置 --cluster-signing-{cert,key}-file。
+
+
+
+--cluster-signing-kubelet-client-cert-file string
+
+
+
+
+
+包含 PEM 编码的 X509 CA 证书的文件名,
+该证书用于为 kubernetes.io/kube-apiserver-client-kubelet 签署者颁发证书。
+如果指定,则不得设置 --cluster-signing-{cert,key}-file。
+
+
+
+--cluster-signing-kubelet-client-key-file string
+
+
+
+
+
+包含 PEM 编码的 RSA 或 ECDSA 私钥的文件名,
+该私钥用于为 kubernetes.io/kube-apiserver-client-kubelet 签署者签名证书。
+如果指定,则不得设置 --cluster-signing-{cert,key}-file。
+
+
+
+--cluster-signing-kubelet-serving-cert-file string
+
+
+
+
+
+包含 PEM 编码的 X509 CA 证书的文件名,
+该证书用于为 kubernetes.io/kubelet-serving 签署者颁发证书。
+如果指定,则不得设置 --cluster-signing-{cert,key}-file。
+
+
+
+--cluster-signing-kubelet-serving-key-file string
+
+
+
+
+
+包含 PEM 编码的 RSA或ECDSA 私钥的文件名,
+该私钥用于对 kubernetes.io/kubelet-serving 签署者的证书进行签名。
+如果指定,则不得设置 --cluster-signing-{cert,key}-file。
+
+
+
+--cluster-signing-legacy-unknown-cert-file string
+
+
+
+
+
+包含 PEM 编码的 X509 CA 证书的文件名,
+用于为 kubernetes.io/legacy-unknown 签署者颁发证书。
+如果指定,则不得设置 --cluster-signing-{cert,key}-file。
+
+
+
+--cluster-signing-legacy-unknown-key-file string
+
+
+
+
+包含 PEM 编码的 RSA 或 ECDSA 私钥的文件名,
+用于为 kubernetes.io/legacy-unknown 签署者签名证书。
+如果指定,则不得设置 --cluster-signing-{cert,key}-file。
+
+
--concurrent-deployment-syncs int32 默认值:5
@@ -409,9 +538,9 @@ kube-controller-manager [flags]
--controllers stringSlice 默认值:[*]
-
+
@@ -482,14 +611,6 @@ kube-controller-manager [flags]
要启用的控制器列表。* 表示启用所有默认启用的控制器;foo 启用名为 foo 的控制器;-foo 表示禁用名为 foo 的控制器。
-控制器的全集:attachdetach、bootstrapsigner、cloud-node-lifecycle、clusterrole-aggregation、cronjob、csrapproving、csrcleaner、csrsigning、daemonset、deployment、disruption、endpoint、endpointslice、garbagecollector、horizontalpodautoscaling、job、namespace、nodeipam、nodelifecycle、persistentvolume-binder、persistentvolume-expander、podgc、pv-protection、pvc-protection、replicaset、replicationcontroller、resourcequota、root-ca-cert-publisher、route、service、serviceaccount、serviceaccount-token、statefulset、tokencleaner、ttl、ttl-after-finished
+控制器的全集:attachdetach、bootstrapsigner、cloud-node-lifecycle、clusterrole-aggregation、cronjob、csrapproving、csrcleaner、csrsigning、daemonset、deployment、disruption、endpoint、endpointslice、endpointslicemirroring、ephemeral-volume、garbagecollector、horizontalpodautoscaling、job、namespace、nodeipam、nodelifecycle、persistentvolume-binder、persistentvolume-expander、podgc、pv-protection、pvc-protection、replicaset、replicationcontroller、resourcequota、root-ca-cert-publisher、route、service、serviceaccount、serviceaccount-token、statefulset、tokencleaner、ttl、ttl-after-finished
默认禁用的控制器有:bootstrapsigner 和 tokencleaner。端点片段(Endpoint Slice)批量更新周期时长。对 Pods 变更的处理会被延迟,以便将其与即将到来的更新操作合并,从而减少端点更新操作次数。较大的数值意味着端点更新的迟滞时间会增长,也意味着所生成的端点版本个数会变少。
-
-
-
---experimental-cluster-signing-duration duration 默认值:8760h0m0s
-
-
-
所签署的证书的有效期时长。
-
@@ -502,8 +623,180 @@ kube-controller-manager [flags]
--external-cloud-volume-plugin string
--feature-gates mapStringBool
-
-
一组 key=value 耦对,用来描述测试性/试验性功能的特性门控(Feature Gate)。可选项有:
+
+
APIListChunking=true|false (BETA - default=true)
APIPriorityAndFairness=true|false (ALPHA - default=false)
APIResponseCompression=true|false (BETA - default=true)
AllAlpha=true|false (ALPHA - default=false)
AllBeta=true|false (BETA - default=false)
AllowInsecureBackendProxy=true|false (BETA - default=true)
AnyVolumeDataSource=true|false (ALPHA - default=false)
AppArmor=true|false (BETA - default=true)
BalanceAttachedNodeVolumes=true|false (ALPHA - default=false)
BoundServiceAccountTokenVolume=true|false (ALPHA - default=false)
CPUManager=true|false (BETA - default=true)
CRIContainerLogRotation=true|false (BETA - default=true)
CSIInlineVolume=true|false (BETA - default=true)
CSIMigration=true|false (BETA - default=true)
CSIMigrationAWS=true|false (BETA - default=false)
CSIMigrationAWSComplete=true|false (ALPHA - default=false)
CSIMigrationAzureDisk=true|false (ALPHA - default=false)
CSIMigrationAzureDiskComplete=true|false (ALPHA - default=false)
CSIMigrationAzureFile=true|false (ALPHA - default=false)
CSIMigrationAzureFileComplete=true|false (ALPHA - default=false)
CSIMigrationGCE=true|false (BETA - default=false)
CSIMigrationGCEComplete=true|false (ALPHA - default=false)
CSIMigrationOpenStack=true|false (BETA - default=false)
CSIMigrationOpenStackComplete=true|false (ALPHA - default=false)
ConfigurableFSGroupPolicy=true|false (ALPHA - default=false)
CustomCPUCFSQuotaPeriod=true|false (ALPHA - default=false)
DefaultIngressClass=true|false (BETA - default=true)
DevicePlugins=true|false (BETA - default=true)
DryRun=true|false (BETA - default=true)
DynamicAuditing=true|false (ALPHA - default=false)
DynamicKubeletConfig=true|false (BETA - default=true)
EndpointSlice=true|false (BETA - default=true)
EndpointSliceProxying=true|false (ALPHA - default=false)
EphemeralContainers=true|false (ALPHA - default=false)
EvenPodsSpread=true|false (BETA - default=true)
ExpandCSIVolumes=true|false (BETA - default=true)
ExpandInUsePersistentVolumes=true|false (BETA - default=true)
ExpandPersistentVolumes=true|false (BETA - default=true)
ExperimentalHostUserNamespaceDefaulting=true|false (BETA - default=false)
HPAScaleToZero=true|false (ALPHA - default=false)
HugePageStorageMediumSize=true|false (ALPHA - default=false)
HyperVContainer=true|false (ALPHA - default=false)
IPv6DualStack=true|false (ALPHA - default=false)
ImmutableEphemeralVolumes=true|false (ALPHA - default=false)
KubeletPodResources=true|false (BETA - default=true)
LegacyNodeRoleBehavior=true|false (ALPHA - default=true)
LocalStorageCapacityIsolation=true|false (BETA - default=true)
LocalStorageCapacityIsolationFSQuotaMonitoring=true|false (ALPHA - default=false)
NodeDisruptionExclusion=true|false (ALPHA - default=false)
NonPreemptingPriority=true|false (ALPHA - default=false)
PodDisruptionBudget=true|false (BETA - default=true)
PodOverhead=true|false (BETA - default=true)
ProcMountType=true|false (ALPHA - default=false)
QOSReserved=true|false (ALPHA - default=false)
RemainingItemCount=true|false (BETA - default=true)
RemoveSelfLink=true|false (ALPHA - default=false)
ResourceLimitsPriorityFunction=true|false (ALPHA - default=false)
RotateKubeletClientCertificate=true|false (BETA - default=true)
RotateKubeletServerCertificate=true|false (BETA - default=true)
RunAsGroup=true|false (BETA - default=true)
RuntimeClass=true|false (BETA - default=true)
SCTPSupport=true|false (ALPHA - default=false)
SelectorIndex=true|false (ALPHA - default=false)
ServerSideApply=true|false (BETA - default=true)
ServiceAccountIssuerDiscovery=true|false (ALPHA - default=false)
ServiceAppProtocol=true|false (ALPHA - default=false)
ServiceNodeExclusion=true|false (ALPHA - default=false)
ServiceTopology=true|false (ALPHA - default=false)
StartupProbe=true|false (BETA - default=true)
StorageVersionHash=true|false (BETA - default=true)
SupportNodePidsLimit=true|false (BETA - default=true)
SupportPodPidsLimit=true|false (BETA - default=true)
Sysctls=true|false (BETA - default=true)
TTLAfterFinished=true|false (ALPHA - default=false)
TokenRequest=true|false (BETA - default=true)
TokenRequestProjection=true|false (BETA - default=true)
TopologyManager=true|false (BETA - default=true)
ValidateProxyRedirects=true|false (BETA - default=true)
VolumeSnapshotDataSource=true|false (BETA - default=true)
WinDSR=true|false (ALPHA - default=false)
WinOverlay=true|false (ALPHA - default=false)一组 key=value 对,用来描述测试性/试验性功能的特性门控(Feature Gate)。可选项有:
+
APIListChunking=true|false (BETA - 默认值=true)
+
APIPriorityAndFairness=true|false (ALPHA - 默认值=false)
+
APIResponseCompression=true|false (BETA - 默认值=true)
+
AllAlpha=true|false (ALPHA - 默认值=false)
+
AllBeta=true|false (BETA - 默认值=false)
+
AllowInsecureBackendProxy=true|false (BETA - 默认值=true)
+
AnyVolumeDataSource=true|false (ALPHA - 默认值=false)
+
AppArmor=true|false (BETA - 默认值=true)
+
BalanceAttachedNodeVolumes=true|false (ALPHA - 默认值=false)
+
BoundServiceAccountTokenVolume=true|false (ALPHA - 默认值=false)
+
CPUManager=true|false (BETA - 默认值=true)
+
CRIContainerLogRotation=true|false (BETA - 默认值=true)
+
CSIInlineVolume=true|false (BETA - 默认值=true)
+
CSIMigration=true|false (BETA - 默认值=true)
+
CSIMigrationAWS=true|false (BETA - 默认值=false)
+
CSIMigrationAWSComplete=true|false (ALPHA - 默认值=false)
+
CSIMigrationAzureDisk=true|false (BETA - 默认值=false)
+
CSIMigrationAzureDiskComplete=true|false (ALPHA - 默认值=false)
+
CSIMigrationAzureFile=true|false (ALPHA - 默认值=false)
+
CSIMigrationAzureFileComplete=true|false (ALPHA - 默认值=false)
+
CSIMigrationGCE=true|false (BETA - 默认值=false)
+
CSIMigrationGCEComplete=true|false (ALPHA - 默认值=false)
+
CSIMigrationOpenStack=true|false (BETA - 默认值=false)
+
CSIMigrationOpenStackComplete=true|false (ALPHA - 默认值=false)
+
CSIMigrationvSphere=true|false (BETA - 默认值=false)
+
CSIMigrationvSphereComplete=true|false (BETA - 默认值=false)
+
CSIStorageCapacity=true|false (ALPHA - 默认值=false)
+
CSIVolumeFSGroupPolicy=true|false (ALPHA - 默认值=false)
+
ConfigurableFSGroupPolicy=true|false (ALPHA - 默认值=false)
+
CustomCPUCFSQuotaPeriod=true|false (ALPHA - 默认值=false)
+
DefaultPodTopologySpread=true|false (ALPHA - 默认值=false)
+
DevicePlugins=true|false (BETA - 默认值=true)
+
DisableAcceleratorUsageMetrics=true|false (ALPHA - 默认值=false)
+
DynamicKubeletConfig=true|false (BETA - 默认值=true)
+
EndpointSlice=true|false (BETA - 默认值=true)
+
EndpointSliceProxying=true|false (BETA - 默认值=true)
+
EphemeralContainers=true|false (ALPHA - 默认值=false)
+
ExpandCSIVolumes=true|false (BETA - 默认值=true)
+
ExpandInUsePersistentVolumes=true|false (BETA - 默认值=true)
+
ExpandPersistentVolumes=true|false (BETA - 默认值=true)
+
ExperimentalHostUserNamespaceDefaulting=true|false (BETA - 默认值=false)
+
GenericEphemeralVolume=true|false (ALPHA - 默认值=false)
+
HPAScaleToZero=true|false (ALPHA - 默认值=false)
+
HugePageStorageMediumSize=true|false (BETA - 默认值=true)
+
HyperVContainer=true|false (ALPHA - 默认值=false)
+
IPv6DualStack=true|false (ALPHA - 默认值=false)
+
ImmutableEphemeralVolumes=true|false (BETA - 默认值=true)
+
KubeletPodResources=true|false (BETA - 默认值=true)
+
LegacyNodeRoleBehavior=true|false (BETA - 默认值=true)
+
LocalStorageCapacityIsolation=true|false (BETA - 默认值=true)
+
LocalStorageCapacityIsolationFSQuotaMonitoring=true|false (ALPHA - 默认值=false)
+
NodeDisruptionExclusion=true|false (BETA - 默认值=true)
+
NonPreemptingPriority=true|false (BETA - 默认值=true)
+
PodDisruptionBudget=true|false (BETA - 默认值=true)
+
PodOverhead=true|false (BETA - 默认值=true)
+
ProcMountType=true|false (ALPHA - 默认值=false)
+
QOSReserved=true|false (ALPHA - 默认值=false)
+
RemainingItemCount=true|false (BETA - 默认值=true)
+
RemoveSelfLink=true|false (ALPHA - 默认值=false)
+
RotateKubeletServerCertificate=true|false (BETA - 默认值=true)
+
RunAsGroup=true|false (BETA - 默认值=true)
+
RuntimeClass=true|false (BETA - 默认值=true)
+
SCTPSupport=true|false (BETA - 默认值=true)
+
SelectorIndex=true|false (BETA - 默认值=true)
+
ServerSideApply=true|false (BETA - 默认值=true)
+
ServiceAccountIssuerDiscovery=true|false (ALPHA - 默认值=false)
+
ServiceAppProtocol=true|false (BETA - 默认值=true)
+
ServiceNodeExclusion=true|false (BETA - 默认值=true)
+
ServiceTopology=true|false (ALPHA - 默认值=false)
+
SetHostnameAsFQDN=true|false (ALPHA - 默认值=false)
+
StartupProbe=true|false (BETA - 默认值=true)
+
StorageVersionHash=true|false (BETA - 默认值=true)
+
SupportNodePidsLimit=true|false (BETA - 默认值=true)
+
SupportPodPidsLimit=true|false (BETA - 默认值=true)
+
Sysctls=true|false (BETA - 默认值=true)
+
TTLAfterFinished=true|false (ALPHA - 默认值=false)
+
TokenRequest=true|false (BETA - 默认值=true)
+
TokenRequestProjection=true|false (BETA - 默认值=true)
+
TopologyManager=true|false (BETA - 默认值=true)
+
ValidateProxyRedirects=true|false (BETA - 默认值=true)
+
VolumeSnapshotDataSource=true|false (BETA - 默认值=true)
+
WarningHeaders=true|false (BETA - 默认值=true)
+
WinDSR=true|false (ALPHA - 默认值=false)
+
WinOverlay=true|false (ALPHA - 默认值=false)
+
WindowsEndpointSliceProxying=true|false (ALPHA - 默认值=false)
+
@@ -647,12 +940,20 @@ kube-controller-manager [flags]
-
-
--leader-elect-resource-lock endpoints 默认值:"endpointsleases"
+
+
+--leader-elect-resource-lock string 默认值:"endpointsleases"
+
-
-
在领导者选举期间用来执行锁操作的资源对象类型。可选项为 endpointsleases (默认值)和 configmaps。
+
+
+在领导者选举期间用于锁定的资源对象的类型。 支持的选项为'endpoints'、'configmaps'、'leases'、'endpointsleases' 和 'configmapsleases'。
+
@@ -723,6 +1024,25 @@ kube-controller-manager [flags]
+将内存中日志数据清除到日志文件中时,相邻两次清除操作之间最大间隔秒数。
+
+
+
+--logging-format string 默认值:"text"
+
+
+
+
+
+设置日志格式。允许的格式:"text","json"。
+
+
非默认格式不支持以下标志:--add_dir_header、--alsologtostderr、--log_backtrace_at、--log_dir、--log_file、--log_file_max_size、--logtostderr、--skip_headers、--skip_log_headers、--stderrthreshold、--vmodule、--log-flush-frequency。
+
当前非默认选项为 Alpha,如有更改,恕不另行通知。
+
+--logtostderr 默认值:true
@@ -758,6 +1078,58 @@ kube-controller-manager [flags]
自省程序的重新同步时隔下限。实际时隔长度会在 min-resync-period 和 2 * min-resync-period 之间。
+
+
+
+--mirroring-concurrent-service-endpoint-syncs int32 默认值:5
+
+
+
+
+
+
+EndpointSliceMirroring 控制器将同时执行的服务端点同步操作数。
+较大的数量 = 更快的端点切片更新,但 CPU(和网络)负载更多。 默认为 5。
+
+
+
+--mirroring-endpointslice-updates-batch-period duration
+
+
+
+
+
+EndpointSlice 的长度更新了 EndpointSliceMirroring 控制器的批处理周期。
+EndpointSlice 更改的处理将延迟此持续时间,
+以使它们与潜在的即将进行的更新结合在一起,并减少 EndpointSlice 更新的总数。
+较大的数量 = 较高的端点编程延迟,但是生成的端点修订版本数量较少
+
+
+
+
+
+--mirroring-max-endpoints-per-subset int32 默认值:1000
+
+
+
+
+
+EndpointSliceMirroring 控制器将添加到 EndpointSlice 的最大端点数。
+每个分片的端点越多,端点分片越少,但资源越大。
+默认为 100。
+
+
+--namespace-sync-period duration 默认值:5m0s
@@ -827,6 +1199,20 @@ kube-controller-manager [flags]
在节点启动期间,节点可以处于无响应状态;但超出此标志所设置的时长仍然无响应则该节点被标记为不健康。
+
+--permit-port-sharing
+
+
+
+
+如果为 true,则在绑定端口时将使用 SO_REUSEPORT,
+这允许多个实例在同一地址和端口上进行绑定。
+[默认值 = false]
+
+
--pod-eviction-timeout duration 默认值:5m0s
@@ -1058,8 +1444,9 @@ kube-controller-manager [flags]
--tls-cipher-suites stringSlice
-
-
供服务器使用的加密包的逗号分隔列表。若忽略此标志,则使用 Go 语言默认的加密包。可选值包括:TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_RC4_128_SHA
+
+供服务器使用的加密包的逗号分隔列表。若忽略此标志,则使用 Go 语言默认的加密包。可选值包括:TLS_AES_128_GCM_SHA256、TLS_AES_256_GCM_SHA384、TLS_CHACHA20_POLY1305_SHA256、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA、TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA、TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384、TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305、TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256、TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA、TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA、TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384、TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305、TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256、TLS_RSA_WITH_3DES_EDE_CBC_SHA、TLS_RSA_WITH_AES_128_CBC_SHA、TLS_RSA_WITH_AES_128_GCM_SHA256、TLS_RSA_WITH_AES_256_CBC_SHA、TLS_RSA_WITH_AES_256_GCM_SHA384.
+
不安全的值: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256、TLS_ECDHE_ECDSA_WITH_RC4_128_SHA、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256、TLS_ECDHE_RSA_WITH_RC4_128_SHA、TLS_RSA_WITH_AES_128_CBC_SHA256、TLS_RSA_WITH_RC4_128_SHA
diff --git a/content/zh/docs/reference/command-line-tools-reference/kube-proxy.md b/content/zh/docs/reference/command-line-tools-reference/kube-proxy.md
index ffbc4e7ec8..1c98ff35da 100644
--- a/content/zh/docs/reference/command-line-tools-reference/kube-proxy.md
+++ b/content/zh/docs/reference/command-line-tools-reference/kube-proxy.md
@@ -209,15 +209,215 @@ Idle timeout for established TCP connections (0 to leave as-is)
+
+
+--detect-local-mode LocalMode
+
+
+
+
+用于检测本地流量的模式
+
+
--feature-gates mapStringBool
+
+
-一组键=值(key=value)对,描述了 alpha/experimental 的特征。可选项有:
+
APIListChunking=true|false (BETA - 默认值=true)
APIResponseCompression=true|false (BETA - 默认值=true)
AllAlpha=true|false (ALPHA - 默认值=false)
AppArmor=true|false (BETA - 默认值=true)
AttachVolumeLimit=true|false (BETA - 默认值=true)
BalanceAttachedNodeVolumes=true|false (ALPHA - 默认值=false)
BlockVolume=true|false (BETA - 默认值=true)
BoundServiceAccountTokenVolume=true|false (ALPHA - 默认值=false)
CPUManager=true|false (BETA - 默认值=true)
CRIContainerLogRotation=true|false (BETA - 默认值=true)
CSIBlockVolume=true|false (BETA - 默认值=true)
CSIDriverRegistry=true|false (BETA - 默认值=true)
CSIInlineVolume=true|false (BETA - 默认值=true)
CSIMigration=true|false (ALPHA - 默认值=false)
CSIMigrationAWS=true|false (ALPHA - 默认值=false)
CSIMigrationAzureDisk=true|false (ALPHA - 默认值=false)
CSIMigrationAzureFile=true|false (ALPHA - 默认值=false)
CSIMigrationGCE=true|false (ALPHA - 默认值=false)
CSIMigrationOpenStack=true|false (ALPHA - 默认值=false)
CSINodeInfo=true|false (BETA - 默认值=true)
CustomCPUCFSQuotaPeriod=true|false (ALPHA - 默认值=false)
CustomResource默认值ing=true|false (BETA - 默认值=true)
DevicePlugins=true|false (BETA - 默认值=true)
DryRun=true|false (BETA - 默认值=true)
DynamicAuditing=true|false (ALPHA - 默认值=false)
DynamicKubeletConfig=true|false (BETA - 默认值=true)
EndpointSlice=true|false (ALPHA - 默认值=false)
EphemeralContainers=true|false (ALPHA - 默认值=false)
EvenPodsSpread=true|false (ALPHA - 默认值=false)
ExpandCSIVolumes=true|false (BETA - 默认值=true)
ExpandInUsePersistentVolumes=true|false (BETA - 默认值=true)
ExpandPersistentVolumes=true|false (BETA - 默认值=true)
ExperimentalHostUserNamespace默认值ing=true|false (BETA - 默认值=false)
HPAScaleToZero=true|false (ALPHA - 默认值=false)
HyperVContainer=true|false (ALPHA - 默认值=false)
IPv6DualStack=true|false (ALPHA - 默认值=false)
KubeletPodResources=true|false (BETA - 默认值=true)
LegacyNodeRoleBehavior=true|false (ALPHA - 默认值=true)
LocalStorageCapacityIsolation=true|false (BETA - 默认值=true)
LocalStorageCapacityIsolationFSQuotaMonitoring=true|false (ALPHA - 默认值=false)
MountContainers=true|false (ALPHA - 默认值=false)
NodeDisruptionExclusion=true|false (ALPHA - 默认值=false)
NodeLease=true|false (BETA - 默认值=true)
NonPreemptingPriority=true|false (ALPHA - 默认值=false)
PodOverhead=true|false (ALPHA - 默认值=false)
PodShareProcessNamespace=true|false (BETA - 默认值=true)
ProcMountType=true|false (ALPHA - 默认值=false)
QOSReserved=true|false (ALPHA - 默认值=false)
RemainingItemCount=true|false (BETA - 默认值=true)
RemoveSelfLink=true|false (ALPHA - 默认值=false)
RequestManagement=true|false (ALPHA - 默认值=false)
ResourceLimitsPriorityFunction=true|false (ALPHA - 默认值=false)
ResourceQuotaScopeSelectors=true|false (BETA - 默认值=true)
RotateKubeletClientCertificate=true|false (BETA - 默认值=true)
RotateKubeletServerCertificate=true|false (BETA - 默认值=true)
RunAsGroup=true|false (BETA - 默认值=true)
RuntimeClass=true|false (BETA - 默认值=true)
SCTPSupport=true|false (ALPHA - 默认值=false)
ScheduleDaemonSetPods=true|false (BETA - 默认值=true)
ServerSideApply=true|false (BETA - 默认值=true)
ServiceLoadBalancerFinalizer=true|false (BETA - 默认值=true)
ServiceNodeExclusion=true|false (ALPHA - 默认值=false)
StartupProbe=true|false (BETA - 默认值=true)
StorageVersionHash=true|false (BETA - 默认值=true)
StreamingProxyRedirects=true|false (BETA - 默认值=true)
SupportNodePidsLimit=true|false (BETA - 默认值=true)
SupportPodPidsLimit=true|false (BETA - 默认值=true)
Sysctls=true|false (BETA - 默认值=true)
TTLAfterFinished=true|false (ALPHA - 默认值=false)
TaintBasedEvictions=true|false (BETA - 默认值=true)
TaintNodesByCondition=true|false (BETA - 默认值=true)
TokenRequest=true|false (BETA - 默认值=true)
TokenRequestProjection=true|false (BETA - 默认值=true)
TopologyManager=true|false (ALPHA - 默认值=false)
ValidateProxyRedirects=true|false (BETA - 默认值=true)
VolumePVCDataSource=true|false (BETA - 默认值=true)
VolumeSnapshotDataSource=true|false (ALPHA - 默认值=false)
VolumeSubpathEnvExpansion=true|false (BETA - 默认值=true)
WatchBookmark=true|false (BETA - 默认值=true)
WinDSR=true|false (ALPHA - 默认值=false)
WinOverlay=true|false (ALPHA - 默认值=false)
WindowsGMSA=true|false (BETA - 默认值=true)
WindowsRunAsUserName=true|false (ALPHA - 默认值=false)
+一组键=值(key=value)对,描述了 alpha/experimental 的特征。可选项有:
+
APIListChunking=true|false (BETA - 默认值=true)
+
APIPriorityAndFairness=true|false (ALPHA - 默认值=false)
+
APIResponseCompression=true|false (BETA - 默认值=true)
+
AllAlpha=true|false (ALPHA - 默认值=false)
+
AllBeta=true|false (BETA - 默认值=false)
+
AllowInsecureBackendProxy=true|false (BETA - 默认值=true)
+
AnyVolumeDataSource=true|false (ALPHA - 默认值=false)
+
AppArmor=true|false (BETA - 默认值=true)
+
BalanceAttachedNodeVolumes=true|false (ALPHA - 默认值=false)
+
BoundServiceAccountTokenVolume=true|false (ALPHA - 默认值=false)
+
CPUManager=true|false (BETA - 默认值=true)
+
CRIContainerLogRotation=true|false (BETA - 默认值=true)
+
CSIInlineVolume=true|false (BETA - 默认值=true)
+
CSIMigration=true|false (BETA - 默认值=true)
+
CSIMigrationAWS=true|false (BETA - 默认值=false)
+
CSIMigrationAWSComplete=true|false (ALPHA - 默认值=false)
+
CSIMigrationAzureDisk=true|false (BETA - 默认值=false)
+
CSIMigrationAzureDiskComplete=true|false (ALPHA - 默认值=false)
+
CSIMigrationAzureFile=true|false (ALPHA - 默认值=false)
+
CSIMigrationAzureFileComplete=true|false (ALPHA - 默认值=false)
+
CSIMigrationGCE=true|false (BETA - 默认值=false)
+
CSIMigrationGCEComplete=true|false (ALPHA - 默认值=false)
+
CSIMigrationOpenStack=true|false (BETA - 默认值=false)
+
CSIMigrationOpenStackComplete=true|false (ALPHA - 默认值=false)
+
CSIMigrationvSphere=true|false (BETA - 默认值=false)
+
CSIMigrationvSphereComplete=true|false (BETA - 默认值=false)
+
CSIStorageCapacity=true|false (ALPHA - 默认值=false)
+
CSIVolumeFSGroupPolicy=true|false (ALPHA - 默认值=false)
+
ConfigurableFSGroupPolicy=true|false (ALPHA - 默认值=false)
+
CustomCPUCFSQuotaPeriod=true|false (ALPHA - 默认值=false)
+
DefaultPodTopologySpread=true|false (ALPHA - 默认值=false)
+
DevicePlugins=true|false (BETA - 默认值=true)
+
DisableAcceleratorUsageMetrics=true|false (ALPHA - 默认值=false)
+
DynamicKubeletConfig=true|false (BETA - 默认值=true)
+
EndpointSlice=true|false (BETA - 默认值=true)
+
EndpointSliceProxying=true|false (BETA - 默认值=true)
+
EphemeralContainers=true|false (ALPHA - 默认值=false)
+
ExpandCSIVolumes=true|false (BETA - 默认值=true)
+
ExpandInUsePersistentVolumes=true|false (BETA - 默认值=true)
+
ExpandPersistentVolumes=true|false (BETA - 默认值=true)
+
ExperimentalHostUserNamespace默认值ing=true|false (BETA - 默认值=false)
+
GenericEphemeralVolume=true|false (ALPHA - 默认值=false)
+
HPAScaleToZero=true|false (ALPHA - 默认值=false)
+
HugePageStorageMediumSize=true|false (BETA - 默认值=true)
+
HyperVContainer=true|false (ALPHA - 默认值=false)
+
IPv6DualStack=true|false (ALPHA - 默认值=false)
+
ImmutableEphemeralVolumes=true|false (BETA - 默认值=true)
+
KubeletPodResources=true|false (BETA - 默认值=true)
+
LegacyNodeRoleBehavior=true|false (BETA - 默认值=true)
+
LocalStorageCapacityIsolation=true|false (BETA - 默认值=true)
+
LocalStorageCapacityIsolationFSQuotaMonitoring=true|false (ALPHA - 默认值=false)
+
NodeDisruptionExclusion=true|false (BETA - 默认值=true)
+
NonPreemptingPriority=true|false (BETA - 默认值=true)
+
PodDisruptionBudget=true|false (BETA - 默认值=true)
+
PodOverhead=true|false (BETA - 默认值=true)
+
ProcMountType=true|false (ALPHA - 默认值=false)
+
QOSReserved=true|false (ALPHA - 默认值=false)
+
RemainingItemCount=true|false (BETA - 默认值=true)
+
RemoveSelfLink=true|false (ALPHA - 默认值=false)
+
RotateKubeletServerCertificate=true|false (BETA - 默认值=true)
+
RunAsGroup=true|false (BETA - 默认值=true)
+
RuntimeClass=true|false (BETA - 默认值=true)
+
SCTPSupport=true|false (BETA - 默认值=true)
+
SelectorIndex=true|false (BETA - 默认值=true)
+
ServerSideApply=true|false (BETA - 默认值=true)
+
ServiceAccountIssuerDiscovery=true|false (ALPHA - 默认值=false)
+
ServiceAppProtocol=true|false (BETA - 默认值=true)
+
ServiceNodeExclusion=true|false (BETA - 默认值=true)
+
ServiceTopology=true|false (ALPHA - 默认值=false)
+
SetHostnameAsFQDN=true|false (ALPHA - 默认值=false)
+
StartupProbe=true|false (BETA - 默认值=true)
+
StorageVersionHash=true|false (BETA - 默认值=true)
+
SupportNodePidsLimit=true|false (BETA - 默认值=true)
+
SupportPodPidsLimit=true|false (BETA - 默认值=true)
+
Sysctls=true|false (BETA - 默认值=true)
+
TTLAfterFinished=true|false (ALPHA - 默认值=false)
+
TokenRequest=true|false (BETA - 默认值=true)
+
TokenRequestProjection=true|false (BETA - 默认值=true)
+
TopologyManager=true|false (BETA - 默认值=true)
+
ValidateProxyRedirects=true|false (BETA - 默认值=true)
+
VolumeSnapshotDataSource=true|false (BETA - 默认值=true)
+
WarningHeaders=true|false (BETA - 默认值=true)
+
WinDSR=true|false (ALPHA - 默认值=false)
+
WinOverlay=true|false (ALPHA - 默认值=false)
+
WindowsEndpointSliceProxying=true|false (ALPHA - 默认值=false)
+
+
+
+
+--healthz-bind-address 0.0.0.0 默认值: 0.0.0.0:10256
+
+
+
@@ -234,24 +434,7 @@ A set of key=value pairs that describe feature gates for alpha/experimental feat
-服务健康检查的 IP 地址和端口(对于所有 IPv4 接口设置为 0.0.0.0,对于所有 IPv6 接口设置为 ::)
-
-
-
-
+
+服务健康检查的 IP 地址和端口(对于所有 IPv4 接口设置为 '0.0.0.0:10256',对于所有 IPv6 接口设置为 '[::]:10256')
+设置为空则禁用。
-
-
-
---healthz-port int32 默认值: 10256
-
-
-
@@ -297,7 +480,12 @@ If using the pure iptables proxy, the bit of the fwmark space to mark packets re
-
-绑定健康检查服务的端口。使用 0 表示禁用。
+服务健康检查的 IP 地址和端口(设置为 0.0.0.0 表示使用所有 IPv4 接口,设置为 :: 表示使用所有 IPv6 接口)
-
--iptables-min-sync-period duration
+
+
+ --iptables-min-sync-period duration 默认值:1s
+
+
+
@@ -390,6 +578,43 @@ The maximum interval of how often ipvs rules are refreshed (e.g. '5s', '1m', '2h
+
+--ipvs-tcp-timeout duration
+
+
+
+
+
+空闲 IPVS TCP 连接的超时时间,0 保持连接(例如 '5s'、'1m'、'2h22m')。
+
+
+
+--ipvs-tcpfin-timeout duration
+
+
+
+
+
+收到 FIN 数据包后,IPVS TCP 连接的超时,0 保持连接不变(例如 '5s'、'1m'、'2h22m')。
+
+
+
+--ipvs-udp-timeout duration
+
+
+
+
+IPVS UDP 数据包的超时,0 保持连接不动(例如 '5s'、'1m'、'2h22m')。
+
+
---metrics-bind-address 0.0.0.0 默认值: 127.0.0.1:10249
+--metrics-bind-address ipport 0.0.0.0 默认值: 127.0.0.1:10249
@@ -593,6 +822,22 @@ Range of host ports (beginPort-endPort, single port or beginPort+offset, inclusi
+
-metrics 服务器要使用的 IP 地址(所有 IPv4 接口设置为 0.0.0.0,所有 IPv6 接口设置为 `::`)
+metrics 服务器要使用的 IP 地址和端口
+(设置为 '0.0.0.0:10249' 则使用 IPv4 接口,设置为 '[::]:10249' 则使用所有 IPv6 接口)
+设置为空则禁用。
+
+--show-hidden-metrics-for-version string
+
+
+
+
+你要显示隐藏指标的先前版本。
+仅先前的次要版本有意义,不允许其他值。
+格式为 <major>.<minor> ,例如:'1.16'。
+这种格式的目的是确保你有机会注意到下一个发行版是否隐藏了其他指标,
+而不是在之后将其永久删除时感到惊讶。
+
+
-{{< toc >}}
-
-## Overview
+
+## 概述
+
+kubelet 的 HTTPS 端点公开了 API,
+这些 API 可以访问敏感度不同的数据,
+并允许你在节点上和容器内以不同级别的权限执行操作。
+
+本文档介绍了如何对 kubelet 的 HTTPS 端点的访问进行认证和鉴权。
-## Kubelet authentication
+
+## Kubelet 认证
+
+默认情况下,未被已配置的其他身份认证方法拒绝的对 kubelet 的 HTTPS 端点的请求会被视为匿名请求,
+并被赋予 `system:anonymous` 用户名和 `system:unauthenticated` 组。
+
+要禁用匿名访问并向未经身份认证的请求发送 `401 Unauthorized` 响应,请执行以下操作:
-* start the kubelet with the `--anonymous-auth=false` flag
+
+* 带 `--anonymous-auth=false` 标志启动 kubelet
+
+要对 kubelet 的 HTTPS 端点启用 X509 客户端证书认证:
+
+* 带 `--client-ca-file` 标志启动 kubelet,提供一个 CA 证书包以供验证客户端证书
+* 带 `--kubelet-client-certificate` 和 `--kubelet-client-key` 标志启动 apiserver
+* 有关更多详细信息,请参见 [apiserver 身份验证文档](/zh/docs/admin/authentication/#x509-client-certs)
+
+要启用 API 持有者令牌(包括服务帐户令牌)以对 kubelet 的 HTTPS 端点进行身份验证,请执行以下操作:
+
+* 确保在 API 服务器中启用了 `authentication.k8s.io/v1beta1` API 组
+* 带 `--authentication-token-webhook` 和 `--kubeconfig` 标志启动 kubelet
+* kubelet 调用已配置的 API 服务器上的 `TokenReview` API,以根据持有者令牌确定用户信息
-## Kubelet authorization
+
+## Kubelet 鉴权
+
+任何成功通过身份验证的请求(包括匿名请求)之后都会被鉴权。
+默认的鉴权模式为 `AlwaysAllow`,它允许所有请求。
+
+细分对 kubelet API 的访问权限可能有多种原因:
+
+* 启用了匿名身份验证,但是应限制匿名用户调用 kubelet API 的能力
+* 启用了持有者令牌认证,但应限制任意 API 用户(如服务帐户)调用 kubelet API 的能力
+* 启用了客户端证书身份验证,但仅应允许已配置的 CA 签名的某些客户端证书使用 kubelet API
+
+要细分对 kubelet API 的访问权限,请将鉴权委派给 API 服务器:
+
+* 确保在 API 服务器中启用了 `authorization.k8s.io/v1beta1` API 组
+* 带 `--authorization-mode=Webhook` 和 `--kubeconfig` 标志启动 kubelet
+* kubelet 调用已配置的 API 服务器上的 `SubjectAccessReview` API,以确定每个请求是否得到鉴权
+
+kubelet 使用与 apiserver 相同的[请求属性](/zh/docs/admin/authorization/#request-attributes)方法对 API 请求执行鉴权。
+
+请求的动词根据传入请求的 HTTP 动词确定:
+
+HTTP 动词 | 请求动词
----------|---------------
POST | create
GET, HEAD | get
@@ -63,24 +136,38 @@ PUT | update
PATCH | patch
DELETE | delete
+
+资源和子资源是根据传入请求的路径确定的:
-Kubelet API | resource | subresource
+
+Kubelet API | 资源 | 子资源
-------------|----------|------------
/stats/\* | nodes | stats
/metrics/\* | nodes | metrics
/logs/\* | nodes | log
/spec/\* | nodes | spec
-*all others* | nodes | proxy
+*其它所有* | nodes | proxy
+
+名字空间和 API 组属性始终是空字符串,
+资源名称始终是 kubelet 的 `Node` API 对象的名称。
+
+在此模式下运行时,请确保传递给 apiserver 的由 `--kubelet-client-certificate` 和
+`--kubelet-client-key` 标志标识的用户具有以下属性的鉴权:
* verb=\*, resource=nodes, subresource=proxy
* verb=\*, resource=nodes, subresource=stats
* verb=\*, resource=nodes, subresource=log
* verb=\*, resource=nodes, subresource=spec
-* verb=\*, resource=nodes, subresource=metrics
+* verb=\*, resource=nodes, subresource=metrics
\ No newline at end of file
diff --git a/content/zh/docs/reference/glossary/addons.md b/content/zh/docs/reference/glossary/addons.md
index 00a871a227..31fc1f0098 100644
--- a/content/zh/docs/reference/glossary/addons.md
+++ b/content/zh/docs/reference/glossary/addons.md
@@ -1,5 +1,5 @@
---
-title: 附加组件
+title: 附加组件(Add-ons)
id: addons
date: 2019-12-15
full_link: /zh/docs/concepts/cluster-administration/addons/
@@ -10,14 +10,12 @@ aka:
tags:
- tool
---
- 扩展 Kubernetes 功能的资源。
-
+
+
+
+ 扩展 Kubernetes 功能的资源。
-[安装附加组件](/docs/concepts/cluster-administration/addons/) 阐释了更多关于如何在集群内使用附加组件,并列出了一些流行的附加组件。
+[安装附加组件](/zh/docs/concepts/cluster-administration/addons/) 阐释了更多关于如何在集群内使用附加组件,并列出了一些流行的附加组件。
diff --git a/content/zh/docs/reference/glossary/admission-controller.md b/content/zh/docs/reference/glossary/admission-controller.md
index adbd681fae..22567c4861 100644
--- a/content/zh/docs/reference/glossary/admission-controller.md
+++ b/content/zh/docs/reference/glossary/admission-controller.md
@@ -1,5 +1,5 @@
---
-title: 准入控制器
+title: 准入控制器(Admission Controller)
id: admission-controller
date: 2019-06-28
full_link: /zh/docs/reference/access-authn-authz/admission-controllers/
@@ -11,12 +11,13 @@ tags:
- security
---
+
+
+
在对象持久化之前拦截 Kubernetes Api 服务器请求的一段代码
+
+
+
+
聚合层允许您在自己的集群上安装额外的 Kubernetes 风格的 API。
-
+
+
-当您配置了 {{< glossary_tooltip text="Kubernetes API Server" term_id="kube-apiserver" >}} 来 [支持额外的 API](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/),您就可以在 Kubernetes API 中增加 `APIService` 对象来 "申领(Claim)" 一个 URL 路径。
+当您配置了 {{< glossary_tooltip text="Kubernetes API Server" term_id="kube-apiserver" >}} 来 [支持额外的 API](/zh/docs/tasks/extend-kubernetes/configure-aggregation-layer/),您就可以在 Kubernetes API 中增加 `APIService` 对象来 "申领(Claim)" 一个 URL 路径。
diff --git a/content/zh/docs/reference/glossary/annotation.md b/content/zh/docs/reference/glossary/annotation.md
index a5da0a060f..a305352e32 100644
--- a/content/zh/docs/reference/glossary/annotation.md
+++ b/content/zh/docs/reference/glossary/annotation.md
@@ -1,5 +1,5 @@
---
-title: 注解
+title: 注解(Annotation)
id: annotation
date: 2018-04-12
full_link: /zh/docs/concepts/overview/working-with-objects/annotations/
@@ -16,7 +16,7 @@ tags:
title: Annotation
id: annotation
date: 2018-04-12
-full_link: /zh/docs/concepts/overview/working-with-objects/annotations/
+full_link: /docs/concepts/overview/working-with-objects/annotations
short_description: >
A key-value pair that is used to attach arbitrary non-identifying metadata to objects.
@@ -26,6 +26,8 @@ tags:
---
-->
+
+
@@ -35,8 +37,10 @@ tags:
-注解中的元数据可大可小,可以是结构化的也可以是非结构化的,并且能包含标签不允许使用的字符。像工具和软件库这样的客户端可以检索这些元数据。
+注解中的元数据可大可小,可以是结构化的也可以是非结构化的,
+并且能包含{{< glossary_tooltip text="标签" term_id="label" >}}不允许使用的字符。
+像工具和软件库这样的客户端可以检索这些元数据。
diff --git a/content/zh/docs/reference/glossary/api-group.md b/content/zh/docs/reference/glossary/api-group.md
index 07c222acbe..d2c360a214 100644
--- a/content/zh/docs/reference/glossary/api-group.md
+++ b/content/zh/docs/reference/glossary/api-group.md
@@ -11,12 +11,13 @@ tags:
- fundamental
- architecture
---
+
+
Kubernetes API 中的一组相关路径。
-
+
-通过更改 API server 的配置,可以启用或禁用每个 API Group。你还可以禁用或启用指向特定资源的路径。API group 使扩展 Kubernetes API 更加的容易。API group 在 REST 路径和序列化对象的 `apiVersion` 字段中指定。
+通过更改 API server 的配置,可以启用或禁用每个 API Group。
+你还可以禁用或启用指向特定资源的路径。
+API group 使扩展 Kubernetes API 更加的容易。
+API group 在 REST 路径和序列化对象的 `apiVersion` 字段中指定。
-* 阅读 [API Group](/docs/concepts/overview/kubernetes-api/#api-groups) 了解更多信息。
+* 阅读 [API Group](/zh/docs/concepts/overview/kubernetes-api/#api-groups) 了解更多信息。
diff --git a/content/zh/docs/reference/glossary/app-container.md b/content/zh/docs/reference/glossary/app-container.md
index a3238d65dd..3773e1c1b8 100644
--- a/content/zh/docs/reference/glossary/app-container.md
+++ b/content/zh/docs/reference/glossary/app-container.md
@@ -1,5 +1,5 @@
---
-title: 应用程序容器
+title: 应用程序容器(App Container)
id: app-container
date: 2019-02-12
full_link:
@@ -10,7 +10,6 @@ aka:
tags:
- workload
---
- 应用程序容器(或 app 容器){{< glossary_tooltip text="容器" term_id="container" >}} 在 {{< glossary_tooltip text="pod" term_id="pod" >}} 中,在 {{< glossary_tooltip text="初始化容器" term_id="init-container" >}} 启动完毕后才开始启动。
+
+
+ 应用程序 {{< glossary_tooltip text="容器" term_id="container" >}} (或 app 容器)在 {{< glossary_tooltip text="pod" term_id="pod" >}} 中,在 {{< glossary_tooltip text="初始化容器" term_id="init-container" >}} 启动完毕后才开始启动。
+
+
@@ -37,5 +42,6 @@ once the application container has started.
If a pod doesn't have any init containers configured, all the containers in that pod are app containers.
-->
-初始化容器使您可以分离对于 {{< glossary_tooltip text="工作负载" term_id="workload" >}} 整体而言很重要的初始化细节,并且一旦应用容器启动,它不需要继续运行。
+初始化容器使您可以分离对于{{< glossary_tooltip text="工作负载" term_id="workload" >}}
+整体而言很重要的初始化细节,并且一旦应用容器启动,它不需要继续运行。
如果 pod 没有配置任何初始化容器,则该 pod 中的所有容器都是应用程序容器。
\ No newline at end of file
diff --git a/content/zh/docs/reference/glossary/application-architect.md b/content/zh/docs/reference/glossary/application-architect.md
index 849d1b7685..2ef153ab91 100644
--- a/content/zh/docs/reference/glossary/application-architect.md
+++ b/content/zh/docs/reference/glossary/application-architect.md
@@ -1,5 +1,5 @@
---
-title: 应用架构师
+title: 应用架构师(Application Architect)
id: application-architect
date: 2018-04-12
full_link:
@@ -10,7 +10,6 @@ aka:
tags:
- user-type
---
- 应用架构师是负责应用高级设计的人。
+
+
+ 应用架构师是负责应用高级设计的人。
+
+
+
-应用架构师确保应用的实现允许它和周边组件进行可扩展的、可持续的交互。周边组件包括数据库、日志基础设施和其他微服务。
+应用架构师确保应用的实现允许它和周边组件进行可扩展的、可持续的交互。
+周边组件包括数据库、日志基础设施和其他微服务。
diff --git a/content/zh/docs/reference/glossary/application-developer.md b/content/zh/docs/reference/glossary/application-developer.md
index 65650133da..b379b5092a 100644
--- a/content/zh/docs/reference/glossary/application-developer.md
+++ b/content/zh/docs/reference/glossary/application-developer.md
@@ -1,5 +1,5 @@
---
-title: 应用开发者
+title: 应用开发者(Application Developer)
id: application-developer
date: 2018-04-12
full_link:
@@ -26,8 +26,9 @@ tags:
---
-->
+
编写可以在 Kubernetes 集群上运行的应用的人。
diff --git a/content/zh/docs/reference/glossary/applications.md b/content/zh/docs/reference/glossary/applications.md
index cbff609142..c1420495fe 100644
--- a/content/zh/docs/reference/glossary/applications.md
+++ b/content/zh/docs/reference/glossary/applications.md
@@ -1,5 +1,5 @@
---
-title: 应用
+title: 应用(Applications)
id: applications
date: 2019-05-12
full_link:
@@ -24,4 +24,8 @@ tags:
---
-->
+
+
各种容器化应用运行所在的层。
diff --git a/content/zh/docs/reference/glossary/approver.md b/content/zh/docs/reference/glossary/approver.md
index 879ef5e58b..b28762cf16 100644
--- a/content/zh/docs/reference/glossary/approver.md
+++ b/content/zh/docs/reference/glossary/approver.md
@@ -1,5 +1,5 @@
---
-title: 批准者
+title: 批准者(Approver)
id: approver
date: 2018-04-12
full_link:
@@ -26,6 +26,9 @@ tags:
---
-->
+
可以审核并批准 Kubernetes 代码贡献的人。
@@ -36,5 +39,4 @@ While code review is focused on code quality and correctness, approval is focuse
代码审核的重点是代码质量和正确性,而批准的重点是对贡献的整体接受。
整体接受包括向后/向前兼容性、遵守 API 和参数约定、细微的性能和正确性问题、与系统其他部分的交互等。
-批准者状态的作用域是代码库的一部分。
-审批者以前被称为维护者。
+批准者状态的作用域是代码库的一部分。审批者以前被称为维护者。
diff --git a/content/zh/docs/reference/glossary/certificate.md b/content/zh/docs/reference/glossary/certificate.md
index c966aea2cb..05b50e37dc 100644
--- a/content/zh/docs/reference/glossary/certificate.md
+++ b/content/zh/docs/reference/glossary/certificate.md
@@ -1,5 +1,5 @@
---
-title: 证书
+title: 证书(Certificate)
id: certificate
date: 2018-04-12
full_link: /zh/docs/tasks/tls/managing-tls-in-a-cluster/
@@ -16,7 +16,7 @@ tags:
title: Certificate
id: certificate
date: 2018-04-12
-full_link: /zh/docs/tasks/tls/managing-tls-in-a-cluster/
+full_link: /docs/tasks/tls/managing-tls-in-a-cluster/
short_description: >
A cryptographically secure file used to validate access to the Kubernetes cluster.
@@ -26,6 +26,7 @@ tags:
---
-->
+
diff --git a/content/zh/docs/reference/glossary/cgroup.md b/content/zh/docs/reference/glossary/cgroup.md
index 10d274a5e5..b1af5e9d9d 100644
--- a/content/zh/docs/reference/glossary/cgroup.md
+++ b/content/zh/docs/reference/glossary/cgroup.md
@@ -1,5 +1,5 @@
---
-title: cgroup (控制组)
+title: 控制组(cgroup)
id: cgroup
date: 2019-06-25
full_link:
diff --git a/content/zh/docs/reference/glossary/cidr.md b/content/zh/docs/reference/glossary/cidr.md
index 7e0a97d31e..c99695543c 100644
--- a/content/zh/docs/reference/glossary/cidr.md
+++ b/content/zh/docs/reference/glossary/cidr.md
@@ -10,9 +10,8 @@ aka:
tags:
- networking
---
-CIDR (无类域间路由) 是一种描述 IP 地址块的符号,被广泛使用于各种网络配置中。
-
+
+
+CIDR (无类域间路由) 是一种描述 IP 地址块的符号,被广泛使用于各种网络配置中。
+
-在 Kubernetes 的上下文中,每个 {{< glossary_tooltip text="节点" term_id="node" >}} 以 CIDR 形式(含起始地址和子网掩码)获得一个 IP 地址段,从而能够为每个 {{< glossary_tooltip text="Pod" term_id="pod" >}} 分配一个独一无二的 IP 地址。虽然其概念最初源自 IPv4,CIDR 已经被扩展为涵盖 IPv6。
+在 Kubernetes 的上下文中,每个{{< glossary_tooltip text="节点" term_id="node" >}}
+以 CIDR 形式(含起始地址和子网掩码)获得一个 IP 地址段,
+从而能够为每个 {{< glossary_tooltip text="Pod" term_id="pod" >}} 分配一个独一无二的 IP 地址。
+虽然其概念最初源自 IPv4,CIDR 已经被扩展为涵盖 IPv6。
diff --git a/content/zh/docs/reference/glossary/cla.md b/content/zh/docs/reference/glossary/cla.md
index dae58a89e6..5d9f4229cd 100644
--- a/content/zh/docs/reference/glossary/cla.md
+++ b/content/zh/docs/reference/glossary/cla.md
@@ -1,5 +1,5 @@
---
-title: CLA (贡献者许可协议)
+title: 贡献者许可协议(CLA)
id: cla
date: 2018-04-12
full_link: https://github.com/kubernetes/community/blob/master/CLA.md
@@ -26,7 +26,10 @@ tags:
---
-->
- {{< glossary_tooltip text="贡献者" term_id="contributor" >}} 对他们在开源项目中所贡献的代码的授权许可条款。
+
+ {{< glossary_tooltip text="贡献者" term_id="contributor" >}}对他们在开源项目中所贡献的代码的授权许可条款。
diff --git a/content/zh/docs/reference/glossary/cloud-controller-manager.md b/content/zh/docs/reference/glossary/cloud-controller-manager.md
index 2fcd729f57..e2f10617e2 100644
--- a/content/zh/docs/reference/glossary/cloud-controller-manager.md
+++ b/content/zh/docs/reference/glossary/cloud-controller-manager.md
@@ -1,5 +1,5 @@
---
-title: 云控制器管理器
+title: 云控制器管理器(Cloud Controller Manager)
id: cloud-controller-manager
date: 2018-04-12
full_link: /zh/docs/tasks/administer-cluster/running-cloud-controller/
@@ -18,7 +18,7 @@ tags:
title: Cloud Controller Manager
id: cloud-controller-manager
date: 2018-04-12
-full_link: /zh/docs/tasks/administer-cluster/running-cloud-controller/
+full_link: /docs/concepts/architecture/cloud-controller/
short_description: >
Cloud Controller Manager is an alpha feature in 1.8. In upcoming releases it will be the preferred way to integrate Kubernetes with any cloud.
@@ -30,18 +30,25 @@ tags:
---
-->
+
-云控制器管理器是 1.8 的 alpha 特性。在未来发布的版本中,这是将 Kubernetes 与任何其他云集成的最佳方式。
+云控制器管理器是指嵌入特定云的控制逻辑的
+{{< glossary_tooltip text="控制平面" term_id="control-plane" >}}组件。
+云控制器管理器允许您链接聚合到云提供商的应用编程接口中,
+并分离出相互作用的组件与您的集群交互的组件。
-
-Kubernetes v1.6 包含一个新的可执行文件叫做 cloud-controller-manager。cloud-controller-manager 是一个守护进程,其中嵌入了特定于某云环境的控制环。
-这些特定于云环境的控制环最初位于 kube-controller-manager 中。
-由于云供应商的开发和发布节奏与 Kubernetes 项目不同步,将特定于供应商的代码抽象到 cloud-controller-manager 可执行文件可以允许云供应商独立于核心 Kubernetes 代码进行演进。
+通过分离 Kubernetes 和底层云基础设置之间的互操作性逻辑,
+云控制器管理器组件使云提供商能够以不同于 Kubernetes 主项目的速度进行发布新特征。
\ No newline at end of file
diff --git a/content/zh/docs/reference/glossary/cloud-provider.md b/content/zh/docs/reference/glossary/cloud-provider.md
index 0c07cd6fb8..8ab7e7a06f 100755
--- a/content/zh/docs/reference/glossary/cloud-provider.md
+++ b/content/zh/docs/reference/glossary/cloud-provider.md
@@ -10,10 +10,10 @@ aka:
tags:
- community
---
- 一个提供云计算平台的商业机构或其他组织。
+
+ 一个提供云计算平台的商业机构或其他组织。
+
+
@@ -42,7 +48,7 @@ such as running a Kubernetes cluster.
You can also find Kubernetes as a managed service; sometimes called
Platform as a Service, or PaaS. With managed Kubernetes, your
cloud provider is responsible for the Kubernetes control plane as well
-as the glossary_tooltip term_id="node" text="nodes" and the
+as the {{< glossary_tooltip term_id="node" text="nodes" >}} and the
infrastructure they rely on: networking, storage, and possibly other
elements such as load balancers.
-->
@@ -54,6 +60,6 @@ elements such as load balancers.
你也会看到 Kubernetes 被作为托管服务提供;有时也称作平台即服务或 PaaS。
针对托管的 Kubernetes,你的云供应商负责 Kubernetes 的控制面以及
-{{< glossary_tooltip term_id="node" text="节点" >}}及他们所依赖的基础设施:
+ {{< glossary_tooltip term_id="node" text="节点" >}} 及他们所依赖的基础设施:
网络、存储以及其他一些诸如负载均衡器之类的元素。
diff --git a/content/zh/docs/reference/glossary/cluster-architect.md b/content/zh/docs/reference/glossary/cluster-architect.md
index c45bcfbe34..8636eede42 100644
--- a/content/zh/docs/reference/glossary/cluster-architect.md
+++ b/content/zh/docs/reference/glossary/cluster-architect.md
@@ -1,5 +1,5 @@
---
-title: 集群架构师
+title: 集群架构师(Cluster Architect)
id: cluster-architect
date: 2018-04-12
full_link:
diff --git a/content/zh/docs/reference/glossary/cluster-infrastructure.md b/content/zh/docs/reference/glossary/cluster-infrastructure.md
index 9d9eb4343d..8850abd4b5 100644
--- a/content/zh/docs/reference/glossary/cluster-infrastructure.md
+++ b/content/zh/docs/reference/glossary/cluster-infrastructure.md
@@ -1,5 +1,5 @@
---
-title: 集群基础设施
+title: 集群基础设施(Cluster Infrastructure)
id: cluster-infrastructure
date: 2019-05-12
full_link:
@@ -12,7 +12,6 @@ tags:
---
-基础设施层提供并维护虚拟机、网络、安全组及其他资源。
\ No newline at end of file
+基础设施层提供并维护虚拟机、网络、安全组及其他资源。
diff --git a/content/zh/docs/reference/glossary/cluster-operations.md b/content/zh/docs/reference/glossary/cluster-operations.md
index 98dcda6505..43a9bba4b0 100644
--- a/content/zh/docs/reference/glossary/cluster-operations.md
+++ b/content/zh/docs/reference/glossary/cluster-operations.md
@@ -1,10 +1,10 @@
---
-title: 集群操作
+title: 集群操作(Cluster Operations)
id: cluster-operations
date: 2019-05-12
full_link:
short_description: >
- 诸如升级集群、实现安全、存储、Ingress、网络、日志和监控之类的活动,以及管理 Kubernetes 集群所涉及的其他操作。
+ 管理 Kubernetes 集群所涉及的相关工作。
aka:
tags:
@@ -18,15 +18,25 @@ id: cluster-operations
date: 2019-05-12
full_link:
short_description: >
- Activities such as upgrading the clusters, implementing security, storage, ingress, networking, logging and monitoring, and other operations involved in managing a Kubernetes cluster.
+ The work involved in managing a Kubernetes cluster.
aka:
tags:
-- operations
+- operation
---
-->
- 诸如升级集群、实现安全、存储、Ingress、网络、日志和监控之类的活动,以及管理 Kubernetes 集群所涉及的其他操作。
\ No newline at end of file
+Kubernetes 管理相关工作包括:日常管理操作和协调升级。
+
+
+群集操作工作的示例包括:部署新节点来扩容集群;执行软件升级;实施安全控制;
+添加或删除存储;配置集群网络;管理集群范围的可观测性;响应集群事件。
\ No newline at end of file
diff --git a/content/zh/docs/reference/glossary/cluster-operator.md b/content/zh/docs/reference/glossary/cluster-operator.md
index 8318dd46ed..4be92284b0 100644
--- a/content/zh/docs/reference/glossary/cluster-operator.md
+++ b/content/zh/docs/reference/glossary/cluster-operator.md
@@ -1,5 +1,5 @@
---
-title: 集群操作者
+title: 集群操作者(Cluster Operator)
id: cluster-operator
date: 2018-04-12
full_link:
@@ -35,6 +35,7 @@ tags:
diff --git a/content/zh/docs/reference/glossary/cluster.md b/content/zh/docs/reference/glossary/cluster.md
index 1046f9a223..74d48ff2c2 100644
--- a/content/zh/docs/reference/glossary/cluster.md
+++ b/content/zh/docs/reference/glossary/cluster.md
@@ -1,10 +1,10 @@
---
-title: 集群
+title: 集群(Cluster)
id: cluster
date: 2019-06-15
full_link:
short_description: >
- 集群由一组被称作节点的机器组成。这些节点上运行 Kubernetes 所管理的容器化应用。集群具有至少一个工作节点和至少一个主节点。
+ 集群由一组被称作节点的机器组成。这些节点上运行 Kubernetes 所管理的容器化应用。集群具有至少一个工作节点。
aka:
tags:
@@ -19,7 +19,7 @@ id: cluster
date: 2019-06-15
full_link:
short_description: >
- A set of machines, called nodes, that run containerized applications managed by Kubernetes. A cluster has at least one worker node and at least one master node.
+ A set of worker machines, called nodes, that run containerized applications. Every cluster has at least one worker node.
aka:
tags:
@@ -28,9 +28,20 @@ tags:
---
-->
-
-集群由一组被称作节点的机器组成。这些节点上运行 Kubernetes 所管理的容器化应用。集群具有至少一个工作节点和至少一个主节点。
+
+集群由一组被称作节点的机器组成。这些节点上运行 Kubernetes 所管理的容器化应用。集群具有至少一个工作节点。
-
-工作节点托管作为应用程序组件的 Pod 。主节点管理集群中的工作节点和 Pod 。多个主节点用于为集群提供故障转移和高可用性。
+
+工作节点托管作为应用负载的组件的 Pod 。控制平面管理集群中的工作节点和 Pod 。
+为集群提供故障转移和高可用性,这些控制平面一般跨多主机运行,集群跨多个节点运行。
diff --git a/content/zh/docs/reference/glossary/cncf.md b/content/zh/docs/reference/glossary/cncf.md
index e6e857b6bc..7910885461 100644
--- a/content/zh/docs/reference/glossary/cncf.md
+++ b/content/zh/docs/reference/glossary/cncf.md
@@ -1,5 +1,5 @@
---
-title: 云原生计算基金会 (CNCF)
+title: 云原生计算基金会(CNCF)
id: cncf
date: 2019-05-26
full_link: https://cncf.io/
diff --git a/content/zh/docs/reference/glossary/cni.md b/content/zh/docs/reference/glossary/cni.md
index 93028f7747..64febe0215 100644
--- a/content/zh/docs/reference/glossary/cni.md
+++ b/content/zh/docs/reference/glossary/cni.md
@@ -1,5 +1,5 @@
---
-title: CNI (容器网络接口)
+title: 容器网络接口(CNI)
id: cni
date: 2018-05-25
full_link: /zh/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/#cni
@@ -14,10 +14,10 @@ tags:
-* 想了解 Kubernetes 和 CNI 请参考 ["网络插件"](/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/#cni)。
+* 想了解 Kubernetes 和 CNI 请参考 ["网络插件"](/zh/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/#cni)。
diff --git a/content/zh/docs/reference/glossary/code-contributor.md b/content/zh/docs/reference/glossary/code-contributor.md
index 8d24d7f72f..d42e7d8ae1 100644
--- a/content/zh/docs/reference/glossary/code-contributor.md
+++ b/content/zh/docs/reference/glossary/code-contributor.md
@@ -1,5 +1,5 @@
---
-title: 代码贡献者
+title: 代码贡献者(Code Contributor)
id: code-contributor
date: 2018-04-12
full_link: /docs/community/devel/
diff --git a/content/zh/docs/reference/glossary/configmap.md b/content/zh/docs/reference/glossary/configmap.md
index d761b26e74..eb936aca66 100644
--- a/content/zh/docs/reference/glossary/configmap.md
+++ b/content/zh/docs/reference/glossary/configmap.md
@@ -16,9 +16,9 @@ tags:
title: ConfigMap
id: configmap
date: 2018-04-12
-full_link: /zh/docs/tasks/configure-pod-container/configure-pod-configmap/
+full_link: /docs/concepts/configuration/configmap/
short_description: >
- An API object used to store non-confidential data in key-value pairs. Can be consumed as environment variables, command-line arguments, or config files in a volume.
+ An API object used to store non-confidential data in key-value pairs. Can be consumed as environment variables, command-line arguments, or configuration files in a volume.
aka:
tags:
@@ -27,15 +27,18 @@ tags:
-->
- ConfigMap 是一种 API 对象,用来将非机密性的数据保存到健值对中。使用时可以用作环境变量、命令行参数或者存储卷中的配置文件。
+ ConfigMap 是一种 API 对象,用来将非机密性的数据保存到健值对中。使用时, {{< glossary_tooltip text="Pods" term_id="pod" >}} 可以将其用作环境变量、命令行参数或者存储卷中的配置文件。
-ConfigMap 将您的环境配置信息和 {{< glossary_tooltip text="容器镜像" term_id="container" >}} 解耦,便于应用配置的修改。当您需要储存机密信息时可以使用 [Secret](/docs/concepts/configuration/secret/) 对象。
+ConfigMap 将您的环境配置信息和 {{< glossary_tooltip text="容器镜像" term_id="image" >}} 解耦,便于应用配置的修改。
diff --git a/content/zh/docs/reference/glossary/container-env-variables.md b/content/zh/docs/reference/glossary/container-env-variables.md
index ae2b134643..e8796a12bd 100644
--- a/content/zh/docs/reference/glossary/container-env-variables.md
+++ b/content/zh/docs/reference/glossary/container-env-variables.md
@@ -1,10 +1,10 @@
---
-title: 容器环境变量
+title: 容器环境变量(Container Environment Variables)
id: container-env-variables
date: 2018-04-12
full_link: /zh/docs/concepts/containers/container-environment/
short_description: >
- 容器环境变量提供了运行容器化应用所必须的一些重要信息。
+ 容器环境变量提供了 name=value 形式的、运行容器化应用所必须的一些重要信息。
aka:
tags:
@@ -16,7 +16,7 @@ tags:
title: Container Environment Variables
id: container-env-variables
date: 2018-04-12
-full_link: /zh/docs/concepts/containers/container-environment/
+full_link: /docs/concepts/containers/container-environment/
short_description: >
Container environment variables are name=value pairs that provide useful information into containers running in a Pod.
@@ -27,14 +27,14 @@ tags:
-->
- 容器环境变量提供了运行容器化应用所必须的一些重要信息。
+ 容器环境变量提供了 name=value 形式的、在 {{< glossary_tooltip text="pod" term_id="pod" >}} 中运行的容器所必须的一些重要信息。
容器环境变量为运行中的容器化应用提供必要的信息,同时还提供与 {{< glossary_tooltip text="容器" term_id="container" >}} 重要资源相关的其他信息,例如:文件系统信息、容器自身的信息以及其他像服务端点(Service endpoints)这样的集群资源信息。
diff --git a/content/zh/docs/reference/glossary/container-lifecycle-hooks.md b/content/zh/docs/reference/glossary/container-lifecycle-hooks.md
index 20e65157a0..6a43d283c9 100644
--- a/content/zh/docs/reference/glossary/container-lifecycle-hooks.md
+++ b/content/zh/docs/reference/glossary/container-lifecycle-hooks.md
@@ -1,5 +1,5 @@
---
-title: 容器生命周期钩子
+title: 容器生命周期钩子(Container Lifecycle Hooks)
id: container-lifecycle-hooks
date: 2018-10-08
full_link: /zh/docs/concepts/containers/container-lifecycle-hooks/
@@ -15,11 +15,11 @@ tags:
title: Container Lifecycle Hooks
id: container-lifecycle-hooks
date: 2018-10-08
-full_link: /zh/docs/concepts/containers/container-lifecycle-hooks/
+full_link: /docs/concepts/containers/container-lifecycle-hooks/
short_description: >
The lifecycle hooks expose events in the container management lifecycle and let the user run code when the events occur.
-aka:
+aka:
tags:
- extension
---
diff --git a/content/zh/docs/reference/glossary/container-runtime.md b/content/zh/docs/reference/glossary/container-runtime.md
index 7a68b6fd5c..badb4bcfcd 100644
--- a/content/zh/docs/reference/glossary/container-runtime.md
+++ b/content/zh/docs/reference/glossary/container-runtime.md
@@ -1,10 +1,10 @@
---
-title: 容器运行环境(Container Runtime)
+title: 容器运行时(Container Runtime)
id: container-runtime
date: 2019-06-05
-full_link: /docs/setup/production-environment/container-runtimes
+full_link: /zh/docs/setup/production-environment/container-runtimes
short_description: >
- 容器运行环境是负责运行容器的软件。
+ 容器运行时是负责运行容器的软件。
aka:
tags:
@@ -28,7 +28,7 @@ tags:
-->
容器运行环境是负责运行容器的软件。
diff --git a/content/zh/docs/reference/glossary/container.md b/content/zh/docs/reference/glossary/container.md
index 1b2a98d43b..450a8af998 100644
--- a/content/zh/docs/reference/glossary/container.md
+++ b/content/zh/docs/reference/glossary/container.md
@@ -1,5 +1,5 @@
---
-title: 容器
+title: 容器(Container)
id: container
date: 2018-04-12
full_link: /zh/docs/concepts/overview/what-is-kubernetes/#why-containers
@@ -13,11 +13,10 @@ tags:
---
-
- 容器是可移植、可执行的轻量级的镜像,镜像中包含软件及其相关依赖。
+容器是可移植、可执行的轻量级的镜像,包含其中的软件及其相关依赖。
-
容器使应用和底层的主机基础设施解耦,降低了应用在不同云环境或者操作系统上的部署难度,便于应用扩展。
diff --git a/content/zh/docs/reference/glossary/containerd.md b/content/zh/docs/reference/glossary/containerd.md
index e764362cc6..00d465b8c4 100644
--- a/content/zh/docs/reference/glossary/containerd.md
+++ b/content/zh/docs/reference/glossary/containerd.md
@@ -35,5 +35,5 @@ that runs as a daemon on Linux or Windows. containerd takes care of fetching and
storing container images, executing containers, providing network access, and more.
-->
-containerd 是一种 {{< glossary_tooltip text="容器" term_id="container" >}} 运行时,能在 Linux 或者 Windows 后台运行。
+containerd 是一种{{< glossary_tooltip text="容器" term_id="container" >}}运行时,能在 Linux 或者 Windows 后台运行。
containerd 能取回、存储容器镜像,执行容器实例,提供网络访问等。
diff --git a/content/zh/docs/reference/glossary/contributor.md b/content/zh/docs/reference/glossary/contributor.md
index 32f21a5e54..de79a4c984 100644
--- a/content/zh/docs/reference/glossary/contributor.md
+++ b/content/zh/docs/reference/glossary/contributor.md
@@ -1,5 +1,5 @@
---
-title: 贡献者
+title: 贡献者(Contributor)
id: contributor
date: 2018-04-12
full_link:
diff --git a/content/zh/docs/reference/glossary/control-plane.md b/content/zh/docs/reference/glossary/control-plane.md
index 05f3f57978..edb67bd796 100644
--- a/content/zh/docs/reference/glossary/control-plane.md
+++ b/content/zh/docs/reference/glossary/control-plane.md
@@ -1,18 +1,16 @@
---
-title: 控制平面
+title: 控制平面(Control Plane)
id: control-plane
date: 2019-05-12
full_link:
short_description: >
- 容器编排层,它暴露 API 和接口来定义、部署容器和管理容器的生命周期。
+ 控制平面是指容器编排层,它暴露 API 和接口来定义、部署容器和管理容器的生命周期。
aka:
tags:
- fundamental
---
-
- 容器编排层,它暴露 API 和接口来定义、部署容器和管理容器的生命周期。
+控制平面(Control Plane)是指容器编排层,它暴露 API 和接口来定义、
+部署容器和管理容器的生命周期。
+
+
+这个编排层是由多个不同的组件组成,例如以下(但不限于)几种:
+
+ * {{< glossary_tooltip text="etcd" term_id="etcd" >}}
+ * {{< glossary_tooltip text="API 服务器" term_id="kube-apiserver" >}}
+ * {{< glossary_tooltip text="调度器" term_id="kube-scheduler" >}}
+ * {{< glossary_tooltip text="控制器管理器" term_id="kube-controller-manager" >}}
+ * {{< glossary_tooltip text="云控制器管理器" term_id="cloud-controller-manager" >}}
+
+这些组件可以以传统的系统服务运行也可以以容器的形式运行.运行这些组件的主机过去称为 master 节点。
diff --git a/content/zh/docs/reference/glossary/controller.md b/content/zh/docs/reference/glossary/controller.md
index 2b523c8b76..e60b710603 100644
--- a/content/zh/docs/reference/glossary/controller.md
+++ b/content/zh/docs/reference/glossary/controller.md
@@ -1,8 +1,8 @@
---
-title: 控制器
+title: 控制器(Controller)
id: controller
date: 2018-04-12
-full_link: /docs/admin/kube-controller-manager/
+full_link: /zh/docs/concepts/architecture/controller/
short_description: >
控制器通过 apiserver 监控集群的公共状态,并致力于将当前状态转变为期望的状态。
@@ -17,7 +17,7 @@ tags:
title: Controller
id: controller
date: 2018-04-12
-full_link: /docs/admin/kube-controller-manager/
+full_link: /docs/concepts/architecture/controller/
short_description: >
A control loop that watches the shared state of the cluster through the apiserver and makes changes attempting to move the current state towards the desired state.
@@ -27,14 +27,38 @@ tags:
- fundamental
---
-->
+
+
- 控制器通过 {{< glossary_tooltip text="apiserver" term_id="kube-apiserver" >}} 监控集群的公共状态,并致力于将当前状态转变为期望的状态。
+在 Kubernetes 中,控制器通过监控{{< glossary_tooltip text="集群" term_id="cluster" >}}
+的公共状态,并致力于将当前状态转变为期望的状态。
+
+
+
+控制器({{< glossary_tooltip text="控制平面" term_id="control-plane" >}}的一部分)
+通过 {{< glossary_tooltip text="apiserver" term_id="kube-apiserver" >}} 监控你的集群中的公共状态。
-
-Kubernetes 当前提供的部分控制器例子包括:副本控制器(replication controller)、端点控制器(endpoints controller)、命名空间控制器(namespace controller)、服务账号控制器(serviceaccounts controller)。
+其中一些控制器是运行在控制平面内部的,对 Kubernetes 来说,他们提供核心控制操作。
+比如:部署控制器(deployment controller)、守护控制器(daemonset controller)、
+命名空间控制器(namespace controller)、持久化数据卷控制器(persistent volume
+controller)(等)都是运行在 {{< glossary_tooltip text="kube-controller-manager" term_id="kube-controller-manager" >}} 中的。
diff --git a/content/zh/docs/reference/glossary/cri-o.md b/content/zh/docs/reference/glossary/cri-o.md
index 8eb19ddbbb..9fd744a971 100644
--- a/content/zh/docs/reference/glossary/cri-o.md
+++ b/content/zh/docs/reference/glossary/cri-o.md
@@ -2,39 +2,51 @@
title: CRI-O
id: cri-o
date: 2019-05-14
-full_link: https://cri-o.io/docs/
+full_link: https://cri-o.io/#what-is-cri-o
short_description: >
- 专用于 Kubernetes 的轻量级容器运行环境
+ 专用于 Kubernetes 的轻量级容器运行时软件
aka:
tags:
- tool
---
-
-
-该工具可让您通过 Kubernetes CRI 使用 OCI 容器运行环境。
+-->
+
+该工具可让你通过 Kubernetes CRI 使用 OCI 容器运行时。
-
-CRI-O 是 {{< glossary_tooltip term_id="cri" >}} 的实现,可启用与开放容器倡议 Open Container Initiative(OCI)兼容的 {{< glossary_tooltip text="container" term_id="container" >}} 运行环境[运行时规范](http://www.github.com/opencontainers/runtime-spec)。
+[runtime spec](https://www.github.com/opencontainers/runtime-spec).
+-->
+CRI-O 是 {{< glossary_tooltip text="CRI" term_id="cri" >}} 的一种实现,
+使得你可以使用与开放容器倡议(Open Container Initiative,OCI)
+[运行时规范](https://www.github.com/opencontainers/runtime-spec)
+兼容的{{< glossary_tooltip text="容器" term_id="container" >}}。
-
-部署 CRI-O 允许 Kubernetes 使用任何符合 OCI 运行环境,作为容器运行环境去运行 {{< glossary_tooltip text="Pods" term_id="pod" >}},并从远程注册表获取 OCI 容器镜像。
\ No newline at end of file
+OCI container images from remote registries.
+-->
+部署 CRI-O 允许 Kubernetes 使用任何符合 OCI 要求的运行时作为容器运行时
+去运行 {{< glossary_tooltip text="Pods" term_id="pod" >}},
+并从远程容器仓库获取 OCI 容器镜像。
+
diff --git a/content/zh/docs/reference/glossary/cri.md b/content/zh/docs/reference/glossary/cri.md
index 96fd7f4bf4..8c8da979e9 100644
--- a/content/zh/docs/reference/glossary/cri.md
+++ b/content/zh/docs/reference/glossary/cri.md
@@ -1,5 +1,5 @@
---
-title: 容器运行时接口 (CRI)
+title: 容器运行时接口(CRI)
id: cri
date: 2019-03-07
full_link: /zh/docs/concepts/overview/components/#container-runtime
@@ -18,7 +18,7 @@ tags:
title: Container runtime interface (CRI)
id: cri
date: 2019-03-07
-full_link: /zh/docs/concepts/overview/components/#container-runtime
+full_link: /docs/concepts/overview/components/#container-runtime
short_description: >
An API for container runtimes to integrate with kubelet
diff --git a/content/zh/docs/reference/glossary/cronjob.md b/content/zh/docs/reference/glossary/cronjob.md
index e6838de86c..fe16d58762 100644
--- a/content/zh/docs/reference/glossary/cronjob.md
+++ b/content/zh/docs/reference/glossary/cronjob.md
@@ -1,10 +1,10 @@
---
-title: CronJob
+title: 周期调度任务(CronJob)
id: cronjob
date: 2018-04-12
full_link: /zh/docs/concepts/workloads/controllers/cron-jobs/
short_description: >
- 管理定期运行的 [Job](/docs/concepts/workloads/controllers/jobs-run-to-completion/)。
+ 周期调度的任务(作业)。
aka:
tags:
@@ -17,9 +17,9 @@ tags:
title: CronJob
id: cronjob
date: 2018-04-12
-full_link: /zh/docs/concepts/workloads/controllers/cron-jobs/
+full_link: /docs/concepts/workloads/controllers/cron-jobs/
short_description: >
- Manages a [Job](/docs/concepts/workloads/controllers/jobs-run-to-completion/) that runs on a periodic schedule.
+ A repeating task (a Job) that runs on a regular schedule.
aka:
tags:
@@ -29,10 +29,10 @@ tags:
-->
- 管理定期运行的 [Job](/docs/concepts/workloads/controllers/jobs-run-to-completion/)。
+ 管理定期运行的 [任务](/zh/docs/concepts/workloads/controllers/job/)。
diff --git a/content/zh/docs/reference/glossary/csi.md b/content/zh/docs/reference/glossary/csi.md
index 2b77146757..89bb66cafd 100644
--- a/content/zh/docs/reference/glossary/csi.md
+++ b/content/zh/docs/reference/glossary/csi.md
@@ -1,5 +1,5 @@
---
-title: 容器存储接口 (CSI)
+title: 容器存储接口(Container Storage Interface,CSI)
id: csi
date: 2018-06-25
full_link: /zh/docs/concepts/storage/volumes/#csi
@@ -17,7 +17,7 @@ tags:
title: Container Storage Interface (CSI)
id: csi
date: 2018-06-25
-full_link: /zh/docs/concepts/storage/volumes/#csi
+full_link: /docs/concepts/storage/volumes/#csi
short_description: >
The Container Storage Interface (CSI) defines a standard interface to expose storage systems to containers.
@@ -31,18 +31,22 @@ tags:
The Container Storage Interface (CSI) defines a standard interface to expose storage systems to containers.
-->
- 容器存储接口 (CSI)定义了存储系统暴露给容器的标准接口。
+ 容器存储接口 (CSI) 定义了存储系统暴露给容器的标准接口。
-CSI 允许存储驱动提供商为 Kubernetes 创建定制化的存储插件,而无需将这些插件的代码添加到 Kubernetes 代码仓库(外部插件)。要使用某个存储提供商的 CSI 驱动,你首先要[将它部署到你的集群上](https://kubernetes-csi.github.io/docs/Setup.html)。然后你才能创建使用该 CSI 驱动的 {{< glossary_tooltip text="Storage Class" term_id="storage-class" >}} 。
+CSI 允许存储驱动提供商为 Kubernetes 创建定制化的存储插件,
+而无需将这些插件的代码添加到 Kubernetes 代码仓库(外部插件)。
+要使用某个存储提供商的 CSI 驱动,你首先要
+[将它部署到你的集群上](https://kubernetes-csi.github.io/docs/deploying.html)。
+然后你才能创建使用该 CSI 驱动的 {{< glossary_tooltip text="Storage Class" term_id="storage-class" >}} 。
-* [Kubernetes 文档中关于 CSI 的描述](/docs/concepts/storage/volumes/#csi)
-* [可用的 CSI 驱动列表](https://kubernetes-csi.github.io/docs/Drivers.html)
+* [Kubernetes 文档中关于 CSI 的描述](/zh/docs/concepts/storage/volumes/#csi)
+* [可用的 CSI 驱动列表](https://kubernetes-csi.github.io/docs/drivers.html)
diff --git a/content/zh/docs/reference/glossary/customresourcedefinition.md b/content/zh/docs/reference/glossary/customresourcedefinition.md
index 510d26d3bc..ee0548e78d 100644
--- a/content/zh/docs/reference/glossary/customresourcedefinition.md
+++ b/content/zh/docs/reference/glossary/customresourcedefinition.md
@@ -2,7 +2,7 @@
title: CustomResourceDefinition
id: CustomResourceDefinition
date: 2018-04-12
-full_link: docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/
+full_link: /zh/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/
short_description: >
通过定制化的代码给您的 Kubernetes API 服务器增加资源对象,而无需编译完整的定制 API 服务器。
@@ -18,8 +18,7 @@ tags:
title: CustomResourceDefinition
id: CustomResourceDefinition
date: 2018-04-12
-full_link: docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/
-short_description: >
+full_link: /docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/
Custom code that defines a resource to add to your Kubernetes API server without building a complete custom server.
aka:
diff --git a/content/zh/docs/reference/glossary/daemonset.md b/content/zh/docs/reference/glossary/daemonset.md
index ea250d02bc..5f35ae5012 100644
--- a/content/zh/docs/reference/glossary/daemonset.md
+++ b/content/zh/docs/reference/glossary/daemonset.md
@@ -18,7 +18,7 @@ tags:
title: DaemonSet
id: daemonset
date: 2018-04-12
-full_link: /zh/docs/concepts/workloads/controllers/daemonset/
+full_link: /docs/concepts/workloads/controllers/daemonset
short_description: >
Ensures a copy of a Pod is running across a set of nodes in a cluster.
diff --git a/content/zh/docs/reference/glossary/data-plane.md b/content/zh/docs/reference/glossary/data-plane.md
index addd1b032b..7c476d4560 100644
--- a/content/zh/docs/reference/glossary/data-plane.md
+++ b/content/zh/docs/reference/glossary/data-plane.md
@@ -1,5 +1,5 @@
---
-title: 数据平面
+title: 数据平面(Data Plane)
id: data-plane
date: 2019-05-12
full_link:
diff --git a/content/zh/docs/reference/glossary/deployment.md b/content/zh/docs/reference/glossary/deployment.md
index 05bce1377b..ca52523e46 100644
--- a/content/zh/docs/reference/glossary/deployment.md
+++ b/content/zh/docs/reference/glossary/deployment.md
@@ -18,9 +18,9 @@ tags:
title: Deployment
id: deployment
date: 2018-04-12
-full_link: /zh/docs/concepts/workloads/controllers/deployment/
+full_link: /docs/concepts/workloads/controllers/deployment/
short_description: >
- An API object that manages a replicated application.
+ Manages a replicated application on your cluster.
aka:
tags:
@@ -31,15 +31,18 @@ tags:
-->
- Deployment 是管理应用副本的 API 对象。
+ Deployment 是管理应用副本的 API 对象,通常通过运行没有本地状态的Pods来实现。
-应用的每个副本就是一个 {{< glossary_tooltip term_id="pod" >}},并且这些 Pod 会分散运行在集群的节点上。
+应用的每个副本就是一个 {{< glossary_tooltip text="Pod" term_id="pod" >}},
+并且这些 Pod 会分散运行在集群的{{< glossary_tooltip text="节点" term_id="node" >}}上。
diff --git a/content/zh/docs/reference/glossary/developer.md b/content/zh/docs/reference/glossary/developer.md
index 2efbeea6e2..1ca23e374f 100644
--- a/content/zh/docs/reference/glossary/developer.md
+++ b/content/zh/docs/reference/glossary/developer.md
@@ -1,5 +1,5 @@
---
-title: 开发者 (释疑)
+title: 开发者(Developer)
id: developer
date: 2018-04-12
full_link:
@@ -28,7 +28,9 @@ tags:
---
-->
- 指的是: {{< glossary_tooltip text="应用开发者" term_id="application-developer" >}}、 {{< glossary_tooltip text="代码贡献者" term_id="code-contributor" >}}、或 {{< glossary_tooltip text="平台开发者" term_id="platform-developer" >}}。
+ 指的是:{{< glossary_tooltip text="应用开发者" term_id="application-developer" >}}、
+ {{< glossary_tooltip text="代码贡献者" term_id="code-contributor" >}}、
+ 或{{< glossary_tooltip text="平台开发者" term_id="platform-developer" >}}。
diff --git a/content/zh/docs/reference/glossary/device-plugin.md b/content/zh/docs/reference/glossary/device-plugin.md
index af7e491426..30664b8c31 100644
--- a/content/zh/docs/reference/glossary/device-plugin.md
+++ b/content/zh/docs/reference/glossary/device-plugin.md
@@ -1,32 +1,52 @@
---
-title: 驱动插件
+title: 设备插件(Device Plugin)
id: device-plugin
date: 2019-02-02
full_link: /zh/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/
short_description: >
- 在 Kubernetes 中运行的容器提供对供应商特定资源的访问权限。
+ 一种软件扩展,可以使 Pod 访问由特定厂商初始化或者安装的设备。
aka:
tags:
- fundamental
- extension
---
-
-
-设备插件是在 Kubernetes 中运行的容器,可用于访问供应商特定资源。
-
+---
+-->
+
+设备插件工作在节点主机上,给 {{< glossary_tooltip term_id="pod" text="Pods ">}} 提供访问资源的权限,比如特定厂商初始化或者安装的本地硬件。
-
-[驱动插件](/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/) 是运行在 Kubernetes 中的容器,它提供对供应商特定资源的访问。驱动插件将这些资源发布到 {{< glossary_tooltip term_id="kubelet" >}}。并且可以手动部署或做为 {{< glossary_tooltip term_id="daemonset" >}},而不用编写定制的 Kubernetes 代码。
+
+设备插件将资源告知 {{< glossary_tooltip term_id="kubelet" text="kubelet" >}} ,以便相关节点上运行的工作负载Pod可以访问硬件功能。
+
+更多信息请查阅[设备插件](/zh/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/)
\ No newline at end of file
diff --git a/content/zh/docs/reference/glossary/disruption.md b/content/zh/docs/reference/glossary/disruption.md
index e175b930d7..29c7e1ebe6 100644
--- a/content/zh/docs/reference/glossary/disruption.md
+++ b/content/zh/docs/reference/glossary/disruption.md
@@ -1,5 +1,5 @@
---
-title: 干扰
+title: 干扰(Disruption)
id: disruption
date: 2019-09-10
full_link: /zh/docs/concepts/workloads/pods/disruptions/
@@ -17,7 +17,7 @@ tags:
title: Disruption
id: disruption
date: 2019-09-10
-full_link: /zh/docs/concepts/workloads/pods/disruptions/
+full_link: /docs/concepts/workloads/pods/disruptions/
short_description: >
An event that leads to Pod(s) going out of service
aka:
@@ -41,5 +41,7 @@ Kubernetes terms that an _involuntary disruption_.
See [Disruptions](/docs/concepts/workloads/pods/disruptions/) for more information.
-->
-如果您作为一个集群操作人员,销毁了一个从属于某个应用的 Pod, Kubernetes 视之为 _自愿干扰_。如果由于节点故障
-或者影响更大区域故障的断电导致 Pod 离线,Kubrenetes 视之为 _非愿干扰_。
\ No newline at end of file
+如果您作为一个集群操作人员,销毁了一个从属于某个应用的 Pod, Kubernetes 视之为 _自愿干扰(Voluntary Disruption)_。如果由于节点故障
+或者影响更大区域故障的断电导致 Pod 离线,Kubrenetes 视之为 _非愿干扰(Involuntary Disruption)_。
+
+更多信息请查阅[Disruptions](/zh/docs/concepts/workloads/pods/disruptions/)
\ No newline at end of file
diff --git a/content/zh/docs/reference/glossary/docker.md b/content/zh/docs/reference/glossary/docker.md
index 55782a84c8..bec6c834f2 100644
--- a/content/zh/docs/reference/glossary/docker.md
+++ b/content/zh/docs/reference/glossary/docker.md
@@ -1,5 +1,5 @@
---
-title: docker
+title: Docker
id: docker
date: 2018-04-12
full_link: /zh/docs/reference/kubectl/docker-cli-to-kubectl/
@@ -13,10 +13,10 @@ tags:
- Docker 是一种可以提供操作系统级别虚拟化(也称作容器)的软件技术
+ Docker(这里特指 Docker 引擎) 是一种可以提供操作系统级别虚拟化(也称作{{< glossary_tooltip text="容器" term_id="container" >}})的软件技术。
@@ -38,4 +38,5 @@ tags:
Docker uses the resource isolation features of the Linux kernel such as cgroups and kernel namespaces, and a union-capable file system such as OverlayFS and others to allow independent "containers" to run within a single Linux instance, avoiding the overhead of starting and maintaining virtual machines (VMs).
-->
-Docker 使用了 Linux 内核中的资源隔离特性(如 cgroup 和内核命名空间)以及支持联合文件系统(如 OverlayFS 和其他),允许多个相互独立的“容器”一起运行在同一 Linux 实例上,从而避免启动和维护虚拟机(VMs)的开销。
+Docker 使用了 Linux 内核中的资源隔离特性(如 cgroup 和内核命名空间)以及支持联合文件系统(如 OverlayFS 和其他),
+允许多个相互独立的“容器”一起运行在同一 Linux 实例上,从而避免启动和维护虚拟机(VMs)的开销。
diff --git a/content/zh/docs/reference/glossary/downstream.md b/content/zh/docs/reference/glossary/downstream.md
index 575d9c74e0..cba0229cb9 100644
--- a/content/zh/docs/reference/glossary/downstream.md
+++ b/content/zh/docs/reference/glossary/downstream.md
@@ -1,5 +1,5 @@
---
-title: 下游(消除歧义)
+title: 下游(Downstream)
id: downstream
date: 2018-04-12
full_link:
diff --git a/content/zh/docs/reference/glossary/dynamic-volume-provisioning.md b/content/zh/docs/reference/glossary/dynamic-volume-provisioning.md
index 1d3c67e285..5606af15a4 100644
--- a/content/zh/docs/reference/glossary/dynamic-volume-provisioning.md
+++ b/content/zh/docs/reference/glossary/dynamic-volume-provisioning.md
@@ -1,5 +1,5 @@
---
-title: 动态卷供应
+title: 动态卷供应(Dynamic Volume Provisioning)
id: dynamicvolumeprovisioning
date: 2018-04-12
full_link: /zh/docs/concepts/storage/dynamic-provisioning/
@@ -17,7 +17,7 @@ tags:
title: Dynamic Volume Provisioning
id: dynamicvolumeprovisioning
date: 2018-04-12
-full_link: /zh/docs/concepts/storage/dynamic-provisioning/
+full_link: /docs/concepts/storage/dynamic-provisioning
short_description: >
Allows users to request automatic creation of storage Volumes.
@@ -41,4 +41,6 @@ Dynamic provisioning eliminates the need for cluster administrators to pre-provi
-->
动态供应让集群管理员无需再预先供应存储。相反,它通过用户请求自动地供应存储。
-动态卷供应是基于 API 对象 {{< glossary_tooltip text="StorageClass" term_id="storage-class" >}} 的,StorageClass 可以引用 {{< glossary_tooltip text="卷插件(Volume Plugin)" term_id="volume-plugin" >}} 提供的 {{< glossary_tooltip text="卷(Volume)" term_id="volume" >}} ,也可以引用传递给卷插件(Volume Plugin)的参数集。
+动态卷供应是基于 API 对象 {{< glossary_tooltip text="StorageClass" term_id="storage-class" >}} 的,
+StorageClass 可以引用 {{< glossary_tooltip text="卷插件" term_id="volume-plugin" >}} 提供的
+{{< glossary_tooltip text="卷" term_id="volume" >}},也可以引用传递给卷插件(Volume Plugin)的参数集。
diff --git a/content/zh/docs/reference/glossary/endpoint-slice.md b/content/zh/docs/reference/glossary/endpoint-slice.md
index c108efd602..dcfc35e308 100644
--- a/content/zh/docs/reference/glossary/endpoint-slice.md
+++ b/content/zh/docs/reference/glossary/endpoint-slice.md
@@ -1,5 +1,5 @@
---
-title: 端点切片
+title: EndpointSlice
id: endpoint-slice
date: 2018-04-12
full_link: /zh/docs/concepts/services-networking/endpoint-slices/
@@ -14,10 +14,10 @@ tags:
-一种将网络端点组合在一起的可扩缩、可扩展方式。它们将被 {{< glossary_tooltip text="kube-proxy" term_id="kube-proxy" >}} 用于在每个 {{< glossary_tooltip text="节点" term_id="node">}} 上建立网络路由。
+一种将网络端点组合在一起的可扩缩、可扩展方式。
+它们将被 {{< glossary_tooltip text="kube-proxy" term_id="kube-proxy" >}} 用于在
+每个 {{< glossary_tooltip text="节点" term_id="node">}} 上建立网络路由。
diff --git a/content/zh/docs/reference/glossary/endpoint.md b/content/zh/docs/reference/glossary/endpoint.md
index ee9342cd6a..642d7c46d2 100644
--- a/content/zh/docs/reference/glossary/endpoint.md
+++ b/content/zh/docs/reference/glossary/endpoint.md
@@ -23,14 +23,16 @@ short_description: >
aka:
tags:
- networking
+
Endpoints track the IP addresses of Pods with matching {{< glossary_tooltip text="selectors" term_id="selector" >}}.
-->
-端点可以手动配置到{{< glossary_tooltip text="服务(Service)" term_id="service" >}}上,而不必设置选择算符。
-{{< glossary_tooltip text="EndpointSlice" term_id="endpoint-slice" >}} 资源为 Endpoints
-提供了一种可伸缩、可扩展的替代方案。
+端点可以手动配置到{{< glossary_tooltip text="服务(Service)" term_id="service" >}}上,而不必指定选择器标识。
+
+{{< glossary_tooltip text="EndpointSlice" term_id="endpoint-slice" >}}提供了一种可伸缩、可扩展的替代方案。
diff --git a/content/zh/docs/reference/glossary/ephemeral-container.md b/content/zh/docs/reference/glossary/ephemeral-container.md
index fa95887e8d..d937404797 100644
--- a/content/zh/docs/reference/glossary/ephemeral-container.md
+++ b/content/zh/docs/reference/glossary/ephemeral-container.md
@@ -1,5 +1,5 @@
---
-title: 临时容器
+title: 临时容器(Ephemeral Container)
id: ephemeral-container
date: 2019-08-26
full_link: /zh/docs/concepts/workloads/pods/ephemeral-containers/
@@ -9,14 +9,14 @@ aka:
tags:
- fundamental
---
- 您可以在 {{< glossary_tooltip term_id="pod" >}} 中临时运行的一种 {{< glossary_tooltip term_id="container" >}} 类型
+ 您可以在 {{< glossary_tooltip term_id="pod" >}} 中临时运行的一种 {{< glossary_tooltip term_id="container" >}} 类型。
-如果想要调查运行中有问题的 Pod,可以向该 Pod 添加一个临时容器并进行诊断。临时容器没有资源或调度保证,因此不应该使用它们来运行任何部分的工作负荷本身。
\ No newline at end of file
+如果想要调查运行中有问题的 Pod,可以向该 Pod 添加一个临时容器并进行诊断。
+临时容器没有资源或调度保证,因此不应该使用它们来运行任何部分的工作负荷本身。
\ No newline at end of file
diff --git a/content/zh/docs/reference/glossary/etcd.md b/content/zh/docs/reference/glossary/etcd.md
index e0e11082a8..9dec928b29 100644
--- a/content/zh/docs/reference/glossary/etcd.md
+++ b/content/zh/docs/reference/glossary/etcd.md
@@ -17,7 +17,7 @@ tags:
title: etcd
id: etcd
date: 2018-04-12
-full_link: /zh/docs/tasks/administer-cluster/configure-upgrade-etcd/
+full_link: /docs/tasks/administer-cluster/configure-upgrade-etcd/
short_description: >
Consistent and highly-available key value store used as Kubernetes' backing store for all cluster data.
@@ -35,9 +35,14 @@ tags:
etcd 是兼具一致性和高可用性的键值数据库,可以作为保存 Kubernetes 所有集群数据的后台数据库。
-
+您的 Kubernetes 集群的 etcd 数据库通常需要有个备份计划。
+
-您的 Kubernetes 集群的 etcd 数据库通常需要有个备份计划。要了解 etcd 更深层次的信息,请参考 [etcd 文档](https://etcd.io/docs)。
+要了解 etcd 更深层次的信息,请参考 [etcd 文档](https://etcd.io/docs/)。
diff --git a/content/zh/docs/reference/glossary/extensions.md b/content/zh/docs/reference/glossary/extensions.md
index ebc25eca05..dca292faf6 100644
--- a/content/zh/docs/reference/glossary/extensions.md
+++ b/content/zh/docs/reference/glossary/extensions.md
@@ -1,5 +1,5 @@
---
-title: 扩展组件
+title: 扩展组件(Extensions)
id: Extensions
date: 2019-02-01
full_link: /zh/docs/concepts/extend-kubernetes/extend-cluster/#extensions
@@ -17,7 +17,7 @@ tags:
title: Extensions
id: Extensions
date: 2019-02-01
-full_link: /zh/docs/concepts/extend-kubernetes/extend-cluster/#extensions
+full_link: /docs/concepts/extend-kubernetes/extend-cluster/#extensions
short_description: >
Extensions are software components that extend and deeply integrate with Kubernetes to support new types of hardware.
@@ -35,4 +35,6 @@ tags:
Most cluster administrators will use a hosted or distribution instance of Kubernetes. As a result, most Kubernetes users will need to install [extensions](/docs/concepts/extend-kubernetes/extend-cluster/#extensions) and fewer will need to author new ones.
-->
-大多数集群管理员会使用托管的 Kubernetes 或其某种发行包。因此,大多数 Kubernetes 用户将需要安装 [扩展组件](/docs/concepts/extend-kubernetes/extend-cluster/#extensions),较少用户会需要编写新的扩展组件。
\ No newline at end of file
+大多数集群管理员会使用托管的 Kubernetes 或其某种发行包。因此,大多数 Kubernetes 用户将需要
+安装 [扩展组件](/docs/concepts/extend-kubernetes/extend-cluster/#extensions),
+较少用户会需要编写新的扩展组件。
\ No newline at end of file
diff --git a/content/zh/docs/reference/glossary/flexvolume.md b/content/zh/docs/reference/glossary/flexvolume.md
index af28200f40..51b0690392 100644
--- a/content/zh/docs/reference/glossary/flexvolume.md
+++ b/content/zh/docs/reference/glossary/flexvolume.md
@@ -16,7 +16,7 @@ tags:
title: FlexVolume
id: flexvolume
date: 2018-06-25
-full_link: /zh/docs/concepts/storage/volumes/#flexvolume
+full_link: /docs/concepts/storage/volumes/#flexvolume
short_description: >
FlexVolume is an interface for creating out-of-tree volume plugins. The {{< glossary_tooltip text="Container Storage Interface" term_id="csi" >}} is a newer interface which addresses several problems with FlexVolumes.
@@ -25,17 +25,26 @@ aka:
tags:
- storage
--- -->
-
+
Flexvolume 是创建 out-of-tree 卷插件的一种接口。 {{< glossary_tooltip text="容器存储接口(CSI)" term_id="csi" >}} 是比 Flexvolume 更新的接口,它解决了 Flexvolume 的一些问题。
-
-Flexvolume 允许用户编写自己的驱动程序,并在 Kubernetes 中加入对用户自己的数据卷的支持。FlexVolume 驱动程序的二进制文件和依赖项必须安装在主机上。这需要 root 权限。如果可能的话,SIG Storage 建议实现 {{< glossary_tooltip text="CSI" term_id="csi" >}} 驱动程序,因为它解决了 Flexvolumes 的限制。
+
+Flexvolume 允许用户编写自己的驱动程序,并在 Kubernetes 中加入对用户自己的数据卷的支持。
+FlexVolume 驱动程序的二进制文件和依赖项必须安装在主机上。
+这需要 root 权限。如果可能的话,SIG Storage 建议实现 {{< glossary_tooltip text="CSI" term_id="csi" >}} 驱动程序,
+因为它解决了 Flexvolumes 的限制。
-
+
* [Kubernetes 文档中的 Flexvolume](/docs/concepts/storage/volumes/#flexvolume)
-* [更多关于 Flexvolumes 的信息](https://github.com/kubernetes/community/blob/master/contributors/devel/flexvolume.md)
+* [更多关于 Flexvolumes 的信息](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-storage/flexvolume.md)
* [存储供应商的卷插件 FAQ](https://github.com/kubernetes/community/blob/master/sig-storage/volume-plugin-faq.md)
\ No newline at end of file
diff --git a/content/zh/docs/reference/glossary/helm-chart.md b/content/zh/docs/reference/glossary/helm-chart.md
index d76c6a7906..625a897d17 100644
--- a/content/zh/docs/reference/glossary/helm-chart.md
+++ b/content/zh/docs/reference/glossary/helm-chart.md
@@ -40,4 +40,5 @@ A single chart can be used to deploy something simple, like a memcached Pod, or
-->
Chart 提供了一种可重现的用来创建和共享 Kubernetes 应用的方法。
-单个 Chart 可用来部署简单的系统(例如一个 memcached Pod),也可以用来部署复杂的系统(例如包含 HTTP 服务器、数据库、缓存等组件的完整 Web 应用堆栈)。
+单个 Chart 可用来部署简单的系统(例如一个 memcached Pod),
+也可以用来部署复杂的系统(例如包含 HTTP 服务器、数据库、缓存等组件的完整 Web 应用堆栈)。
diff --git a/content/zh/docs/reference/glossary/horizontal-pod-autoscaler.md b/content/zh/docs/reference/glossary/horizontal-pod-autoscaler.md
index 3a94a04b5a..45e5033a5a 100644
--- a/content/zh/docs/reference/glossary/horizontal-pod-autoscaler.md
+++ b/content/zh/docs/reference/glossary/horizontal-pod-autoscaler.md
@@ -1,5 +1,5 @@
---
-title: Pod 水平自动扩缩器
+title: Pod 水平自动扩缩器(Horizontal Pod Autoscaler)
id: horizontal-pod-autoscaler
date: 2018-04-12
full_link: /zh/docs/tasks/run-application/horizontal-pod-autoscale/
@@ -7,6 +7,7 @@ short_description: >
Pod 水平自动扩缩器(Horizontal Pod Autoscaler)是一种 API 资源,它根据目标 CPU 利用率或自定义度量目标扩缩 Pod 副本的数量。
aka:
+- HPA
tags:
- operation
---
@@ -16,22 +17,26 @@ tags:
title: Horizontal Pod Autoscaler
id: horizontal-pod-autoscaler
date: 2018-04-12
-full_link: /zh/docs/tasks/run-application/horizontal-pod-autoscale/
+full_link: /docs/tasks/run-application/horizontal-pod-autoscale/
short_description: >
An API resource that automatically scales the number of pod replicas based on targeted CPU utilization or custom metric targets.
aka:
+- HPA
tags:
- operation
---
-->
- Pod 水平自动扩缩器(Horizontal Pod Autoscaler)是一种 API 资源,它根据目标 CPU 利用率或自定义度量目标扩缩 Pod 副本的数量。
+ Horizontal Pod Autoscaler(Pod 水平自动扩缩器)是一种 API 资源,它根据目标 CPU 利用率或自定义度量目标扩缩 Pod 副本的数量。
-HPA 通常用于 {{< glossary_tooltip text="Replication Controllers" term_id="replication-controller" >}}、{{< glossary_tooltip text="Deployments" term_id="deployment" >}} 或者 Replica Sets 上。HPA 不能用于不支持扩缩的对象,例如 {{< glossary_tooltip text="DaemonSets" term_id="daemonset" >}}。
+HPA 通常用于 {{< glossary_tooltip text="ReplicationControllers" term_id="replication-controller" >}}
+、{{< glossary_tooltip text="Deployments" term_id="deployment" >}}
+或者 {{< glossary_tooltip text="ReplicaSets" term_id="replica-set" >}} 上。
+HPA 不能用于不支持扩缩的对象,例如 {{< glossary_tooltip text="DaemonSets" term_id="daemonset" >}}。
diff --git a/content/zh/docs/reference/glossary/host-aliases.md b/content/zh/docs/reference/glossary/host-aliases.md
index 6581acf209..c2be10bee2 100644
--- a/content/zh/docs/reference/glossary/host-aliases.md
+++ b/content/zh/docs/reference/glossary/host-aliases.md
@@ -33,5 +33,6 @@ tags:
-[HostAliases](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#hostalias-v1-core) 是一个包含主机名和 IP 地址的可选列表,配置后将被注入到 Pod 内的 hosts 文件中。
+[HostAliases](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#hostalias-v1-core)
+是一个包含主机名和 IP 地址的可选列表,配置后将被注入到 Pod 内的 hosts 文件中。
该选项仅适用于没有配置 hostNetwork 的 Pod.
diff --git a/content/zh/docs/reference/glossary/image.md b/content/zh/docs/reference/glossary/image.md
index 1fc7db55e5..ea8a7ffda1 100644
--- a/content/zh/docs/reference/glossary/image.md
+++ b/content/zh/docs/reference/glossary/image.md
@@ -1,5 +1,5 @@
---
-title: 镜像
+title: 镜像(Image)
id: image
date: 2018-04-12
full_link:
@@ -27,10 +27,10 @@ tags:
-->
-镜像是保存的容器实例,它打包了应用运行所需的一组软件。
+镜像是保存的{{< glossary_tooltip text="容器" term_id="container" >}}实例,它打包了应用运行所需的一组软件。
diff --git a/content/zh/docs/reference/glossary/ingress.md b/content/zh/docs/reference/glossary/ingress.md
index 972c2b0873..2b08741574 100644
--- a/content/zh/docs/reference/glossary/ingress.md
+++ b/content/zh/docs/reference/glossary/ingress.md
@@ -18,7 +18,7 @@ tags:
title: Ingress
id: ingress
date: 2018-04-12
-full_link: /zh/docs/concepts/services-networking/ingress/
+full_link: /docs/concepts/services-networking/ingress/
short_description: >
An API object that manages external access to the services in a cluster, typically HTTP.
@@ -39,7 +39,7 @@ tags:
Ingress 可以提供负载均衡、SSL 终结和基于名称的虚拟托管。
diff --git a/content/zh/docs/reference/glossary/init-container.md b/content/zh/docs/reference/glossary/init-container.md
index cf8cead312..7efeddb4e5 100644
--- a/content/zh/docs/reference/glossary/init-container.md
+++ b/content/zh/docs/reference/glossary/init-container.md
@@ -1,5 +1,5 @@
---
-title: 初始化容器
+title: 初始化容器(Init Container)
id: init-container
date: 2018-04-12
full_link:
@@ -18,7 +18,7 @@ id: init-container
date: 2018-04-12
full_link:
short_description: >
- One or more initialization containers that must run to completion before any app containers run.
+ One or more initialization containers that must run to completion before any app containers run.
aka:
tags:
@@ -27,15 +27,16 @@ tags:
-->
- 应用容器运行前必须先运行完成的一个或多个初始化容器。
+ 应用{{< glossary_tooltip text="容器" term_id="container" >}}运行前必须先运行完成的一个或多个初始化容器。
-初始化(init)容器像常规应用容器一样,只有一点不同:初始化(init)容器必须在应用容器启动前运行完成。Init 容器的运行顺序:一个初始化(init)容器必须在下一个初始化(init)容器开始前运行完成。
+初始化(init)容器像常规应用容器一样,只有一点不同:初始化(init)容器必须在应用容器启动前运行完成。
+Init 容器的运行顺序:一个初始化(init)容器必须在下一个初始化(init)容器开始前运行完成。
diff --git a/content/zh/docs/reference/glossary/istio.md b/content/zh/docs/reference/glossary/istio.md
index 58c4cfffcc..4a3300f4f6 100644
--- a/content/zh/docs/reference/glossary/istio.md
+++ b/content/zh/docs/reference/glossary/istio.md
@@ -2,7 +2,7 @@
title: Istio
id: istio
date: 2018-04-12
-full_link: https://istio.io/docs/concepts/what-is-istio/overview.html
+full_link: https://istio.io/docs/concepts/what-is-istio/
short_description: >
Istio 是个开放平台(非 Kubernetes 特有),提供了一种统一的方式来集成微服务、管理流量、实施策略和汇总度量数据。
aka:
@@ -17,7 +17,7 @@ tags:
title: Istio
id: istio
date: 2018-04-12
-full_link: https://istio.io/docs/concepts/what-is-istio/overview.html
+full_link: https://istio.io/docs/concepts/what-is-istio/
short_description: >
An open platform (not Kubernetes-specific) that provides a uniform way to integrate microservices, manage traffic flow, enforce policies, and aggregate telemetry data.
@@ -41,5 +41,7 @@ Istio 是个开放平台(非 Kubernetes 特有),提供了一种统一的
Adding Istio does not require changing application code. It is a layer of infrastructure between a service and the network, which when combined with service deployments, is commonly referred to as a service mesh. Istio's control plane abstracts away the underlying cluster management platform, which may be Kubernetes, Mesosphere, etc.
-->
-添加 Istio 时不需要修改应用代码。它是基础设施的一层,介于服务和网络之间。当它和服务的 Deployment 相结合时,就构成了通常所谓的服务网格(Service Mesh)。Istio 的控制面抽象掉了底层的集群管理平台,这一集群管理平台可以是 Kubernetes、Mesosphere 等。
+添加 Istio 时不需要修改应用代码。它是基础设施的一层,介于服务和网络之间。
+当它和服务的 Deployment 相结合时,就构成了通常所谓的服务网格(Service Mesh)。
+Istio 的控制面抽象掉了底层的集群管理平台,这一集群管理平台可以是 Kubernetes、Mesosphere 等。
diff --git a/content/zh/docs/reference/glossary/job.md b/content/zh/docs/reference/glossary/job.md
index 8ce421f280..aa557297be 100644
--- a/content/zh/docs/reference/glossary/job.md
+++ b/content/zh/docs/reference/glossary/job.md
@@ -2,7 +2,7 @@
title: Job
id: job
date: 2018-04-12
-full_link: /docs/concepts/workloads/controllers/jobs-run-to-completion
+full_link: /zh/docs/concepts/workloads/controllers/job/
short_description: >
Job 是需要运行完成的确定性的或批量的任务。
@@ -18,7 +18,7 @@ tags:
title: Job
id: job
date: 2018-04-12
-full_link: /docs/concepts/workloads/controllers/jobs-run-to-completion
+full_link: /docs/concepts/workloads/controllers/job/
short_description: >
A finite or batch task that runs to completion.
@@ -42,4 +42,5 @@ tags:
Creates one or more {{< glossary_tooltip term_id="pod" >}} objects and ensures that a specified number of them successfully terminate. As Pods successfully complete, the Job tracks the successful completions.
-->
-Job 创建一个或多个 {{< glossary_tooltip term_id="Pod" >}} 对象,并确保指定数量的 Pod 成功终止。随着各 Pod 成功结束,Job 会跟踪记录成功完成的个数。
+Job 创建一个或多个 {{< glossary_tooltip term_id="Pod" >}} 对象,并确保指定数量的 Pod 成功终止。
+随着各 Pod 成功结束,Job 会跟踪记录成功完成的个数。
diff --git a/content/zh/docs/reference/glossary/kops.md b/content/zh/docs/reference/glossary/kops.md
index c1024390e7..d3241b763e 100644
--- a/content/zh/docs/reference/glossary/kops.md
+++ b/content/zh/docs/reference/glossary/kops.md
@@ -4,7 +4,7 @@ id: kops
date: 2018-04-12
full_link: /docs/getting-started-guides/kops/
short_description: >
- kops 是一个命令行工具,可以帮助您创建、销毁、升级和维护生产级,高可用性的 Kubernetes 集群。注意:官方仅支持 AWS,GCE 和 VMware vSphere 的支持还处于 alpha* 阶段。
+ kops 是一个命令行工具,可以帮助您创建、销毁、升级和维护生产级,高可用性的 Kubernetes 集群。
aka:
tags:
@@ -19,7 +19,7 @@ id: kops
date: 2018-04-12
full_link: /docs/getting-started-guides/kops/
short_description: >
- A CLI tool that helps you create, destroy, upgrade and maintain production-grade, highly available, Kubernetes clusters. *NOTE: Officially supports AWS only, with GCE and VMware vSphere in alpha*.
+ A CLI tool that helps you create, destroy, upgrade and maintain production-grade, highly available, Kubernetes clusters.
aka:
tags:
@@ -29,13 +29,22 @@ tags:
-->
-kops 是一个命令行工具,可以帮助您创建、销毁、升级和维护生产级,高可用性的 Kubernetes 集群。*注意:官方仅支持 AWS,GCE 和 VMware vSphere 的支持还处于 alpha 阶段*。
+kops 是一个命令行工具,可以帮助您创建、销毁、升级和维护生产级,高可用性的 Kubernetes 集群。
+
+注意:官方仅支持 AWS,GCE 和 VMware vSphere 的支持还处于 alpha* 阶段。
+
+
`kops` 为您的集群提供了:
diff --git a/content/zh/docs/reference/glossary/kube-controller-manager.md b/content/zh/docs/reference/glossary/kube-controller-manager.md
index c24234e501..5d18857fde 100644
--- a/content/zh/docs/reference/glossary/kube-controller-manager.md
+++ b/content/zh/docs/reference/glossary/kube-controller-manager.md
@@ -31,9 +31,10 @@ tags:
-在主节点上运行{{< glossary_tooltip text="控制器" term_id="controller" >}}的组件。
+在主节点上运行 {{< glossary_tooltip text="控制器" term_id="controller" >}} 的组件。
-从逻辑上讲,每个{{< glossary_tooltip text="控制器" term_id="controller" >}}都是一个单独的进程,但是为了降低复杂性,它们都被编译到同一个可执行文件,并在一个进程中运行。
+从逻辑上讲,每个{{< glossary_tooltip text="控制器" term_id="controller" >}}都是一个单独的进程,
+但是为了降低复杂性,它们都被编译到同一个可执行文件,并在一个进程中运行。
diff --git a/content/zh/docs/reference/glossary/kube-proxy.md b/content/zh/docs/reference/glossary/kube-proxy.md
index 79c7e2b82a..2b1048147f 100644
--- a/content/zh/docs/reference/glossary/kube-proxy.md
+++ b/content/zh/docs/reference/glossary/kube-proxy.md
@@ -27,7 +27,8 @@ tags:
- [kube-proxy](/docs/reference/command-line-tools-reference/kube-proxy/) 是集群中每个节点上运行的网络代理,实现 Kubernetes {{< glossary_tooltip term_id="service">}} 概念的一部分。
+[kube-proxy](/zh/docs/reference/command-line-tools-reference/kube-proxy/) 是集群中每个节点上运行的网络代理,
+实现 Kubernetes {{< glossary_tooltip term_id="service">}} 概念的一部分。
@@ -38,4 +39,4 @@ kube-proxy 维护节点上的网络规则。这些网络规则允许从集群内
-如果操作系统提供了数据包过滤层并可用的话,kube-proxy会通过它来实现网络规则。否则,kube-proxy 仅转发流量本身。
+如果操作系统提供了数据包过滤层并可用的话,kube-proxy 会通过它来实现网络规则。否则, kube-proxy 仅转发流量本身。
diff --git a/content/zh/docs/reference/glossary/kubeadm.md b/content/zh/docs/reference/glossary/kubeadm.md
index 3d7ce11b59..f565376100 100644
--- a/content/zh/docs/reference/glossary/kubeadm.md
+++ b/content/zh/docs/reference/glossary/kubeadm.md
@@ -2,7 +2,7 @@
title: Kubeadm
id: kubeadm
date: 2018-04-12
-full_link: /docs/admin/kubeadm/
+full_link: /zh/docs/setup/production-environment/tools/kubeadm/
short_description: >
用来快速安装 Kubernetes 并搭建安全稳定的集群的工具。
@@ -13,7 +13,6 @@ tags:
---
-
- 用来快速安装 Kubernetes 并搭建安全稳定的集群的工具。
+用来快速安装 Kubernetes 并搭建安全稳定的集群的工具。
+你可以使用 kubeadm 安装控制面和
+{{< glossary_tooltip text="工作节点" term_id="node" >}}
+组件。
-您可以使用 kubeadm 安装控制面和工作节点组件。
diff --git a/content/zh/docs/reference/glossary/kubelet.md b/content/zh/docs/reference/glossary/kubelet.md
index c561109b6e..4562f02f1f 100644
--- a/content/zh/docs/reference/glossary/kubelet.md
+++ b/content/zh/docs/reference/glossary/kubelet.md
@@ -12,7 +12,6 @@ tags:
- core-object
---
+
-一个在集群中每个节点上运行的代理。它保证容器都运行在 Pod 中。
+一个在集群中每个节点上运行的代理。
+它保证容器都运行在 Pod 中。
+kubelet 接收一组通过各类机制提供给它的 PodSpecs,确保这些 PodSpecs
+中描述的容器处于运行状态且健康。
+kubelet 不会管理不是由 Kubernetes 创建的容器。
-kubelet 接收一组通过各类机制提供给它的 PodSpecs,确保这些 PodSpecs 中描述的容器处于运行状态且健康。kubelet 不会管理不是由 Kubernetes 创建的容器。
diff --git a/content/zh/docs/reference/glossary/node.md b/content/zh/docs/reference/glossary/node.md
index 1277aa26ab..a646065b02 100644
--- a/content/zh/docs/reference/glossary/node.md
+++ b/content/zh/docs/reference/glossary/node.md
@@ -1,5 +1,5 @@
---
-title: 节点
+title: 节点(Node)
id: node
date: 2018-04-12
full_link: /zh/docs/concepts/architecture/nodes/
@@ -25,19 +25,26 @@ tags:
-->
-
Kubernetes 中的工作机器称作节点。
-
工作机器可以是虚拟机也可以是物理机,取决于集群的配置。
-其上部署了运行 {{< glossary_tooltip text="Pods" term_id="pod" >}} 所必需的{{< glossary_tooltip text="服务" term_id="service" >}},
+其上部署了运行 {{< glossary_tooltip text="Pods" term_id="pod" >}}
+所必需的本地守护进程或{{< glossary_tooltip text="服务" term_id="service" >}},
并由主控组件来管理。
-节点上的{{< glossary_tooltip text="服务" term_id="service" >}}包括 Docker、kubelet 和 kube-proxy。
+节点上的的守护进程包括 {{< glossary_tooltip text="kubelet" term_id="kubelet" >}}、
+{{< glossary_tooltip text="kube-proxy" term_id="kube-proxy" >}}
+以及一个 {{< glossary_tooltip term_id="docker" >}} 这种
+实现了 {{< glossary_tooltip text="CRI" term_id="cri" >}}
+的容器运行时。
+
+在早期的 Kubernetes 版本中,节点也称作 "Minions"。
diff --git a/content/zh/docs/reference/glossary/platform-developer.md b/content/zh/docs/reference/glossary/platform-developer.md
index 0cc10ac633..d18ad680b7 100644
--- a/content/zh/docs/reference/glossary/platform-developer.md
+++ b/content/zh/docs/reference/glossary/platform-developer.md
@@ -1,5 +1,5 @@
---
-title: 平台开发者
+title: 平台开发人员(Platform Developer)
id: platform-developer
date: 2018-04-12
full_link:
@@ -12,7 +12,6 @@ tags:
---
- 定制 Kubernetes 平台以满足自己的项目需求的人。
+定制 Kubernetes 平台以满足自己的项目需求的人。
-例如,平台开发人员可以使用[定制资源](/docs/concepts/api-extension/custom-resources/)或[使用汇聚层扩展 Kubernetes API](/docs/concepts/api-extension/apiserver-aggregation/) 来为其 Kubernetes 实例增加功能,特别是为其应用程序添加功能。一些平台开发人员也是 Kubrenetes {{< glossary_tooltip text="贡献者" term_id="contributor" >}},他们会开发贡献给 Kubernetes 社区的扩展;另一些则开发封闭源代码的商业扩展或用于特定功能的扩展。
+平台开发人员可以使用[定制资源](/zh/docs/concepts/extend-kubernetes/api-extension/custom-resources/)
+或[使用汇聚层扩展 Kubernetes API](/zh/docs/concepts/api-extension/apiserver-aggregation/)
+来为其 Kubernetes 实例增加功能,特别是为其应用程序添加功能。
+一些平台开发人员也是 Kubrenetes {{< glossary_tooltip text="贡献者" term_id="contributor" >}},
+他们会开发贡献给 Kubernetes 社区的扩展。
+另一些平台开发人员则开发封闭源代码的商业扩展或用于特定网站的扩展。
diff --git a/content/zh/docs/reference/glossary/pod-priority.md b/content/zh/docs/reference/glossary/pod-priority.md
index d66561d9d7..d58eaed928 100644
--- a/content/zh/docs/reference/glossary/pod-priority.md
+++ b/content/zh/docs/reference/glossary/pod-priority.md
@@ -1,8 +1,8 @@
---
-title: Pod 优先级
+title: Pod 优先级(Pod Priority)
id: pod-priority
date: 2019-01-31
-full_link: /docs/concepts/configuration/pod-priority-preemption/#pod-priority
+full_link: /zh/docs/concepts/configuration/pod-priority-preemption/#pod-priority
short_description: >
Pod 优先级表示一个 Pod 相对于其他 Pod 的重要性。
@@ -12,7 +12,6 @@ tags:
---
-[Pod 优先级](/docs/concepts/configuration/pod-priority-preemption/#pod-priority) 允许为一个 Pod 设置高于或低于其他 Pod 的优先级 -- 这对于生产集群工作负载而言是一个重要的特性。
\ No newline at end of file
+[Pod 优先级](/zh/docs/concepts/configuration/pod-priority-preemption/#pod-priority)
+允许用户为 Pod 设置高于或低于其他 Pod 的优先级 -- 这对于生产集群
+工作负载而言是一个重要的特性。
+
diff --git a/content/zh/docs/reference/glossary/preemption.md b/content/zh/docs/reference/glossary/preemption.md
index 575b329065..3475e6ab01 100644
--- a/content/zh/docs/reference/glossary/preemption.md
+++ b/content/zh/docs/reference/glossary/preemption.md
@@ -1,10 +1,11 @@
---
-title: 抢占
+title: 抢占(Preemption)
id: preemption
date: 2019-01-31
-full_link: /docs/concepts/configuration/pod-priority-preemption/#preemption
+full_link: /zh/docs/concepts/configuration/pod-priority-preemption/#preemption
short_description: >
- Kubernetes 中的抢占逻辑通过驱逐节点上的低优先级 Pod 来帮助挂起的 Pod 找到合适的节点。
+ Kubernetes 中的抢占逻辑通过驱逐节点上的低优先级 Pod 来帮助悬决的
+ Pod 找到合适的节点。
aka:
tags:
@@ -12,7 +13,6 @@ tags:
---
- Kubernetes 中的抢占逻辑通过驱逐节点上的低优先级 Pod 来帮助挂起的 Pod 找到合适的节点。
+Kubernetes 中的抢占逻辑通过驱逐{{< glossary_tooltip term_id="node" >}}
+上的低优先级{{< glossary_tooltip term_id="pod" >}}
+来帮助悬决的 Pod 找到合适的节点。
-如果一个 Pod 无法调度,调度器会尝试[抢占](/docs/concepts/configuration/pod-priority-preemption/#preemption)较低优先级的 Pod,以使得挂起的 Pod 可能被调度。
\ No newline at end of file
+如果一个 Pod 无法调度,调度器会尝试
+[抢占](/zh/docs/concepts/configuration/pod-priority-preemption/#preemption)
+较低优先级的 Pod,以使得悬决的 Pod 有可能被调度。
+
diff --git a/content/zh/docs/reference/glossary/proxy.md b/content/zh/docs/reference/glossary/proxy.md
index e8ab669393..889037e3ad 100644
--- a/content/zh/docs/reference/glossary/proxy.md
+++ b/content/zh/docs/reference/glossary/proxy.md
@@ -1,5 +1,5 @@
---
-title: 代理
+title: 代理(Proxy)
id: proxy
date: 2019-09-10
short_description: >
diff --git a/content/zh/docs/reference/glossary/qos-class.md b/content/zh/docs/reference/glossary/qos-class.md
index 82b18bfe38..b7eac1defe 100644
--- a/content/zh/docs/reference/glossary/qos-class.md
+++ b/content/zh/docs/reference/glossary/qos-class.md
@@ -1,5 +1,5 @@
---
-title: QoS 类
+title: QoS 类(QoS Class)
id: qos-class
date: 2019-04-15
full_link:
diff --git a/content/zh/docs/reference/glossary/quantity.md b/content/zh/docs/reference/glossary/quantity.md
index 70d5a95ffa..03cc80051c 100644
--- a/content/zh/docs/reference/glossary/quantity.md
+++ b/content/zh/docs/reference/glossary/quantity.md
@@ -1,17 +1,17 @@
---
-title: 数量
+title: 量纲(Quantity)
id: quantity
date: 2018-08-07
full_link:
short_description: >
- 使用 SI 后缀的小数或大数的整数表示。
+ 使用全数字来表示较小数值或使用 SI 后缀表示较大数值的表示法。
aka:
tags:
- core-object
---
+
+
+使用全数字来表示较小数值或使用 SI 后缀表示较大数值的表示法。
+
-数量是使用紧凑的整数表示法的小数或大数的表示,并带有国际计量单位制(SI)后缀。
-小数用 milli 单位表示,而大数用 kilo、mega 或 giga 单位表示。
-
-例如,数字 `1.5` 表示为`1500m`,
-而数字`1000`表示为`1k`,`1000000`表示为`1M`。
-您还可以指定二进制表示法后缀; 数字 2048 可以写成`2Ki`。
-
-公认的十进制(10的幂)单位是 `m`(milli)、`k`(kilo,
-有意小写)、`M`(mega),`G`(giga)、`T`(terra)、`P`(peta)、
-`E`(exa)。
-
-公认的二进制(2的幂)单位是 `Ki` (kibi)、 `Mi` (mebi)、`Gi` (gibi)、
-`Ti` (tebi)、 `Pi` (pebi)、 `Ei` (exbi)。
-
+量纲是使用紧凑的全数字表示法来表示小数值或带有国际计量单位制(SI)
+的大数值的表示法。
+小数用 milli 单位表示,而大数用 kilo、mega 或 giga 单位表示。
+
+例如,数字 `1.5` 表示为 `1500m`,
+而数字 `1000` 表示为 `1k`,`1000000` 表示为 `1M`。
+你还可以指定二进制表示法后缀;数字 2048 可以写成 `2Ki`。
+
+公认的十进制(10 的幂数)单位是 `m`(milli)、`k`(kilo,有意小写)、
+`M`(mega)、`G`(giga)、`T`(terra)、`P`(peta)、`E`(exa)。
+
+公认的二进制(2 的幂数)单位是 `Ki` (kibi)、`Mi` (mebi)、`Gi` (gibi)、
+`Ti` (tebi)、 `Pi` (pebi)、 `Ei` (exbi)。
+
diff --git a/content/zh/docs/reference/glossary/rbac.md b/content/zh/docs/reference/glossary/rbac.md
index e0efa640e7..d0a8eaf88a 100644
--- a/content/zh/docs/reference/glossary/rbac.md
+++ b/content/zh/docs/reference/glossary/rbac.md
@@ -1,5 +1,5 @@
---
-title: RBAC(基于角色的访问控制)
+title: 基于角色的访问控制(RBAC)
id: rbac
date: 2018-04-12
full_link: /zh/docs/reference/access-authn-authz/rbac/
diff --git a/content/zh/docs/reference/glossary/replication-controller.md b/content/zh/docs/reference/glossary/replication-controller.md
index 8fd910e799..3ac4033f42 100644
--- a/content/zh/docs/reference/glossary/replication-controller.md
+++ b/content/zh/docs/reference/glossary/replication-controller.md
@@ -1,10 +1,10 @@
---
-title: Replication Controller
+title: 副本控制器(Replication Controller)
id: replication-controller
date: 2018-04-12
full_link:
short_description: >
- Replication Controller 是 Kubernetes 的一种服务,用来确保给定个数的 Pod 一直处于运行状态。
+ 一种管理多副本应用的(已启用)的 API 对象。
aka:
tags:
@@ -13,31 +13,41 @@ tags:
---
-
-Replication Controller 是 Kubernetes 的一种服务,用来确保给定个数的 Pod 一直处于运行状态。
+一种工作管理多副本应用的负载资源,能够确保特定个数的
+{{< glossary_tooltip text="Pod" term_id="pod" >}}
+实例处于运行状态。
+控制面确保所指定的个数的 Pods 处于运行状态,即使某些 Pod 会失效,
+比如被你手动删除或者因为其他错误启动过多 Pod 时。
+
+{{< note >}}
+
+ReplicationController 已被启用。请参见 Deployment 执行类似功能。
+{{< /note >}}
-Replication Controller 会基于设定值自动增删 Pod 的实例。如果 Pod 被误删除或者启动实例过多,Replication Controller 允许 Pod 的实例个数恢复到设定值。
diff --git a/content/zh/docs/reference/glossary/resource-quota.md b/content/zh/docs/reference/glossary/resource-quota.md
index 658a1633ce..4e35800abe 100644
--- a/content/zh/docs/reference/glossary/resource-quota.md
+++ b/content/zh/docs/reference/glossary/resource-quota.md
@@ -1,5 +1,5 @@
---
-title: 资源配额
+title: 资源配额(Resource Quotas)
id: resource-quota
date: 2018-04-12
full_link: /zh/docs/concepts/policy/resource-quotas/
diff --git a/content/zh/docs/reference/glossary/reviewer.md b/content/zh/docs/reference/glossary/reviewer.md
index a181122927..fb1ffcdf83 100644
--- a/content/zh/docs/reference/glossary/reviewer.md
+++ b/content/zh/docs/reference/glossary/reviewer.md
@@ -1,5 +1,5 @@
---
-title: 评审者
+title: 评审者(Reviewer)
id: reviewer
date: 2018-04-12
full_link:
diff --git a/content/zh/docs/reference/glossary/rkt.md b/content/zh/docs/reference/glossary/rkt.md
deleted file mode 100644
index 6ba0e19d7d..0000000000
--- a/content/zh/docs/reference/glossary/rkt.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title: rkt
-id: rkt
-date: 2019-01-24
-translater: Coffey Gao
-full_link: https://coreos.com/rkt/
-short_description: >
- 一个安全的、基于标准的容器引擎。
-
-aka:
-tags:
-- security
-- tool
----
-
-
-
-
-
- 一个安全的、基于标准的容器引擎。
-
-
-
-
-
-rkt 是一个应用程序 {{< glossary_tooltip text="容器" term_id="container" >}} 引擎,它具有原生的 {< glossary_tooltip text="Pod" term_id="pod" >}} 方法、可插拔的执行环境和定义良好的接口。rkt 允许用户在 Pod 和应用程序级别应用不同的配置。每个 Pod 在一个自包含的、独立的经典 Unix 进程模型中直接执行。
\ No newline at end of file
diff --git a/content/zh/docs/reference/glossary/secret.md b/content/zh/docs/reference/glossary/secret.md
index 8bbb57df6b..ef1c8e9516 100644
--- a/content/zh/docs/reference/glossary/secret.md
+++ b/content/zh/docs/reference/glossary/secret.md
@@ -4,7 +4,7 @@ id: secret
date: 2018-04-12
full_link: /zh/docs/concepts/configuration/secret/
short_description: >
- Secret 用于存储敏感信息,如密码、OAuth 令牌和 SSH 密钥。
+ Secret 用于存储敏感信息,如密码、 OAuth 令牌和 SSH 密钥。
aka:
tags:
@@ -17,7 +17,7 @@ tags:
title: Secret
id: secret
date: 2018-04-12
-full_link: /zh/docs/concepts/configuration/secret/
+full_link: /docs/concepts/configuration/secret/
short_description: >
Stores sensitive information, such as passwords, OAuth tokens, and ssh keys.
@@ -32,7 +32,7 @@ tags:
Stores sensitive information, such as passwords, OAuth tokens, and ssh keys.
-->
- Secret 用于存储敏感信息,如密码、OAuth 令牌和 SSH 密钥。
+ Secret 用于存储敏感信息,如密码、 OAuth 令牌和 SSH 密钥。
@@ -40,6 +40,6 @@ tags:
Allows for more control over how sensitive information is used and reduces the risk of accidental exposure, including [encryption](/docs/tasks/administer-cluster/encrypt-data/#ensure-all-secrets-are-encrypted) at rest. A {{< glossary_tooltip text="Pod" term_id="pod" >}} references the secret as a file in a volume mount or by the kubelet pulling images for a pod. Secrets are great for confidential data and [ConfigMaps](/docs/tasks/configure-pod-container/configure-pod-configmap/) for non-confidential data.
-->
-Secret 允许用户对如何使用敏感信息进行更多的控制,并减少信息意外暴露的风险,包括静态[加密](/docs/tasks/administer-cluster/encrypt-data/#ensure-all-secrets-are-encrypted)。
+Secret 允许用户对如何使用敏感信息进行更多的控制,并减少信息意外暴露的风险,包括静态[encryption(加密)](/zh/docs/tasks/administer-cluster/encrypt-data/#ensure-all-secrets-are-encrypted)。
{{< glossary_tooltip text="Pod" term_id="pod" >}} 通过挂载卷中的文件的方式引用 Secret,或者通过 kubelet 为 pod 拉取镜像时引用。
-Secret 非常适合机密数据使用,而 [ConfigMaps](/docs/tasks/configure-pod-container/configure-pod-configmap/) 适用于非机密数据。
+Secret 非常适合机密数据使用,而 [ConfigMaps](/zh/docs/tasks/configure-pod-container/configure-pod-configmap/) 适用于非机密数据。
diff --git a/content/zh/docs/reference/glossary/security-context.md b/content/zh/docs/reference/glossary/security-context.md
index 31b99c635c..864e693735 100644
--- a/content/zh/docs/reference/glossary/security-context.md
+++ b/content/zh/docs/reference/glossary/security-context.md
@@ -2,7 +2,7 @@
title: 安全上下文(Security Context)
id: security-context
date: 2018-04-12
-full_link: /docs/tasks/configure-pod-container/security-context/
+full_link: /zh/docs/tasks/configure-pod-container/security-context/
short_description: >
securityContext 字段定义 Pod 或容器的特权和访问控制设置,包括运行时 UID 和 GID。
@@ -18,7 +18,7 @@ id: security-context
date: 2018-04-12
full_link: /docs/tasks/configure-pod-container/security-context/
short_description: >
- The securityContext field defines privilege and access control settings for a Pod or Container, including the runtime UID and GID.
+ The securityContext field defines privilege and access control settings for a Pod or container.
aka:
tags:
@@ -27,17 +27,26 @@ tags:
-->
-securityContext 字段定义 Pod 或容器的特权和访问控制设置,包括运行时 UID 和 GID。
-
+securityContext 字段定义 {{< glossary_tooltip text="Pod" term_id="pod" >}} 或
+{{< glossary_tooltip text="容器" term_id="container" >}}的特权和访问控制设置。
+
+
-{{< glossary_tooltip term_id="pod" >}} 或者容器中的 securityContext 字段(应用于所有容器)用于设置容器进程使用的用户(runAsUser)和组 (fsGroup)、权能字、特权设置和安全策略(SELinux/AppArmor/Seccomp)。
-
+在一个 `securityContext` 字段中,你可以设置进程所属用户和用户组、权限相关设置。你也可以设置安全策略(例如:SELinux、AppArmor、seccomp)。
+
+`PodSpec.securityContext` 字段配置会应用到一个 Pod 中的所有的 container 。
\ No newline at end of file
diff --git a/content/zh/docs/reference/glossary/selector.md b/content/zh/docs/reference/glossary/selector.md
index a3dcd0b71b..7a1343090f 100644
--- a/content/zh/docs/reference/glossary/selector.md
+++ b/content/zh/docs/reference/glossary/selector.md
@@ -1,5 +1,5 @@
---
-title: 选择算符
+title: 选择算符(Selector)
id: selector
date: 2018-04-12
full_link: /zh/docs/concepts/overview/working-with-objects/labels/
@@ -12,11 +12,12 @@ tags:
---
+
-选择算符允许用户通过标签对一组资源对象进行筛选过滤。
+选择算符允许用户通过{{< glossary_tooltip text="标签(labels)" term_id="label" >}}对一组资源对象进行筛选过滤。
-在查询资源列表时,选择算符可以通过 {{< glossary_tooltip text="标签" term_id="label" >}} 对资源进行过滤筛选。
+在查询资源列表时,选择算符可以通过标签对资源进行过滤筛选。
diff --git a/content/zh/docs/reference/glossary/service-account.md b/content/zh/docs/reference/glossary/service-account.md
index 28c7ffd9b6..e54a4ef98b 100644
--- a/content/zh/docs/reference/glossary/service-account.md
+++ b/content/zh/docs/reference/glossary/service-account.md
@@ -1,5 +1,5 @@
---
-title: 服务账户
+title: ServiceAccount
id: service-account
date: 2018-04-12
full_link: /zh/docs/tasks/configure-pod-container/configure-service-account/
@@ -14,10 +14,10 @@ tags:
+
为在 {{< glossary_tooltip text="Pod" term_id="pod" >}} 中运行的进程提供标识。
-
-
-当 Pod 中的进程访问集群时,API 服务器将它们作为特定的服务帐户进行身份验证,例如 `default`。当您创建 Pod 时,如果您没有指定服务帐户,它将在相同的命名空间 {{< glossary_tooltip text="命名空间" term_id="namespace" >}} 中自动分配 default 服务账户。
-
+当 Pod 中的进程访问集群时,API 服务器将它们作为特定的服务帐户进行身份验证,
+例如 `default` ,创建 Pod 时,如果你没有指定服务帐户,它将自动被赋予同一个
+{{< glossary_tooltip text="名字空间" term_id="namespace" >}}中的 default 服务账户。
diff --git a/content/zh/docs/reference/glossary/service-broker.md b/content/zh/docs/reference/glossary/service-broker.md
index 8a017d127b..b8afe97d70 100644
--- a/content/zh/docs/reference/glossary/service-broker.md
+++ b/content/zh/docs/reference/glossary/service-broker.md
@@ -12,6 +12,7 @@ tags:
---
-
-由第三方提供并维护的一组{{< glossary_tooltip text="托管服务" term_id="managed-service">}} 的访问端点。
+由第三方提供并维护的一组{{< glossary_tooltip text="托管服务" term_id="managed-service">}}的访问端点。
-{{< glossary_tooltip text="服务代理" term_id="service-broker">}}会实现
+{{< glossary_tooltip text="服务代理(Service Brokers)" term_id="service-broker">}}会实现
[开放服务代理 API 规范](https://github.com/openservicebrokerapi/servicebroker/blob/v2.13/spec.md)
并为应用提供使用其托管服务的标准接口。
-[服务目录(Service Catalog)](/docs/concepts/service-catalog/)则提供一种方法,用来列举、供应和绑定服务代理商所提供的托管服务。
+[服务目录(Service Catalog)](/zh/docs/concepts/extend-kubernetes/service-catalog/)则提供一种方法,用来列举、供应和绑定服务代理商所提供的托管服务。
diff --git a/content/zh/docs/reference/glossary/service-catalog.md b/content/zh/docs/reference/glossary/service-catalog.md
index 726aff57c2..134085e034 100644
--- a/content/zh/docs/reference/glossary/service-catalog.md
+++ b/content/zh/docs/reference/glossary/service-catalog.md
@@ -1,12 +1,11 @@
---
-title: 服务目录
+title: 服务目录(Service Catalog)
id: service-catalog
date: 2018-04-12
full_link:
short_description: >
服务目录是一种扩展 API,它能让 Kubernetes 集群中运行的应用易于使用外部托管的软件服务,例如云供应商提供的数据仓库服务。
- An extension API that enables applications running in Kubernetes clusters to easily use external managed software offerings, such as a datastore service offered by a cloud provider.
aka:
tags:
- extension
@@ -27,11 +26,12 @@ tags:
---
-->
+
-服务目录(Service Catalog)是一种扩展 API,它能让 Kubernetes 集群中运行的应用易于使用外部托管的的软件服务,例如云供应商提供的数据仓库服务。
+服务目录是一种扩展 API,它能让 Kubernetes 集群中运行的应用易于使用外部托管的的软件服务,例如云供应商提供的数据仓库服务。
@@ -39,5 +39,7 @@ tags:
It provides a way to list, provision, and bind with external {{< glossary_tooltip text="Managed Services" term_id="managed-service" >}} from {{< glossary_tooltip text="Service Brokers" term_id="service-broker" >}} without needing detailed knowledge about how those services are created or managed.
-->
-服务目录可以检索、供应、和绑定由 {{< glossary_tooltip text="服务代理人(Service Brokers)" term_id="service-broker" >}} 提供的外部 {{< glossary_tooltip text="托管服务" term_id="managed-service" >}},而无需知道那些服务具体是怎样创建和托管的。
+服务目录可以检索、供应、和绑定由 {{< glossary_tooltip text="服务代理人(Service Brokers)" term_id="service-broker" >}}
+提供的外部{{< glossary_tooltip text="托管服务(Managed Services)" term_id="managed-service" >}},
+而无需知道那些服务具体是怎样创建和托管的。
diff --git a/content/zh/docs/reference/glossary/service.md b/content/zh/docs/reference/glossary/service.md
index 95e3b9e007..b6a0fab287 100644
--- a/content/zh/docs/reference/glossary/service.md
+++ b/content/zh/docs/reference/glossary/service.md
@@ -1,5 +1,5 @@
---
-title: Service
+title: 服务(Service)
id: service
date: 2018-04-12
full_link: /zh/docs/concepts/services-networking/service/
@@ -11,6 +11,24 @@ tags:
- fundamental
- core-object
---
+
+
+
+
@@ -22,4 +40,6 @@ An abstract way to expose an application running on a set of {{< glossary_toolti
-服务所针对的Pod集(通常)由 {{< glossary_tooltip text="selector" term_id="selector" >}} 确定。 如果添加或删除了更多Pod,则与选择器匹配的Pod集将发生变化。 该服务确保可以将网络流量定向到该工作负载的当前Pod集。
+服务所针对的 Pod 集(通常)由{{< glossary_tooltip text="选择算符" term_id="selector" >}}确定。
+如果有 Pod 被添加或被删除,则与选择算符匹配的 Pod 集合将发生变化。
+服务确保可以将网络流量定向到该工作负载的当前 Pod 集合。
\ No newline at end of file
diff --git a/content/zh/docs/reference/glossary/shuffle-sharding.md b/content/zh/docs/reference/glossary/shuffle-sharding.md
index 1f8d8a0990..4bc7f91189 100644
--- a/content/zh/docs/reference/glossary/shuffle-sharding.md
+++ b/content/zh/docs/reference/glossary/shuffle-sharding.md
@@ -10,9 +10,9 @@ aka:
tags:
- fundamental
---
-一种将请求指派给队列的技术,其隔离性好过对队列个数哈希取模的方式。
+
+
+
+混排切片(Shuffle Sharding)是指一种将请求指派给队列的技术,其隔离性好过对队列个数哈希取模的方式。
+
diff --git a/content/zh/docs/reference/glossary/sig.md b/content/zh/docs/reference/glossary/sig.md
index a42a15b0b1..3c2ff7b191 100644
--- a/content/zh/docs/reference/glossary/sig.md
+++ b/content/zh/docs/reference/glossary/sig.md
@@ -1,5 +1,5 @@
---
-title: SIG (特别兴趣小组)
+title: 特别兴趣小组(SIG)
id: sig
date: 2018-04-12
full_link: https://github.com/kubernetes/community/blob/master/sig-list.md#master-sig-list
@@ -12,6 +12,7 @@ tags:
---
+
@@ -34,13 +37,13 @@ tags:
SIG 中的成员对推进某个领域(如体系结构、API 机制构件或者文档)具有相同的兴趣。
-SIGs 必须遵从 [SIG Governance](https://github.com/kubernetes/community/blob/master/sig-governance.md) 的规定,
+SIGs 必须遵从 [governance guidelines](https://github.com/kubernetes/community/blob/master/committee-steering/governance/sig-governance.md) 的规定,
不过可以有自己的贡献策略以及通信渠道(方式)。
更多的详细信息可参阅 [kubernetes/community](https://github.com/kubernetes/community) 仓库以及
diff --git a/content/zh/docs/reference/glossary/statefulset.md b/content/zh/docs/reference/glossary/statefulset.md
index 8003a09893..6e796d9419 100644
--- a/content/zh/docs/reference/glossary/statefulset.md
+++ b/content/zh/docs/reference/glossary/statefulset.md
@@ -4,7 +4,7 @@ id: statefulset
date: 2018-04-12
full_link: /zh/docs/concepts/workloads/controllers/statefulset/
short_description: >
- StatefulSet 用来管理 Deployment 和伸缩一组 Pod,并且能为这些 Pod 提供*序号和唯一性保证*。
+ StatefulSet 用来管理某 Pod 集合的部署和扩缩,并为这些 Pod 提供持久存储和持久标识符。
aka:
tags:
- fundamental
@@ -18,9 +18,9 @@ tags:
title: StatefulSet
id: statefulset
date: 2018-04-12
-full_link: /zh/docs/concepts/workloads/controllers/statefulset/
+full_link: /docs/concepts/workloads/controllers/statefulset/
short_description: >
- Manages the deployment and scaling of a set of Pods, *and provides guarantees about the ordering and uniqueness* of these Pods.
+ Manages deployment and scaling of a set of Pods, with durable storage and persistent identifiers for each Pod.
aka:
tags:
@@ -31,19 +31,25 @@ tags:
---
-->
- StatefulSet 用来管理 Deployment 和扩展一组 Pod,并且能为这些 Pod 提供*序号和唯一性保证*。
-
+
+StatefulSet 用来管理某 {{< glossary_tooltip text="Pod" term_id="pod" >}} 集合的部署和扩缩,
+并为这些 Pod 提供持久存储和持久标识符。
-和 {{< glossary_tooltip term_id="Deployment" >}} 相同的是,StatefulSet 管理了基于相同容器定义的一组 Pod。但和 Deployment 不同的是,StatefulSet 为它们的每个 Pod 维护了一个固定的 ID。这些 Pod 是基于相同的声明来创建的,但是不能相互替换:无论怎么调度,每个 Pod 都有一个永久不变的 ID。
-
+和 {{< glossary_tooltip text="Deployment" term_id="deployment" >}} 类似,
+StatefulSet 管理基于相同容器规约的一组 Pod。但和 Deployment 不同的是,
+StatefulSet 为它们的每个 Pod 维护了一个有粘性的 ID。这些 Pod 是基于相同的规约来创建的,
+但是不能相互替换:无论怎么调度,每个 Pod 都有一个永久不变的 ID。
-StatefulSet 和其他控制器使用相同的工作模式。你在 StatefulSet *对象* 中定义你期望的状态,然后 StatefulSet 的 *控制器* 就会通过各种更新来达到那种你想要的状态。
-
+如果希望使用存储卷为工作负载提供持久存储,可以使用 StatefulSet 作为解决方案的一部分。
+尽管 StatefulSet 中的单个 Pod 仍可能出现故障,
+但持久的 Pod 标识符使得将现有卷与替换已失败 Pod 的新 Pod 相匹配变得更加容易。
\ No newline at end of file
diff --git a/content/zh/docs/reference/glossary/static-pod.md b/content/zh/docs/reference/glossary/static-pod.md
index 44e2a72bed..e785a96a85 100644
--- a/content/zh/docs/reference/glossary/static-pod.md
+++ b/content/zh/docs/reference/glossary/static-pod.md
@@ -1,10 +1,10 @@
---
-title: 静态 Pod
+title: 静态 Pod(Static Pod)
id: static-pod
date: 2019-02-12
full_link: /zh/docs/tasks/configure-pod-container/static-pod/
short_description: >
- 由特定节点上的 kubelet 守护进程直接管理的 pod。
+ 静态Pod(Static Pod)是指由特定节点上的 kubelet 守护进程直接管理的 Pod。
aka:
tags:
@@ -16,7 +16,7 @@ tags:
title: Static Pod
id: static-pod
date: 2019-02-12
-full_link: /zh/docs/tasks/configure-pod-container/static-pod/
+full_link: /docs/tasks/configure-pod-container/static-pod/
short_description: >
A pod managed directly by the kubelet daemon on a specific node.
diff --git a/content/zh/docs/reference/glossary/storage-class.md b/content/zh/docs/reference/glossary/storage-class.md
index ad102de155..1ad1834b15 100644
--- a/content/zh/docs/reference/glossary/storage-class.md
+++ b/content/zh/docs/reference/glossary/storage-class.md
@@ -1,10 +1,10 @@
---
-title: 存储类别
+title: StorageClass
id: storageclass
date: 2018-04-12
full_link: /zh/docs/concepts/storage/storage-classes/
short_description: >
- StorageClass 是管理员用来描述不同的可用存储类型的一种方法。
+ StorageClass 是管理员用来描述可用的不同存储类型的一种方法。
aka:
tags:
@@ -12,12 +12,13 @@ tags:
- storage
---
+
-
StorageClass 是管理员用来描述不同的可用存储类型的一种方法。
@@ -40,5 +40,7 @@ tags:
StorageClasses can map to quality-of-service levels, backup policies, or to arbitrary policies determined by cluster administrators. Each StorageClass contains the fields `provisioner`, `parameters`, and `reclaimPolicy`, which are used when a {{< glossary_tooltip text="Persistent Volume" term_id="persistent-volume" >}} belonging to the class needs to be dynamically provisioned. Users can request a particular class using the name of a StorageClass object.
-->
-StorageClass 可以映射到服务质量等级(QoS)、备份策略、或者管理员随机定义的策略。每个 StorageClass 对象包含的域有 `provisioner`、 `parameters` 和 `reclaimPolicy`,属于该存储类别的 {{< glossary_tooltip text="永久卷" term_id="persistent-volume" >}} 需要动态分配时就要用到这些域参数。通过 StorageClass 对象的名称,用户可以请求他们需要的特定存储类别。
-
+StorageClass 可以映射到服务质量等级(QoS)、备份策略、或者管理员任意定义的策略。
+每个 StorageClass 对象包含的字段有 `provisioner`、`parameters` 和 `reclaimPolicy`。
+动态制备该存储类别的{{< glossary_tooltip text="持久卷" term_id="persistent-volume" >}}时需要用到这些字段值。
+通过设置 StorageClass 对象的名称,用户可以请求特定存储类别。
\ No newline at end of file
diff --git a/content/zh/docs/reference/glossary/sysctl.md b/content/zh/docs/reference/glossary/sysctl.md
index 42ed215d6d..b987583df7 100644
--- a/content/zh/docs/reference/glossary/sysctl.md
+++ b/content/zh/docs/reference/glossary/sysctl.md
@@ -16,7 +16,7 @@ tags:
title: sysctl
id: sysctl
date: 2019-02-12
-full_link: /zh/docs/tasks/administer-cluster/sysctl-cluster/
+full_link: /docs/tasks/administer-cluster/sysctl-cluster/
short_description: >
An interface for getting and setting Unix kernel parameters
@@ -48,4 +48,4 @@ uses.
network plugins may rely on `sysctl` values being set a certain way.
-->
-{{< glossary_tooltip text="容器" term_id="container" >}} 运行时和网络插件可能对 `sysctl` 的取值有一定的要求。
+{{< glossary_tooltip text="容器" term_id="container" >}}运行时和网络插件可能对 `sysctl` 的取值有一定的要求。
diff --git a/content/zh/docs/reference/glossary/taint.md b/content/zh/docs/reference/glossary/taint.md
index 24b54fc16e..8961ce205d 100644
--- a/content/zh/docs/reference/glossary/taint.md
+++ b/content/zh/docs/reference/glossary/taint.md
@@ -1,20 +1,19 @@
---
-title: 污点
+title: 污点(Taint)
id: taint
date: 2019-01-11
-full_link: /docs/concepts/configuration/taint-and-toleration/
+full_link: /zh/docs/concepts/scheduling-eviction/taint-and-toleration/
short_description: >
- 一个核心对象,由三个必需的属性组成:键,值和效果。污点会阻止在节点或节点组上调度 Pod。
+ 污点是一种一个核心对象,包含三个必需的属性:key、value 和 effect。
+ 污点会阻止在节点或节点组上调度 Pod。
aka:
tags:
- core-object
- fundamental
---
- 一个核心对象,由三个必需的属性组成:键,值和效果。污点会阻止在节点或节点组上调度 Pod。
-
+
+
+
+污点是一种一个核心对象,包含三个必需的属性:key、value 和 effect。
+污点会阻止在{{< glossary_tooltip text="节点" term_id="node" >}}
+或节点组上调度 {{< glossary_tooltip text="Pods" term_id="pod" >}}。
-
-污点和 {{< glossary_tooltip text="容忍度" term_id="toleration" >}} 一起工作,以确保不会将 Pod 调度到不适合的节点上。一个或多个污点应用于 {{< glossary_tooltip text="节点" term_id="node" >}}。节点应该仅能调度那些带着能与污点相匹配容忍度的 pod。
\ No newline at end of file
+污点和{{< glossary_tooltip text="容忍度" term_id="toleration" >}}一起工作,
+以确保不会将 Pod 调度到不适合的节点上。
+同一{{< glossary_tooltip text="节点" term_id="node" >}}上可标记一个或多个污点。
+节点应该仅调度那些带着能与污点相匹配容忍度的 Pod。
diff --git a/content/zh/docs/reference/glossary/toleration.md b/content/zh/docs/reference/glossary/toleration.md
index ba59aed099..963d75b94c 100644
--- a/content/zh/docs/reference/glossary/toleration.md
+++ b/content/zh/docs/reference/glossary/toleration.md
@@ -1,24 +1,23 @@
---
-title: 容忍度
+title: 容忍度(Toleration)
id: toleration
date: 2019-01-11
-full_link: /docs/concepts/configuration/taint-and-toleration/
+full_link: /zh/docs/concepts/scheduling-eviction/taint-and-toleration/
short_description: >
- 一个核心对象,由三个必需的属性组成:key、value 和 effect。容忍度允许将 Pod 调度到具有对应污点的节点或节点组上。
+ 一个核心对象,由三个必需的属性组成:key、value 和 effect。
+ 容忍度允许将 Pod 调度到具有对应污点的节点或节点组上。
+
aka:
tags:
- core-object
- fundamental
---
- 一个核心对象,由三个必需的属性组成:key、value 和 effect。
- 容忍度允许将 Pod 调度到具有匹配 {{< glossary_tooltip text="污点" term_id="taint" >}} 的节点或节点组上。
-
+
+
+一个核心对象,由三个必需的属性组成:key、value 和 effect。
+容忍度允许将 Pod 调度到具有对应{{< glossary_tooltip text="污点" term_id="taint" >}}
+的节点或节点组上。
+
- 容忍度 和 {{< glossary_tooltip text="污点" term_id="taint" >}} 共同作用以确保不会将 Pod 调度在不适合的节点上。在同一 {{< glossary_tooltip text="pod" term_id="pod" >}} 上可以设置一个或者多个容忍度。容忍度表示在匹配节点或节点组上的 {{< glossary_tooltip text="污点" term_id="taint" >}} 调度 {{< glossary_tooltip text="pod" term_id="pod" >}} 是允许的(但不必要)。
+容忍度和{{< glossary_tooltip text="污点" term_id="taint" >}}共同作用可以
+确保不会将 Pod 调度在不适合的节点上。
+在同一 {{< glossary_tooltip text="Pod" term_id="pod" >}} 上可以设置一个
+或者多个容忍度。
+容忍度表示在包含对应{{< glossary_tooltip text="污点" term_id="taint" >}}
+的节点或节点组上调度 {{< glossary_tooltip text="Pod" term_id="pod" >}}
+是允许的(但不必要)。
+
diff --git a/content/zh/docs/reference/glossary/uid.md b/content/zh/docs/reference/glossary/uid.md
index 01805ee534..74faf6d1e7 100644
--- a/content/zh/docs/reference/glossary/uid.md
+++ b/content/zh/docs/reference/glossary/uid.md
@@ -16,7 +16,7 @@ tags:
title: UID
id: uid
date: 2018-04-12
-full_link: /zh/docs/concepts/overview/working-with-objects/names/
+full_link: /docs/concepts/overview/working-with-objects/names
short_description: >
A Kubernetes systems-generated string to uniquely identify objects.
diff --git a/content/zh/docs/reference/glossary/upstream.md b/content/zh/docs/reference/glossary/upstream.md
index 118b3838f7..39d7207da8 100644
--- a/content/zh/docs/reference/glossary/upstream.md
+++ b/content/zh/docs/reference/glossary/upstream.md
@@ -1,5 +1,5 @@
---
-title: Upstream (disambiguation)
+title: 上游(Uptream)
id: upstream
date: 2018-04-12
full_link:
@@ -10,18 +10,33 @@ aka:
tags:
- community
---
+
+
+
+可能指的是:核心 Kubernetes 仓库或作为当前仓库派生来源的仓库。
+
+
-可以参考:核心 Kubernetes 仓库或作为当前仓库派生来源的来源仓库。
-
-
-
* 在 **Kubernetes社区**:对话中通常使用 *upstream* 来表示核心 Kubernetes 代码库,也就是更广泛的 kubernetes 生态系统、其他代码或第三方工具所依赖的仓库。 例如,[社区成员](#term-member)可能会建议将某个功能特性贡献到 upstream,使其位于核心代码库中,而不是维护于插件或第三方工具中。
* 在 **GitHub** 或 **git** 中:约定是将源仓库称为 *upstream*,而派生的仓库则被视为 *downstream*。
diff --git a/content/zh/docs/reference/glossary/volume-plugin.md b/content/zh/docs/reference/glossary/volume-plugin.md
index ca4318d4ad..b04b8d8fbc 100644
--- a/content/zh/docs/reference/glossary/volume-plugin.md
+++ b/content/zh/docs/reference/glossary/volume-plugin.md
@@ -1,10 +1,10 @@
---
-title: 卷(Volume)插件
+title: 卷插件(Volume Plugin)
id: volumeplugin
date: 2018-04-12
full_link:
short_description: >
- 卷(Volume)插件可以让 Pod 集成存储。
+ 卷插件可以让 Pod 集成存储。
aka:
tags:
@@ -40,5 +40,7 @@ tags:
A Volume Plugin lets you attach and mount storage volumes for use by a {{< glossary_tooltip text="Pod" term_id="pod" >}}. Volume plugins can be _in tree_ or _out of tree_. _In tree_ plugins are part of the Kubernetes code repository and follow its release cycle. _Out of tree_ plugins are developed independently.
-->
-卷插件让您能给 {{< glossary_tooltip text="Pod" term_id="pod" >}} 附加和挂载存储卷。卷插件既可以是 _in tree_ 也可以是 _out of tree_ 。_in tree_ 插件是 Kubernetes 代码库的一部分,并遵循其发布周期。而 _Out of tree_ 插件则是独立开发的。
+卷插件让您能给 {{< glossary_tooltip text="Pod" term_id="pod" >}} 附加和挂载存储卷。
+卷插件既可以是 _in tree_ 也可以是 _out of tree_ 。_in tree_ 插件是 Kubernetes 代码库的一部分,
+并遵循其发布周期。而 _Out of tree_ 插件则是独立开发的。
diff --git a/content/zh/docs/reference/glossary/volume.md b/content/zh/docs/reference/glossary/volume.md
index a170f0f3b8..7ef39eee2f 100644
--- a/content/zh/docs/reference/glossary/volume.md
+++ b/content/zh/docs/reference/glossary/volume.md
@@ -1,5 +1,5 @@
---
-title: 卷
+title: 卷(Volume)
id: volume
date: 2018-04-12
full_link: /zh/docs/concepts/storage/volumes/
@@ -13,31 +13,38 @@ tags:
---
+
+包含可被 {{< glossary_tooltip text="Pod" term_id="pod" >}} 中{{< glossary_tooltip text="容器" term_id="container" >}}访问的数据的目录。
-包含可被 {{< glossary_tooltip text="pod" term_id="pod" >}} 中容器访问的数据的目录。
+
-
-每个 Kubernetes 卷在所处的{{< glossary_tooltip text="pod" term_id="pod" >}} 存在期间保持存在状态。
-因此,卷的生命期会超出 {{< glossary_tooltip text="pod" term_id="pod" >}} 中运行的{{< glossary_tooltip text="容器" term_id="container" >}},
+每个 Kubernetes 卷在所处的 {{< glossary_tooltip text="Pod" term_id="pod" >}} 存在期间保持存在状态。
+因此,卷的生命期会超出 {{< glossary_tooltip text="Pod" term_id="pod" >}} 中运行的{{< glossary_tooltip text="容器" term_id="container" >}},
并且保证{{< glossary_tooltip text="容器" term_id="container" >}}重启之后仍保留数据。
+
+更多信息可参考[storage](/zh/docs/concepts/storage/)
\ No newline at end of file
diff --git a/content/zh/docs/reference/glossary/wg.md b/content/zh/docs/reference/glossary/wg.md
index 9a42e77ab0..563ebacd69 100644
--- a/content/zh/docs/reference/glossary/wg.md
+++ b/content/zh/docs/reference/glossary/wg.md
@@ -1,5 +1,5 @@
---
-title: WG (工作组)
+title: 工作组(Working Group,WG)
id: wg
date: 2018-04-12
full_link: https://github.com/kubernetes/community/blob/master/sig-list.md#master-working-group-list
@@ -26,6 +26,7 @@ tags:
---
-->
+
diff --git a/content/zh/docs/reference/glossary/workload.md b/content/zh/docs/reference/glossary/workload.md
index d21e50e3b0..394b42bd1c 100644
--- a/content/zh/docs/reference/glossary/workload.md
+++ b/content/zh/docs/reference/glossary/workload.md
@@ -1,5 +1,5 @@
---
-title: 工作负载
+title: 工作负载(Workload)
id: workloads
date: 2019-02-13
full_link: /zh/docs/concepts/workloads/
@@ -11,29 +11,38 @@ tags:
- fundamental
---
-
-
+---
+-->
+
+
工作负载是在 Kubernetes 上运行的应用程序。
-
-代表不同类型或部分工作负载的各种核心对象包括 DaemonSet, Deployment, Job, ReplicaSet, and StatefulSet。
+in a {{< glossary_tooltip term_id="Deployment" >}}.
+-->
+代表不同类型或部分工作负载的各种核心对象包括 DaemonSet, Deployment, Job, ReplicaSet, and StatefulSet。
-例如,具有 Web 服务器和数据库的工作负载可能在一个 {{< glossary_tooltip term_id="StatefulSet" >}} 中运行数据库,而 Web 服务器运行在 {{< glossary_tooltip term_id="Deployment" >}}。
\ No newline at end of file
+例如,具有 Web 服务器和数据库的工作负载可能在一个 {{< glossary_tooltip term_id="StatefulSet" >}} 中运行数据库,
+而 Web 服务器运行在 {{< glossary_tooltip term_id="Deployment" >}}。
\ No newline at end of file
diff --git a/content/zh/docs/reference/issues-security/security.md b/content/zh/docs/reference/issues-security/security.md
index e188a53abc..f77b17cb26 100644
--- a/content/zh/docs/reference/issues-security/security.md
+++ b/content/zh/docs/reference/issues-security/security.md
@@ -31,14 +31,14 @@ This page describes Kubernetes security and disclosure information.
## 安全公告
-加入 [kubernets-announce](https://groups.google.com/forum/#!forum/kubernetes-announce) 组,以获取关于安全性和主要 API 公告的电子邮件。
+加入 [kubernetes-security-announce](https://groups.google.com/forum/#!forum/kubernetes-security-announce) 组,以获取关于安全性和主要 API 公告的电子邮件。
-您也可以使用[此链接](https://groups.google.com/forum/feed/kubernetes-announce/msgs/rss_v2_0.xml?num=50)订阅上述的 RSS 反馈。
+你也可以使用[此链接](https://groups.google.com/forum/feed/kubernetes-security-announce/msgs/rss_v2_0.xml?num=50) 订阅上述的 RSS 反馈。
-如需报告,请连同安全细节以及预期的[所有 Kubernetes bug 报告](https://git.k8s.io/kubernetes/.github/ISSUE_TEMPLATE/bug-report.md)详细信息电邮到[security@kubernetes.io](mailto:security@kubernetes.io) 列表。
+如需报告,请连同安全细节以及预期的[所有 Kubernetes bug 报告](https://git.k8s.io/kubernetes/.github/ISSUE_TEMPLATE/bug-report.md)
+详细信息电子邮件到[security@kubernetes.io](mailto:security@kubernetes.io)列表。
-您还可以通过电子邮件向私有 [security@kubernetes.io](mailto:security@kubernetes.io) 列表发送电子邮件,邮件中应该包含[所有 Kubernetes 错误报告](https://git.k8s.io/kubernetes/.github/ISSUE_TEMPLATE/bug-report.md)所需的详细信息。
+你还可以通过电子邮件向私有 [security@kubernetes.io](mailto:security@kubernetes.io) 列表发送电子邮件,邮件中应该包含[所有 Kubernetes 错误报告](https://git.k8s.io/kubernetes/.github/ISSUE_TEMPLATE/bug-report.md)所需的详细信息。
-您可以使用[产品安全团队成员](https://git.k8s.io/sig-release/security-release-process-documentation/security-release-process.md#product-security-team-pst)的 GPG 密钥加密您的电子邮件到此列表。
-使用 GPG 加密不需要公开。
+你可以使用[产品安全团队成员](https://git.k8s.io/security/README.md#product-security-committee-psc)
+的 GPG 密钥加密你的电子邮件到此列表。使用 GPG 加密不需要公开。
-- 您认为在 Kubernetes 中发现了一个潜在的安全漏洞
-- 您不确定漏洞如何影响 Kubernetes
-- 您认为您在 Kubernetes 依赖的另一个项目中发现了一个漏洞
- - 对于具有漏洞报告和披露流程的项目,请直接在该项目处报告
+- 你认为在 Kubernetes 中发现了一个潜在的安全漏洞
+- 你不确定漏洞如何影响 Kubernetes
+- 你认为你在 Kubernetes 依赖的另一个项目中发现了一个漏洞
+- 对于具有漏洞报告和披露流程的项目,请直接在该项目处报告
-- 您需要帮助调整 Kubernetes 组件的安全性
-- 您需要帮助应用与安全相关的更新
-- 您的问题与安全无关
+- 你需要帮助调整 Kubernetes 组件的安全性
+- 你需要帮助应用与安全相关的更新
+- 你的问题与安全无关
-另见: [Kubectl 概述](/zh/docs/reference/kubectl/overview/) 和 [JsonPath 指南](/zh/docs/reference/kubectl/jsonpath)。
-
-本页面是 `kubectl` 命令的概述。
+本页列举了常用的 “kubectl” 命令和标志
-# kubectl - 备忘单
## Kubectl 自动补全
@@ -67,12 +62,12 @@ complete -F __start_kubectl k
```bash
source <(kubectl completion zsh) # 在 zsh 中设置当前 shell 的自动补全
-echo "if [ $commands[kubectl] ]; then source <(kubectl completion zsh); fi" >> ~/.zshrc # 在您的 zsh shell 中永久的添加自动补全
+echo "[[ $commands[kubectl] ]] && source <(kubectl completion zsh)" >> ~/.zshrc # 在您的 zsh shell 中永久的添加自动补全
```
## Kubectl 上下文和配置
-设置 `kubectl` 与哪个 Kubernetes 集群进行通信并修改配置信息。查看
-[使用 kubeconfig 跨集群授权访问](/zh/docs/tasks/access-application-cluster/configure-access-multiple-clusters/)
+设置 `kubectl` 与哪个 Kubernetes 集群进行通信并修改配置信息。
+查看[使用 kubeconfig 跨集群授权访问](/zh/docs/tasks/access-application-cluster/configure-access-multiple-clusters/)
文档获取配置文件详细信息。
-## Apply
-`apply` 通过定义 Kubernetes 资源的文件来管理应用。它通过运行
-`kubectl apply` 在集群中创建和更新资源。
+## Kubectl apply
+`apply` 通过定义 Kubernetes 资源的文件来管理应用。
+它通过运行 `kubectl apply` 在集群中创建和更新资源。
这是在生产中管理 Kubernetes 应用的推荐方法。
参见 [Kubectl 文档](https://kubectl.docs.kubernetes.io)。
@@ -170,12 +165,19 @@ Kubernetes 配置可以用 YAML 或 JSON 定义。可以使用的文件扩展名
## 查看和查找资源
@@ -275,7 +284,7 @@ EOF
# Get commands with basic output
kubectl get services # List all services in the namespace
kubectl get pods --all-namespaces # List all pods in all namespaces
-kubectl get pods -o wide # List all pods in the namespace, with more details
+kubectl get pods -o wide # List all pods in the current namespace, with more details
kubectl get deployment my-dep # List a particular deployment
kubectl get pods # List all pods in the namespace
kubectl get pod my-pod -o yaml # Get a pod's YAML
@@ -297,6 +306,10 @@ kubectl get pv --sort-by=.spec.capacity.storage
kubectl get pods --selector=app=cassandra -o \
jsonpath='{.items[*].metadata.labels.version}'
+# Retrieve the value of a key with dots, e.g. 'ca.crt'
+kubectl get configmap myconfig \
+ -o jsonpath='{.data.ca\.crt}'
+
# Get all worker nodes (use a selector to exclude results that have a label
# named 'node-role.kubernetes.io/master')
kubectl get node --selector='!node-role.kubernetes.io/master'
@@ -331,6 +344,14 @@ kubectl get events --sort-by=.metadata.creationTimestamp
# Compares the current state of the cluster against the state that the cluster would be in if the manifest was applied.
kubectl diff -f ./my-manifest.yaml
+
+# Produce a period-delimited tree of all keys returned for nodes
+# Helpful when locating a key within a complex nested JSON structure
+kubectl get nodes -o json | jq -c 'path(..)|[.[]|tostring]|join(".")'
+
+# Produce a period-delimited tree of all keys returned for pods, etc
+kubectl get pods -o json | jq -c 'path(..)|[.[]|tostring]|join(".")'
+
```
-->
```bash
@@ -359,6 +380,10 @@ kubectl get pv --sort-by=.spec.capacity.storage
kubectl get pods --selector=app=cassandra -o \
jsonpath='{.items[*].metadata.labels.version}'
+# 检索带有 “.” 键值,例: 'ca.crt'
+kubectl get configmap myconfig \
+ -o jsonpath='{.data.ca\.crt}'
+
# 获取所有工作节点(使用选择器以排除标签名称为 'node-role.kubernetes.io/master' 的结果)
kubectl get node --selector='!node-role.kubernetes.io/master'
@@ -392,10 +417,18 @@ kubectl get events --sort-by=.metadata.creationTimestamp
# 比较当前的集群状态和假定某清单被应用之后的集群状态
kubectl diff -f ./my-manifest.yaml
+
+# 生成一个句点分隔的树,其中包含为节点返回的所有键
+# 在复杂的嵌套JSON结构中定位键时非常有用
+kubectl get nodes -o json | jq -c 'path(..)|[.[]|tostring]|join(".")'
+
+# 生成一个句点分隔的树,其中包含为pod等返回的所有键
+kubectl get pods -o json | jq -c 'path(..)|[.[]|tostring]|join(".")'
+
```
## 更新资源
@@ -448,7 +481,7 @@ kubectl annotate pods my-pod icon-url=http://goo.gl/XXBTWq # 添加注解
kubectl autoscale deployment foo --min=2 --max=10 # 对 "foo" Deployment 自动伸缩容
```
-
+
## 部分更新资源
## 编辑资源
@@ -507,7 +540,7 @@ KUBE_EDITOR="nano" kubectl edit svc/docker-registry # 使用其他编辑器
```
## 对资源进行伸缩
@@ -526,7 +559,7 @@ kubectl scale --replicas=5 rc/foo rc/bar rc/baz # 伸缩多个
```
## 删除资源
@@ -535,7 +568,7 @@ kubectl delete -f ./pod.json # Dele
kubectl delete pod,service baz foo # Delete pods and services with same names "baz" and "foo"
kubectl delete pods,services -l name=myLabel # Delete pods and services with label name=myLabel
kubectl delete pods,services -l name=myLabel # Delete pods and services with label name=myLabel
-kubectl -n my-ns delete po,svc --all # Delete all pods and services in namespace my-ns,
+kubectl -n my-ns delete pod,svc --all # Delete all pods and services in namespace my-ns,
# Delete all pods matching the awk pattern1 or pattern2
kubectl get pods -n mynamespace --no-headers=true | awk '/pattern1|pattern2/{print $1}' | xargs kubectl delete -n mynamespace pod
```
@@ -544,8 +577,7 @@ kubectl get pods -n mynamespace --no-headers=true | awk '/pattern1|pattern2/{pr
kubectl delete -f ./pod.json # 删除在 pod.json 中指定的类型和名称的 Pod
kubectl delete pod,service baz foo # 删除名称为 "baz" 和 "foo" 的 Pod 和服务
kubectl delete pods,services -l name=myLabel # 删除包含 name=myLabel 标签的 pods 和服务
-kubectl delete pods,services -l name=myLabel --include-uninitialized # 删除包含 label name=myLabel 标签的 Pods 和服务
-kubectl -n my-ns delete po,svc --all # 删除在 my-ns 名字空间中全部的 Pods 和服务
+kubectl -n my-ns delete pod,svc --all # 删除在 my-ns 名字空间中全部的 Pods 和服务
# 删除所有与 pattern1 或 pattern2 awk 模式匹配的 Pods
kubectl get pods -n mynamespace --no-headers=true | awk '/pattern1|pattern2/{print $1}' | xargs kubectl delete -n mynamespace pod
```
@@ -674,14 +706,14 @@ kubectl api-resources --api-group=extensions # "extensions" API 组中的所有
### 格式化输出
-要以特定格式将详细信息输出到终端窗口,可以将 `-o` 或 `--output` 参数添加到支持的 `kubectl` 命令。
+要以特定格式将详细信息输出到终端窗口,将 `-o`(或者 `--output`)参数添加到支持的 `kubectl` 命令中。
-* 进一步了解 [kubectl 概述](/zh/docs/reference/kubectl/overview/)。
-* 参阅 [kubectl](/zh/docs/reference/kubectl/kubectl/) 选项.
+* 参阅 [kubectl 概述](/zh/docs/reference/kubectl/overview/),进一步了解[JsonPath](/zh/docs/reference/kubectl/jsonpath)。
+* 参阅 [kubectl](/zh/docs/reference/kubectl/kubectl/) 选项。
* 参阅 [kubectl 使用约定](/zh/docs/reference/kubectl/conventions/)来理解如何在可复用的脚本中使用它。
* 查看社区中其他的 [kubectl 备忘单](https://github.com/dennyzhang/cheatsheet-kubernetes-A4)。
diff --git a/content/zh/docs/reference/kubectl/jsonpath.md b/content/zh/docs/reference/kubectl/jsonpath.md
index 900251c09d..c1302ec3d6 100644
--- a/content/zh/docs/reference/kubectl/jsonpath.md
+++ b/content/zh/docs/reference/kubectl/jsonpath.md
@@ -34,7 +34,7 @@ JSONPath 模板由 {} 包起来的 JSONPath 表达式组成。Kubectl 使用 JSO
-->
1. 使用双引号将 JSONPath 表达式内的文本引起来。
2. 使用 `range`,`end` 运算符来迭代列表。
-3. 使用负片索引后退列表。负索引不会"环绕"列表,并且只要 `-index + listLength> = 0` 就有效。
+3. 使用负片索引后退列表。负索引不会“环绕”列表,并且只要 `-index + listLength> = 0` 就有效。
{{< note >}}
-在 Windows 上,您必须 _double_ 引用任何包含空格的 JSONPath 模板(不是上面 bash 所示的单引号)。反过来,这意味着您必须在模板中的所有文字周围使用单引号或转义的双引号。例如:
+{{< note >}}
+在 Windows 上,您必须用双引号把任何包含空格的 JSONPath 模板(不是上面 bash 所示的单引号)。
+反过来,这意味着您必须在模板中的所有文字周围使用单引号或转义的双引号。
+例如:
```cmd
C:\> kubectl get pods -o=jsonpath="{range .items[*]}{.metadata.name}{'\t'}{.status.startTime}{'\n'}{end}"
C:\> kubectl get pods -o=jsonpath="{range .items[*]}{.metadata.name}{\"\t\"}{.status.startTime}{\"\n\"}{end}"
```
+{{< /note >}}
+
+{{< note >}}
+不支持 JSONPath 正则表达式。如需使用正则表达式进行匹配操作,您可以使用如 `jq` 之类的工具。
+
+```shell
+# kubectl 的 JSONpath 输出不支持正则表达式
+# 下面的命令不会生效
+kubectl get pods -o jsonpath='{.items[?(@.metadata.name=~/^test$/)].metadata.name}'
+
+# 下面的命令可以获得所需的结果
+kubectl get pods -o json | jq -r '.items[] | select(.metadata.name | test("test-")).spec.containers[].image'
+```
+{{< /note >}}
diff --git a/content/zh/docs/reference/kubectl/overview.md b/content/zh/docs/reference/kubectl/overview.md
index 834175c5d8..4f4125e26a 100644
--- a/content/zh/docs/reference/kubectl/overview.md
+++ b/content/zh/docs/reference/kubectl/overview.md
@@ -25,14 +25,27 @@ card:
-Kubectl 是一个命令行接口,用于对 Kubernetes 集群运行命令。`kubectl` 在 $HOME/.kube 目录中寻找一个名为 config 的文件。您可以通过设置环境变量 KUBECONFIG 或设置 [`--kubeconfig`](/zh/docs/concepts/configuration/organize-cluster-access-kubeconfig/) 参数指定其它 [kubeconfig](/zh/docs/concepts/configuration/organize-cluster-access-kubeconfig/) 文件。
+你可以使用 Kubectl 命令行工具管理 Kubernetes 集群。
+`kubectl` 在 `$HOME/.kube` 目录中查找一个名为 `config` 的配置文件。
+你可以通过设置 KUBECONFIG 环境变量或设置 [`--kubeconfig`](/zh/docs/concepts/configuration/organize-cluster-access-kubeconfig/)
+参数来指定其它 [kubeconfig](/zh/docs/concepts/configuration/organize-cluster-access-kubeconfig/) 文件。
-本文概述了 `kubectl` 语法和命令操作描述,并提供了常见的示例。有关每个命令的详细信息,包括所有受支持的参数和子命令,请参阅 [kubectl](/docs/reference/generated/kubectl/kubectl-commands/) 参考文档。有关安装说明,请参见 [安装 kubectl](/zh/docs/tasks/tools/install-kubectl/) 。
+本文概述了 `kubectl` 语法和命令操作描述,并提供了常见的示例。
+有关每个命令的详细信息,包括所有受支持的参数和子命令,
+请参阅 [kubectl](/docs/reference/generated/kubectl/kubectl-commands/) 参考文档。
+有关安装说明,请参见[安装 kubectl](/zh/docs/tasks/tools/install-kubectl/) 。
@@ -82,7 +95,7 @@ where `command`, `TYPE`, `NAME`, and `flags` are:
* `NAME`:指定资源的名称。名称区分大小写。如果省略名称,则显示所有资源的详细信息 `kubectl get pods`。
- 在对多个资源执行操作时,您可以按类型和名称指定每个资源,或指定一个或多个文件:
+ 在对多个资源执行操作时,你可以按类型和名称指定每个资源,或指定一个或多个文件:
@@ -111,7 +124,7 @@ where `command`, `TYPE`, `NAME`, and `flags` are:
* 用一个或多个文件指定资源:`-f file1 -f file2 -f file<#>`
- * [使用 YAML 而不是 JSON](/zh/docs/concepts/configuration/overview/#general-config-tips) 因为 YAML 更容易使用,特别是用于配置文件时。
+ * [使用 YAML 而不是 JSON](/docs/concepts/configuration/overview/#general-configuration-tips) 因为 YAML 更容易使用,特别是用于配置文件时。
例子:`kubectl get -f ./pod.yaml`
* `flags`: 指定可选的参数。例如,可以使用 `-s` 或 `-server` 参数指定 Kubernetes API 服务器的地址和端口。
@@ -127,7 +140,7 @@ Flags that you specify from the command line override default values and any cor
-如果您需要帮助,只需从终端窗口运行 ` kubectl help ` 即可。
+如果你需要帮助,只需从终端窗口运行 ` kubectl help ` 即可。
操作 | 语法 | 描述
-------------------- | -------------------- | --------------------
+`alpha` | `kubectl alpha SUBCOMMAND [flags]` | 列出与 alpha 特性对应的可用命令,这些特性在 Kubernetes 集群中默认情况下是不启用的。
`annotate` | kubectl annotate (-f FILENAME | TYPE NAME | TYPE/NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--overwrite] [--all] [--resource-version=version] [flags] | 添加或更新一个或多个资源的注解。
+`api-resources` | `kubectl api-resources [flags]` | 列出可用的 API 资源。
`api-versions` | `kubectl api-versions [flags]` | 列出可用的 API 版本。
`apply` | `kubectl apply -f FILENAME [flags]`| 从文件或 stdin 对资源应用配置更改。
`attach` | `kubectl attach POD -c CONTAINER [-i] [-t] [flags]` | 附加到正在运行的容器,查看输出流或与容器(stdin)交互。
+`auth` | `kubectl auth [flags] [options]` | 检查授权。
`autoscale` | kubectl autoscale (-f FILENAME | TYPE NAME | TYPE/NAME) [--min=MINPODS] --max=MAXPODS [--cpu-percent=CPU] [flags] | 自动伸缩由副本控制器管理的一组 pod。
+`certificate` | `kubectl certificate SUBCOMMAND [options]` | 修改证书资源。
`cluster-info` | `kubectl cluster-info [flags]` | 显示有关集群中主服务器和服务的端口信息。
+`completion` | `kubectl completion SHELL [options]` | 为指定的 shell (bash 或 zsh)输出 shell 补齐代码。
`config` | `kubectl config SUBCOMMAND [flags]` | 修改 kubeconfig 文件。有关详细信息,请参阅各个子命令。
+`convert` | `kubectl convert -f FILENAME [options]` | 在不同的 API 版本之间转换配置文件。配置文件可以是 YAML 或 JSON 格式。
+`cordon` | `kubectl cordon NODE [options]` | 将节点标记为不可调度。
+`cp` | `kubectl cp kubectl delete (-f FILENAME | TYPE [NAME | /NAME | -l label | --all]) [flags] | 从文件、标准输入或指定标签选择器、名称、资源选择器或资源中删除资源。
`describe` | kubectl describe (-f FILENAME | TYPE [NAME_PREFIX | /NAME | -l label]) [flags] | 显示一个或多个资源的详细状态。
`diff` | `kubectl diff -f FILENAME [flags]`| 将 live 配置和文件或标准输入做对比 (**BETA**)
+`drain` | `kubectl drain NODE [options]` | 腾空节点以准备维护。
`edit` | kubectl edit (-f FILENAME | TYPE NAME | TYPE/NAME) [flags] | 使用默认编辑器编辑和更新服务器上一个或多个资源的定义。
`exec` | `kubectl exec POD [-c CONTAINER] [-i] [-t] [flags] [-- COMMAND [args...]]` | 对 pod 中的容器执行命令。
`explain` | `kubectl explain [--recursive=false] [flags]` | 获取多种资源的文档。例如 pod, node, service 等。
`expose` | kubectl expose (-f FILENAME | TYPE NAME | TYPE/NAME) [--port=port] [--protocol=TCP|UDP] [--target-port=number-or-name] [--name=name] [--external-ip=external-ip-of-service] [--type=type] [flags] | 将副本控制器、服务或 pod 作为新的 Kubernetes 服务暴露。
`get` | kubectl get (-f FILENAME | TYPE [NAME | /NAME | -l label]) [--watch] [--sort-by=FIELD] [[-o | --output]=OUTPUT_FORMAT] [flags] | 列出一个或多个资源。
+`kustomize` | `kubectl kustomize kubectl label (-f FILENAME | TYPE NAME | TYPE/NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--overwrite] [--all] [--resource-version=version] [flags] | 添加或更新一个或多个资源的标签。
`logs` | `kubectl logs POD [-c CONTAINER] [--follow] [flags]` | 在 pod 中打印容器的日志。
+`options` | `kubectl options` | 全局命令行选项列表,适用于所有命令。
`patch` | kubectl patch (-f FILENAME | TYPE NAME | TYPE/NAME) --patch PATCH [flags] | 使用策略合并 patch 程序更新资源的一个或多个字段。
+`plugin` | `kubectl plugin [flags] [options]` | 提供用于与插件交互的实用程序。
`port-forward` | `kubectl port-forward POD [LOCAL_PORT:]REMOTE_PORT [...[LOCAL_PORT_N:]REMOTE_PORT_N] [flags]` | 将一个或多个本地端口转发到一个 pod。
`proxy` | `kubectl proxy [--port=PORT] [--www=static-dir] [--www-prefix=prefix] [--api-prefix=prefix] [flags]` | 运行 Kubernetes API 服务器的代理。
`replace` | `kubectl replace -f FILENAME` | 从文件或标准输入中替换资源。
-`rolling-update` | kubectl rolling-update OLD_CONTROLLER_NAME ([NEW_CONTROLLER_NAME] --image=NEW_CONTAINER_IMAGE | -f NEW_CONTROLLER_SPEC) [flags] | 通过逐步替换指定的副本控制器及其 pod 来执行滚动更新。
+`rollout` | `kubectl rollout SUBCOMMAND [options]` | 管理资源的部署。有效的资源类型包括:Deployments, DaemonSets 和 StatefulSets。
`run` | kubectl run NAME --image=image [--env="key=value"] [--port=port] [--dry-run=server | client | none] [--overrides=inline-json] [flags] | 在集群上运行指定的镜像。
`scale` | kubectl scale (-f FILENAME | TYPE NAME | TYPE/NAME) --replicas=COUNT [--resource-version=version] [--current-replicas=count] [flags] | 更新指定副本控制器的大小。
-`stop` | `kubectl stop` | 不推荐:相反,请参阅 kubectl delete。
+`set` | `kubectl set SUBCOMMAND [options]` | 配置应用程序资源。
+`taint` | `kubectl taint NODE NAME KEY_1=VAL_1:TAINT_EFFECT_1 ... KEY_N=VAL_N:TAINT_EFFECT_N [options]` | 更新一个或多个节点上的污点。
+`top` | `kubectl top [flags] [options]` | 显示资源(CPU/内存/存储)的使用情况。
+`uncordon` | `kubectl uncordon NODE [options]` | 将节点标记为可调度。
`version` | `kubectl version [--client] [flags]` | 显示运行在客户端和服务器上的 Kubernetes 版本。
+`wait` | kubectl wait ([-f FILENAME] | resource.group/resource.name | resource.group [(-l label | --all)]) [--for=delete|--for condition=available] [options] | 实验性:等待一种或多种资源的特定条件。
-记住:有关命令操作的更多信息,请参阅 [kubectl](/zh/docs/reference/kubectl/kubectl/) 参考文档。
+了解更多有关命令操作的信息,请参阅 [kubectl](/zh/docs/reference/kubectl/kubectl/) 参考文档。
(以下输出可以通过 `kubectl api-resources` 获取,内容以 Kubernetes 1.19.1 版本为准。)
@@ -351,7 +396,7 @@ The following table includes a list of all the supported resource types and thei
## 输出选项
有关如何格式化或排序某些命令的输出的信息,请使用以下部分。有关哪些命令支持各种输出选项的详细信息,请参阅[kubectl](/zh/docs/reference/kubectl/kubectl/) 参考文档。
@@ -419,7 +464,8 @@ kubectl get pod web-pod-13je7 -o yaml
```
请记住:有关每个命令支持哪种输出格式的详细信息,请参阅 [kubectl](/zh/docs/reference/kubectl/kubectl/) 参考文档。
@@ -431,7 +477,7 @@ Remember: See the [kubectl](/docs/user-guide/kubectl/) reference documentation f
-要定义自定义列并仅将所需的详细信息输出到表中,可以使用该 custom-columns 选项。您可以选择内联定义自定义列或使用模板文件:`-o=custom-columns=
+
+
+
+--allow-missing-template-keys 默认值:true
+
+
+
+
+
+
+如果设置为 true,则在模板中缺少字段或哈希表的键时忽略模板中的任何错误。
+仅适用于 golang 和 jsonpath 输出格式。
+
+
+
+
+
+-o, --experimental-output string 默认值:"text"
+
+
+
+
+
+输出格式:text|json|yaml|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-as-json|jsonpath-file 其中之一
+
+
@@ -48,7 +79,10 @@ kubeadm 配置文件的路径。
-一组键值对(key=value),用于描述各种特征。选项有:--config string
Auditing=true|false (ALPHA - 默认值=false)
CoreDNS=true|false (默认值=true)
DynamicKubeletConfig=true|false (BETA - 默认值=false)
+一组键值对(key=value),用于描述各种特征。选项是:
+
Auditing=true|false (ALPHA - 默认=false)
+
CoreDNS=true|false (默认=true)
+
DynamicKubeletConfig=true|false (BETA - 默认=false)
@@ -64,6 +98,19 @@ list 操作的帮助命令
+
+
+
+
+--image-repository string 默认值:"k8s.gcr.io"
+
+
+
+
+
+选择要从中拉取控制平面镜像的容器仓库
+
+
diff --git a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_apiserver-etcd-client.md b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_apiserver-etcd-client.md
index af818dcf7f..00444ac3f4 100644
--- a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_apiserver-etcd-client.md
+++ b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_apiserver-etcd-client.md
@@ -65,27 +65,6 @@ kubeadm 配置文件的路径。
-
-用于存储 kustomize 为静态 pod 清单所提供的补丁的路径。
+包含名为 "target[suffix][+patchtype].extension" 的文件的目录路径。
+例如,"kube-apiserver0+merge.yaml" 或仅仅是 "etcd.json"。
+"patchtype" 可以是 "strategic"、"merge" 或 "json" 之一,并且它们与 kubectl 支持的补丁格式匹配。
+默认的 "patchtype" 为 "strategic"。 "extension" 必须为 "json" 或 "yaml"。
+"suffix" 是一个可选字符串,可用于确定首先按字母顺序应用哪些补丁。
-
---csr-dir string
-
-
-
-
-
-输出 CSR 和私钥的路径
-
-
-
-
---csr-only
-
-
-
-
-创建 CSR 而不是生成证书
-
-
diff --git a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_apiserver-kubelet-client.md b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_apiserver-kubelet-client.md
index 81f3965c94..49b2749c06 100644
--- a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_apiserver-kubelet-client.md
+++ b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_apiserver-kubelet-client.md
@@ -69,30 +69,6 @@ kubeadm 配置文件路径。
--h, --help
-
---csr-dir string
-
-
-
-
-
-输出 CSR 和私钥的路径
-
-
-
---csr-only
-
-
-
-
-创建 CSR 而不是生成证书
-
-
diff --git a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_apiserver.md b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_apiserver.md
index d7a28e7ff4..1b096a7424 100644
--- a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_apiserver.md
+++ b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_apiserver.md
@@ -111,30 +111,6 @@ Specify a stable IP address or DNS name for the control plane.
--h, --help
-
---csr-dir string
-
-
-
-
-
-输出 CSR 和私钥的路径
-
-
-
---csr-only
-
-
-
-
-创建 CSR 而不是生成证书
-
-
diff --git a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_etcd-healthcheck-client.md b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_etcd-healthcheck-client.md
index 8d8e7f3c54..706d70614e 100644
--- a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_etcd-healthcheck-client.md
+++ b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_etcd-healthcheck-client.md
@@ -69,27 +69,6 @@ kubeadm 配置文件的路径。
--h, --help
-
---csr-dir string
-
-
-
-
-
-CSR 和私钥的输出路径
-
-
-
---csr-only
-
-
-
-创建 CSR 而不是生成证书
-
-
diff --git a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_etcd-peer.md b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_etcd-peer.md
index 271ca5ed6e..9933975b92 100644
--- a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_etcd-peer.md
+++ b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_etcd-peer.md
@@ -71,26 +71,6 @@ kubeadm 配置文件的路径。
--h, --help
-
---csr-dir string
-
-
-
-
-
-输出 CSR 和私钥的路径
-
-
-
---csr-only
-
-
-
-
-创建 CSR 而不是生成证书
-
-
diff --git a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_etcd-server.md b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_etcd-server.md
index f8d9abb026..0f5fb4726e 100644
--- a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_etcd-server.md
+++ b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_etcd-server.md
@@ -70,30 +70,6 @@ kubeadm 配置文件的路径。
--h, --help
-
---csr-dir string
-
-
-
-
-
-输出 CSR 和私钥的路径
-
-
-
---csr-only
-
-
-
-
-创建 CSR 而不是生成证书
-
-
diff --git a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_front-proxy-client.md b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_front-proxy-client.md
index 50651388ee..fb39d4a6cf 100644
--- a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_front-proxy-client.md
+++ b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_front-proxy-client.md
@@ -60,30 +60,6 @@ kubeadm 配置文件的路径。
--h, --help
-
---csr-dir string
-
-
-
-
-
-输出 CSR 和私钥的路径
-
-
-
---csr-only
-
-
-
-
-创建 CSR 而不是生成证书
-
-
diff --git a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_control-plane_all.md b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_control-plane_all.md
index c2f833b8b4..fe02e3d078 100644
--- a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_control-plane_all.md
+++ b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_control-plane_all.md
@@ -141,27 +141,17 @@ A set of extra flags to pass to the Controller Manager or override default ones
--h, --help
-
--k, --experimental-kustomize string
-
-
-
-
-用于存储 kustomize 为静态 pod 清单所提供的补丁的路径。
-
-
--feature-gates string
diff --git a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_control-plane_apiserver.md b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_control-plane_apiserver.md
index e74a615053..e480efd952 100644
--- a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_control-plane_apiserver.md
+++ b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_control-plane_apiserver.md
@@ -109,27 +109,17 @@ Specify a stable IP address or DNS name for the control plane.
-
-一组用来描述各种功能特性的键值(key=value)对。选项是:
IPv6DualStack=true|false (ALPHA - default=false)
+一组用来描述各种功能特性的键值(key=value)对。选项是:
+
IPv6DualStack=true|false (ALPHA - 默认=false)
+
PublicKeysECDSA=true|false (ALPHA - 默认=false)
-
--k, --experimental-kustomize string
-
-
-
-
-用于存储 kustomize 为静态 pod 清单所提供的补丁的路径。
-
-
--feature-gates string
diff --git a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_control-plane_controller-manager.md b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_control-plane_controller-manager.md
index f8701e8f43..f13f966676 100644
--- a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_control-plane_controller-manager.md
+++ b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_control-plane_controller-manager.md
@@ -69,18 +69,6 @@ A set of extra flags to pass to the Controller Manager or override default ones
-
-一组键值对,用于描述各种特征的特征事项。选项是:
IPv6DualStack=true|false (ALPHA - default=false)
+一组键值对,用于描述各种特征的特征事项。选项是:
+
IPv6DualStack=true|false (ALPHA - 默认=false)
+
PublicKeysECDSA=true|false (ALPHA - 默认=false)
-
--k, --experimental-kustomize string
-
-
-
-
-用于存储 kustomize 为静态 pod 清单所提供的补丁的路径。
-
-
diff --git a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_control-plane_scheduler.md b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_control-plane_scheduler.md
index 159b5b8258..fea8bf741a 100644
--- a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_control-plane_scheduler.md
+++ b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_control-plane_scheduler.md
@@ -57,18 +57,6 @@ kubeadm 配置文件的路径。
--h, --help
-
--k, --experimental-kustomize string
-
-
-
-
-用于存储 kustomize 为静态 pod 清单所提供的补丁的路径。
-
-
diff --git a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_etcd_local.md b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_etcd_local.md
index 05e9534c48..0a09b80c86 100644
--- a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_etcd_local.md
+++ b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_etcd_local.md
@@ -75,12 +75,18 @@ kubeadm 配置文件的路径。
-h, --help
-
-k, --experimental-kustomize string
+--experimental-patches string
diff --git a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_join.md b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_join.md
index fe166d7196..e113203a1a 100644
--- a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_join.md
+++ b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_join.md
@@ -7,8 +7,8 @@
当节点加入 kubeadm 初始化的集群时,我们需要建立双向信任。
@@ -21,7 +21,7 @@ provide a file - a subset of the standard kubeconfig file. This file
can be a local file or downloaded via an HTTPS URL. The forms are
kubeadm join --discovery-token abcdef.1234567890abcdef 1.2.3.4:6443,
kubeadm join --discovery-file path/to/file.conf, or kubeadm join
---discovery-file `https://url/file.conf`. Only one form can be used. If
+--discovery-file https://url/file.conf. Only one form can be used. If
the discovery information is loaded from a URL, HTTPS must be used.
Also, in that case the host installed CA bundle is used to verify
the connection.
@@ -39,7 +39,9 @@ the connection.
-用于存储 kustomize 为静态 pod 清单所提供的补丁的路径。
+包含名为 "target[suffix][+patchtype].extension" 的文件的目录的路径。
+例如,"kube-apiserver0+merge.yaml" 或仅仅是 "etcd.json"。
+"patchtype" 可以是 "strategic"、"merge" 或 "json" 之一,并且它们与 kubectl 支持的补丁格式匹配。
+默认的 "patchtype" 为 "strategic"。 "extension" 必须为 "json" 或 "yaml"。
+"suffix" 是一个可选字符串,可用于确定首先按字母顺序应用哪些补丁。
diff --git a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase_control-plane-join_etcd.md b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase_control-plane-join_etcd.md
index 6f04c064a1..196f9f6840 100644
--- a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase_control-plane-join_etcd.md
+++ b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase_control-plane-join_etcd.md
@@ -65,14 +65,18 @@ Create a new control plane instance on this node
-
-用于存储 kustomize 为静态 pod 清单所提供的补丁的路径。
+
+包含名为 "target[suffix][+patchtype].extension" 的文件的目录的路径。
+例如,"kube-apiserver0+merge.yaml" 或仅仅是 "etcd.json"。
+"patchtype" 可以是 "strategic"、"merge" 或 "json" 之一,并且它们与 kubectl 支持的补丁格式匹配。
+默认的 "patchtype" 为 "strategic"。 "extension" 必须为 "json" 或 "yaml"。
+"suffix" 是一个可选字符串,可用于确定首先按字母顺序应用哪些补丁。
-
-k, --experimental-kustomize string
+--experimental-patches string
diff --git a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase_control-plane-prepare_all.md b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase_control-plane-prepare_all.md
index bc44492c4a..7a75089abb 100644
--- a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase_control-plane-prepare_all.md
+++ b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase_control-plane-prepare_all.md
@@ -142,14 +142,18 @@ For token-based discovery, allow joining without --discovery-token-ca-cert-hash
-
-用于存储 kustomize 为静态 pod 清单所提供的补丁的路径。
+包含名为 "target[suffix][+patchtype].extension" 的文件的目录的路径。
+例如,"kube-apiserver0+merge.yaml" 或仅仅是 "etcd.json"。
+"patchtype" 可以是"strategic"、"merge" 或 "json" 之一,并且它们与 kubectl 支持的补丁格式匹配。
+默认的 "patchtype" 为 "strategic"。 "extension" 必须为 "json" 或 "yaml"。
+"suffix" 是一个可选字符串,可用于确定首先按字母顺序应用哪些补丁。
-
-k, --experimental-kustomize string
+--experimental-patches string
diff --git a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase_control-plane-prepare_control-plane.md b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase_control-plane-prepare_control-plane.md
index 21f9a8c627..7f3da71e80 100644
--- a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase_control-plane-prepare_control-plane.md
+++ b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase_control-plane-prepare_control-plane.md
@@ -82,14 +82,18 @@ Create a new control plane instance on this node
-
-用于存储 kustomize 为静态 pod 清单所提供的补丁的路径。
+包含名为 "target[suffix][+patchtype].extension" 的文件的目录的路径。
+例如,"kube-apiserver0+merge.yaml" 或仅仅是 "etcd.json"。
+"patchtype" 可以是 "strategic"、"merge" 或 "json" 之一,并且它们与 kubectl 支持的补丁格式匹配。
+默认的 "patchtype" 为 "strategic"。 "extension" 必须为 "json" 或 "yaml"。
+"suffix" 是一个可选字符串,可用于确定首先按字母顺序应用哪些补丁。
-
-k, --experimental-kustomize string
+--experimental-patches string
diff --git a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_token_list.md b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_token_list.md
index 69806e77db..de796ebe3a 100644
--- a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_token_list.md
+++ b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_token_list.md
@@ -27,6 +27,37 @@ kubeadm token list [flags]
+
-
-用于存储 kustomize 为静态 pod 清单所提供的补丁的路径。
+包含名为 "target[suffix][+patchtype].extension" 的文件的目录的路径。
+例如,"kube-apiserver0+merge.yaml" 或仅仅是 "etcd.json"。
+"patchtype" 可以是 "strategic"、"merge" 或 "json" 之一,并且它们与 kubectl 支持的补丁格式匹配。
+默认的 "patchtype" 为 "strategic"。 "extension" 必须为 "json" 或 "yaml"。
+"suffix" 是一个可选字符串,可用于确定首先按字母顺序应用哪些补丁。
+
+
+
+--allow-missing-template-keys 默认值:true
+
+
+
+
+
+
+如果设置为 true,则在模板中缺少字段或哈希表的键时忽略模板中的任何错误。
+仅适用于 golang 和 jsonpath 输出格式。
+
+
+
+
+
+-o, --experimental-output string 默认值:"text"
+
+
+
+
+
+输出格式:text|json|yaml|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-as-json|jsonpath-file 其中之一
+
+
diff --git a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_apply.md b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_apply.md
index ffef1c5e70..e31467b0c5 100644
--- a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_apply.md
+++ b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_apply.md
@@ -106,14 +106,18 @@ Perform the upgrade of etcd.
-h, --help
-
-k, --experimental-kustomize string
+--experimental-patches string
@@ -125,7 +129,9 @@ The path where kustomize patches for static pod manifests are stored.
-一组键值对,用于描述各种功能。选项包括:
-
-用于存储 kustomize 为静态 pod 清单所提供的补丁的路径。
+包含名为 "target[suffix][+patchtype].extension" 的文件的目录的路径。
+例如,"kube-apiserver0+merge.yaml" 或仅仅是 "etcd.json"。
+"patchtype" 可以是 "strategic"、"merge" 或 "json" 之一,并且它们与 kubectl 支持的补丁格式匹配。
+默认的 "patchtype" 为 "strategic"。 "extension" 必须为 "json" 或 "yaml"。
+"suffix" 是一个可选字符串,可用于确定首先按字母顺序应用哪些补丁。
IPv6DualStack=true|false (ALPHA - 默认值=false)
+一组键值对,用于描述各种功能。选项包括:
+
IPv6DualStack=true|false (ALPHA - 默认=false)
+
PublicKeysECDSA=true|false (ALPHA - 默认=false)
@@ -165,23 +171,6 @@ A list of checks whose errors will be shown as warnings. Example: 'IsPrivilegedU
-
-
-
-
---image-pull-timeout duration 默认值:15m0s
-
-
-
-
-
-等待控制面板 pod 下载的最长时间。
-
-
```
+preflight 执行节点升级前检查
control-plane 如果存在的话,升级部署在该节点上的管理面实例
kubelet-config 更新该节点上的 kubelet 配置
```
@@ -87,14 +89,18 @@ Perform the upgrade of etcd.
-
-k, --experimental-kustomize string
+--experimental-patches string
diff --git a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_node_phase_control-plane.md b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_node_phase_control-plane.md
index 133f6451c2..4235ef59b5 100644
--- a/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_node_phase_control-plane.md
+++ b/content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_node_phase_control-plane.md
@@ -62,10 +62,19 @@ kubeadm upgrade node phase control-plane [flags]
-->
-
-用于存储 kustomize 为静态 pod 清单所提供的补丁的路径。
+包含名为 "target[suffix][+patchtype].extension" 的文件的目录的路径。
+例如,"kube-apiserver0+merge.yaml" 或仅仅是 "etcd.json"。
+"patchtype" 可以是 "strategic"、"merge" 或 "json" 之一,并且它们与 kubectl 支持的补丁格式匹配。
+默认的 "patchtype" 为 "strategic"。 "extension" 必须为 "json" 或 "yaml"。
+"suffix" 是一个可选字符串,可用于确定首先按字母顺序应用哪些补丁。
-
-k, --experimental-kustomize string
+--experimental-patches string
-
+Kubernetes 证书的操作集合。
+
+{{< tabs name="tab-certs" >}}
+{{< tab name="overview" include="generated/kubeadm_alpha_certs.md" />}}
+{{< /tabs >}}
+
+
## kubeadm alpha certs renew {#cmd-certs-renew}
-使用 `all` 子命令来更新所有 Kubernetes 证书或有选择性地更新它们。有关证书到期和续订的更多详细信息,请参见[证书管理文档](/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/)。
+使用 `all` 子命令来更新所有 Kubernetes 证书或有选择性地更新它们。
+有关证书到期和续订的更多详细信息,
+请参见[证书管理文档](/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/)。
{{< tabs name="tab-certs-renew" >}}
{{< tab name="renew" include="generated/kubeadm_alpha_certs_renew.md" />}}
@@ -53,19 +65,34 @@ This command can be used to generate a new control-plane certificate key.
The key can be passed as `--certificate-key` to `kubeadm init` and `kubeadm join`
to enable the automatic copy of certificates when joining additional control-plane nodes.
-->
-该命令可用于生成新的控制平面证书密钥。密钥可以作为 `--certificate-key` 参数传递给 `kubeadm init` 和 `kubeadm join` 操作,以在加入其他控制平面节点时启用证书的自动复制。
+该命令可用于生成新的控制平面证书密钥。
+密钥可以作为 `--certificate-key` 参数传递给 `kubeadm init` 和 `kubeadm join` 操作,
+以在加入其他控制平面节点时启用证书的自动复制。
{{< tabs name="tab-certs-certificate-key" >}}
{{< tab name="certificate-key" include="generated/kubeadm_alpha_certs_certificate-key.md" />}}
{{< /tabs >}}
+## kubeadm alpha certs generate-csr {#cmd-certs-generate-csr}
+
+
+该命令可用于生成证书签名请求(CSR),CSR 可以将其提交给证书颁发机构(CA)进行签名。
+
+{{< tabs name="tab-certs-generate-csr" >}}
+{{< tab name="certificate-generate-csr" include="generated/kubeadm_alpha_certs_generate-csr.md" />}}
+{{< /tabs >}}
+
## kubeadm alpha certs check-expiration {#cmd-certs-check-expiration}
-此命令检查 kubeadm 管理的本地 PKI 中证书的到期时间。有关证书到期和续订的更多详细信息,请参见[证书管理文档](/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/)。
+此命令检查 kubeadm 管理的本地 PKI 中证书的到期时间。
+有关证书到期和续订的更多详细信息,请参见[证书管理文档](/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/)。
{{< tabs name="tab-certs-check-expiration" >}}
{{< tab name="check-expiration" include="generated/kubeadm_alpha_certs_check-expiration.md" />}}
@@ -101,7 +128,7 @@ Use the following command to enable the DynamicKubeletConfiguration feature.
-子命令 `pivot` 可用于将 Pod 托管的静态控制平面转换为自托管的控制平面。有关 `pivot` 更多信息,请参见[文档](/docs/setup/production-environment/tools/kubeadm/self-hosting/)。
+子命令 `pivot` 可用于将 Pod 托管的静态控制平面转换为自托管的控制平面。有关 `pivot` 更多信息,请参见[文档](zh/docs/setup/production-environment/tools/kubeadm/self-hosting/)。
-* [kubeadm init](/docs/reference/setup-tools/kubeadm/kubeadm-init/) 引导 Kubernetes 控制平面节点
-* [kubeadm join](/docs/reference/setup-tools/kubeadm/kubeadm-join/) 将节点连接到集群
-* [kubeadm reset](/docs/reference/setup-tools/kubeadm/kubeadm-reset/) 会还原 `kubeadm init` 或 `kubeadm join` 操作对主机所做的任何更改。
+* [kubeadm init](/zh/docs/reference/setup-tools/kubeadm/kubeadm-init/) 引导 Kubernetes 控制平面节点
+* [kubeadm join](/zh/docs/reference/setup-tools/kubeadm/kubeadm-join/) 将节点连接到集群
+* [kubeadm reset](/zh/docs/reference/setup-tools/kubeadm/kubeadm-reset/) 会还原 `kubeadm init` 或 `kubeadm join` 操作对主机所做的任何更改。
diff --git a/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-config.md b/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-config.md
index d36201165e..6cb9305b6c 100644
--- a/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-config.md
+++ b/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-config.md
@@ -6,32 +6,39 @@ weight: 50
-
-从 v1.8.0 开始,kubeadm 将集群的配置上传到名为 kube-system 的 ConfigMap 对象中,对象位于 kube-system 命名空间内。并在以后的升级中读取这个 ConfigMap 配置对象。
-这样可以保证系统组件的正确配置,提供无缝的用户体验。
+在 `kubeadm init` 执行期间,kubeadm 将 `ClusterConfiguration` 对象上传到你的集群的 `kube-system` 名字空间下
+名为 `kubeadm-config` 的 ConfigMap 对象中。
+然后在 `kubeadm join`、`kubeadm reset` 和 `kubeadm upgrade` 执行期间读取此配置。
+要查看此 ConfigMap,请调用 `kubeadm config view`。
-
-您可以执行 kubeadm config view 来查看 ConfigMap。如果使用 kubeadm v1.7.x 或更低版本来初始化群集,必须先使用 kubeadm config upload 创建 ConfigMap,然后才能使用 kubeadm upgrade。
+你可以使用 `kubeadm config print` 命令打印默认配置,
+并使用 `kubeadm config migrate` 命令将旧版本的配置转化成新版本。
+`kubeadm config images list` 和 `kubeadm config images pull`
+命令可以用来列出并拉取 kubeadm 所需的镜像。
+For more information navigate to
+[Using kubeadm init with a configuration file](/docs/reference/setup-tools/kubeadm/kubeadm-init/#config-file)
+or [Using kubeadm join with a configuration file](/docs/reference/setup-tools/kubeadm/kubeadm-join/#config-file).
-在 Kubernetes v1.11.0 中,添加了一些新命令。你可以使用 kubeadm config print-default
-打印默认配置,可以用 kubeadm config migrate 来将旧的配置文件转换到较新的版本,还可以使用 kubeadm config images list 和 kubeadm config images pull
-列出并拉取 kubeadm 所需的镜像。
+In Kubernetes v1.13.0 and later to list/pull kube-dns images instead of the CoreDNS image
+the `--config` method described [here](/docs/reference/setup-tools/kubeadm/kubeadm-init-phase/#cmd-phase-addon)
+has to be used.
+-->
+更多信息请浏览[使用带配置文件的 kubeadm init](/zh/docs/reference/setup-tools/kubeadm/kubeadm-init/#config-file)
+或[使用带配置文件的 kubeadm join](/zh/docs/reference/setup-tools/kubeadm/kubeadm-join/#config-file).
+
+在 Kubernetes v1.13.0 及更高版本中,要列出/拉取 kube-dns 镜像而不是 CoreDNS 镜像,
+必须使用[这里](/zh/docs/reference/setup-tools/kubeadm/kubeadm-init-phase/#cmd-phase-addon)所描述的 `--config` 方法。
@@ -65,6 +72,6 @@ to list and pull the images that kubeadm requires.
* [kubeadm upgrade](/docs/reference/setup-tools/kubeadm/kubeadm-upgrade/) to upgrade a Kubernetes cluster to a newer version
-->
-* [kubeadm upgrade](/docs/reference/setup-tools/kubeadm/kubeadm-upgrade/) 将 Kubernetes 集群升级到更新版本 [kubeadm upgrade]
+* [kubeadm upgrade](/zh/docs/reference/setup-tools/kubeadm/kubeadm-upgrade/) 将 Kubernetes 集群升级到更新版本 [kubeadm upgrade]
diff --git a/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-init-phase.md b/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-init-phase.md
index 70f058f594..69cbc59b4c 100644
--- a/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-init-phase.md
+++ b/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-init-phase.md
@@ -23,7 +23,7 @@ if you wish to apply customization.
`kubeadm init phase` is consistent with the [kubeadm init workflow](/docs/reference/setup-tools/kubeadm/kubeadm-init/#init-workflow),
and behind the scene both use the same code.
-->
-`kubeadm init phase` 与 [kubeadm init 工作流程](/docs/reference/setup-tools/kubeadm/kubeadm-init/#init-workflow)一致,后台都使用相同的代码。
+`kubeadm init phase` 与 [kubeadm init 工作流](/zh/docs/reference/setup-tools/kubeadm/kubeadm-init/#init-workflow)一致,后台都使用相同的代码。
-可以使用此命令将 kubeadm 配置文件上传到集群。或者,使用 [kubeadm config](/docs/reference/setup-tools/kubeadm/kubeadm-config/) 方式。
+可以使用此命令将 kubeadm 配置文件上传到集群。或者使用 [kubeadm config](/zh/docs/reference/setup-tools/kubeadm/kubeadm-config/)。
{{< tabs name="upload-config" >}}
{{< tab name="upload-config" include="generated/kubeadm_init_phase_upload-config.md" />}}
@@ -198,6 +198,21 @@ Use the following phase to configure bootstrap tokens.
{{< tab name="bootstrap-token" include="generated/kubeadm_init_phase_bootstrap-token.md" />}}
{{< /tabs >}}
+## kubeadm init phase kubelet-finialize {#cmd-phase-kubelet-finalize-all}
+
+
+使用以下阶段在 TLS 引导后更新与 kubelet 相关的设置。
+你可以使用 `all` 子命令来运行所有 `kubelet-finalize` 阶段。
+
+{{< tabs name="tab-kubelet-finalize" >}}
+{{< tab name="kublet-finalize" include="generated/kubeadm_init_phase_kubelet-finalize.md" />}}
+{{< tab name="kublet-finalize-all" include="generated/kubeadm_init_phase_kubelet-finalize_all.md" />}}
+{{< tab name="kublet-finalize-cert-rotation" include="generated/kubeadm_init_phase_kubelet-finalize_experimental-cert-rotation.md" />}}
+{{< /tabs >}}
-* [kubeadm init](/docs/reference/setup-tools/kubeadm/kubeadm-init/) 引导 Kubernetes 控制平面节点
-* [kubeadm join](/docs/reference/setup-tools/kubeadm/kubeadm-join/) 将节点连接到集群
-* [kubeadm reset](/docs/reference/setup-tools/kubeadm/kubeadm-reset/) 恢复通过 `kubeadm init` 或 `kubeadm join` 操作对主机所做的任何更改
-* [kubeadm alpha](/docs/reference/setup-tools/kubeadm/kubeadm-alpha/) 尝试实验性功能
+* [kubeadm init](/zh/docs/reference/setup-tools/kubeadm/kubeadm-init/) 引导 Kubernetes 控制平面节点
+* [kubeadm join](/zh/docs/reference/setup-tools/kubeadm/kubeadm-join/) 将节点连接到集群
+* [kubeadm reset](/zh/docs/reference/setup-tools/kubeadm/kubeadm-reset/) 恢复通过 `kubeadm init` 或 `kubeadm join` 操作对主机所做的任何更改
+* [kubeadm alpha](/zh/docs/reference/setup-tools/kubeadm/kubeadm-alpha/) 尝试实验性功能
diff --git a/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-init.md b/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-init.md
index 50042ea558..9d0e64bec5 100644
--- a/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-init.md
+++ b/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-init.md
@@ -40,28 +40,25 @@ following steps:
1. Runs a series of pre-flight checks to validate the system state
before making changes. Some checks only trigger warnings, others are
considered errors and will exit kubeadm until the problem is corrected or the
- user specifies `-ignore-preflight-errors=用于存储 kustomize 为静态 pod 清单所提供的补丁的路径。
+
+
+包含名为 "target[suffix][+patchtype].extension" 的文件的目录的路径。
+例如,"kube-apiserver0+merge.yaml" 或仅仅是 "etcd.json"。
+"patchtype" 可以是 "strategic"、"merge" 或 "json" 之一,并且它们与 kubectl 支持的补丁格式匹配。
+默认的 "patchtype" 为 "strategic"。 "extension" 必须为 "json" 或 "yaml"。
+"suffix" 是一个可选字符串,可用于确定首先按字母顺序应用哪些补丁。
+
-
+{{< /table >}}
**脚注:**
-\* 如果服务器无法正确处理 `resourceVersionMatch` 参数,其行为与未设置该参数相同。
+[1] 如果服务器无法正确处理 `resourceVersionMatch` 参数,其行为与未设置该参数相同。
+
+{{< table caption="watch 操作的 resourceVersion 设置" >}}
+
| resourceVersion 未设置 | resourceVersion="0" | resourceVersion="\<非零值\>" |
|---------------------------|--------------------------|------------------------------|
| 读取状态并从最新版本开始 | 读取状态并从任意版本开始 | 从指定版本开始 |
+{{< /table >}}
+
-
-
-
-
-此页提供 Kubernetes API 的总览
-
-
-
-
-
-
-
-REST API 是 Kubernetes 的基础架构。组件之间的所有操作和通信,以及外部用户命令都是 API Server 处理的 REST API 调用。因此,Kubernetes 平台中的所有资源被视为 API 对象,并且在
-[API](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/) 中都有对应的定义项。
-
-大多数操作可以通过 [kubectl](/docs/reference/kubectl/overview/) 命令行界面或其他命令行工具执行,例如 [kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/),它们本身也使用 API。但是,您也可以使用 REST 调用直接访问 API。
-
-如果您正在使用 Kubernetes API 编写应用程序,请考虑使用 [客户端库](/docs/reference/using-api/client-libraries/)。
-
-
-## API 版本控制
-
-为了消除字段或重组资源表示形式,Kubernetes 支持多个 API 版本,每个版本在不同的 API 路径下。例如:`/api/v1` 或者 `/apis/extensions/v1beta1`。
-
-版本是在 API 级别而非资源或字段级别配置的:
-
-- 确保 API 呈现出清晰一致的系统资源和行为视图。
-- 允许控制对已寿终正寝的 API 和/或实验性 API 的访问。
-
-JSON 和 Protobuf 序列化模式在出现模式变更时均遵循这些准则。以下说明同时适用于这两种格式。
-
-
-
-{{< note >}}
-API 版本和软件版本是间接相关的。[API 和发布版本建议](https://git.k8s.io/community/contributors/design-proposals/release/versioning.md) 描述了 API 版本和软件版本之间的关系。
-{{< /note >}}
-
-
-不同的 API 版本表示不同级别的稳定性和支持级别。您可以在 [API 变更文档](https://git.k8s.io/community/contributors/devel/sig-architecture/api_changes.md#alpha-beta-and-stable) 中找到有关每个级别的条件的更多信息。
-
-以下是每个级别的摘要:
-
-- Alpha:
- - 版本名称包含 `alpha`(例如,`v1alpha1`)。
- - 该软件可能包含错误。启用功能可能会暴露错误。默认情况下,功能可能被禁用。
- - 对功能的支持随时可能被删除,但不另行通知。
- - 在以后的软件版本中,API 可能会以不兼容的方式更改,亦不另行通知。
- - 由于存在更高的错误风险和缺乏长期支持,建议仅在短期测试集群中使用该软件。
-
-- Beta:
- - 版本名称包含`beta`(例如,`v2beta3`)。
- - 该软件已经过充分测试。启用功能被认为是安全的。默认情况下启用功能。
- - 尽管细节可能会发生变更,对应功能不会被废弃。
- - 在随后的 Beta 或稳定版本中,对象的模式和/或语义可能会以不兼容的方式更改。发生这种情况时,将提供迁移说明。迁移时可能需要删除、编辑和重新创建 API 对象。编辑过程可能需要一些思考。对于依赖该功能的应用程序,可能需要停机。
- - 该软件仅建议用于非关键业务用途,因为在后续版本中可能会发生不兼容的更改。如果您有多个可以独立升级的群集,则可以放宽此限制。
-
- {{< note >}}
-
-
-
-请试用 Beta 版功能并提供反馈。功能结束 Beta 版之后,再进行变更可能是不切实际的。
-
- {{< /note >}}
-
-
-
-- 稳定版:
- - 版本名称为 `vX`,其中`X`为整数。
- - 功能特性的稳定版本会持续出现在许多后续版本的发行软件中。
-
-
-
-## API 组
-
-[ *API 组*](https://git.k8s.io/community/contributors/design-proposals/api-machinery/api-group.md) 使扩展 Kubernetes API 更容易。API 组在 REST 路径和序列化对象的 apiVersion 字段中指定。
-
-当前,有几个正在使用的 API 组:
-
-* *core*(也称为 *legacy*)组,它位于 REST 路径`/api/v1`上,未指定为 apiVersion 字段的一部分,例如`apiVersion: v1`。
-* 特定名称的组位于 REST 路径`/apis/$GROUP_NAME/$VERSION`下,并使用`apiVersion:$GROUP_NAME/$VERSION`(例如,`apiVersion:batch/v1`)。您可以在 [Kubernetes API 参考](/docs/reference/) 中找到受支持的 API Group 的完整列表。
-
-有两种途径来使用 [自定义资源](/docs/concepts/api-extension/custom-resources/) 扩展 API,分别是:
-
- - [CustomResourceDefinition](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/) 提供基本的 CRUD 需求。
- - [聚合器(Aggregator)](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/aggregated-api-servers.md)具有完整的 Kubernetes API 语义,用以实现用户自己的 apiserver。
-
-
-## 启用 API 组
-
-默认情况下,某些资源和 API 组处于启用状态。您可以通过设置`--runtime-config`来启用或禁用它们。
-`--runtime-config` 接受逗号分隔的值。例如:
- - 要禁用 `batch/v1`,请配置`--runtime-config=batch/v1=false`
- - 要启用 `batch/2alpha1`,请配置`--runtime-config=batch/v2alpha1`
-该标志接受描述 apiserver 的运行时配置的以逗号分隔的`key=value` 对集合。
-
-{{< note >}}
-
-
-启用或禁用组或资源时,需要重新启动 apiserver 和控制器管理器以刷新 `--runtime-config` 的更改。
-
-{{< /note >}}
-
-
-
-## 启用 extensions/v1beta1 组中具体资源
-
-在 `extensions/v1beta1` API 组中,DaemonSets,Deployments,StatefulSet, NetworkPolicies, PodSecurityPolicies 和 ReplicaSets 是默认禁用的。
-例如:要启用 deployments 和 daemonsets,请设置 `--runtime-config=extensions/v1beta1/deployments=true,extensions/v1beta1/daemonsets=true`。
-
-{{< note >}}
-
-
-出于遗留原因,仅在 `extensions / v1beta1` API 组中支持各个资源的启用/禁用。
-
-{{< /note >}}
-
-
diff --git a/content/zh/docs/reference/using-api/client-libraries.md b/content/zh/docs/reference/using-api/client-libraries.md
index 20855fbe48..6cc437b139 100644
--- a/content/zh/docs/reference/using-api/client-libraries.md
+++ b/content/zh/docs/reference/using-api/client-libraries.md
@@ -24,11 +24,11 @@ API from various programming languages.
-在使用 [Kubernetes REST API](/docs/reference/using-api/api-overview/) 编写应用程序时,
+在使用 [Kubernetes REST API](/zh/docs/reference/using-api/) 编写应用程序时,
您并不需要自己实现 API 调用和 “请求/响应” 类型。
您可以根据自己的编程语言需要选择使用合适的客户端库。
@@ -36,22 +36,22 @@ You can use a client library for the programming language you are using.
Client libraries often handle common tasks such as authentication for you.
Most client libraries can discover and use the Kubernetes Service Account to
authenticate if the API client is running inside the Kubernetes cluster, or can
-understand the [kubeconfig file](/docs/tasks/access-application-cluster/authenticate-across-clusters-kubeconfig/)
+understand the [kubeconfig file](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/)
format to read the credentials and the API Server address.
-->
客户端库通常为您处理诸如身份验证之类的常见任务。
如果 API 客户端在 Kubernetes 集群中运行,大多数客户端库可以发现并使用 Kubernetes 服务帐户进行身份验证,
-或者能够理解 [kubeconfig 文件](/docs/tasks/access-application-cluster/authenticate-across-clusters-kubeconfig/)
+或者能够理解 [kubeconfig 文件](/zh/docs/tasks/access-application-cluster/configure-access-multiple-clusters/)
格式来读取凭据和 API 服务器地址。
-## 官方支持的 Kubernetes 客户端库
+## 官方支持的 Kubernetes 客户端库 {#officially-supported-kubernetes-client-libraries}
以下客户端库由 [Kubernetes SIG API Machinery](https://github.com/kubernetes/community/tree/master/sig-api-machinery) 正式维护。
@@ -78,7 +78,9 @@ Machinery](https://github.com/kubernetes/community/tree/master/sig-api-machinery
-## 社区维护的客户端库
+## 社区维护的客户端库 {#community-maintained-client-libraries}
+
+{{% thirdparty-content %}}
| 语言 | 客户端库 |
| -------------------- | ---------------------------------------- |
@@ -122,28 +129,33 @@ their authors, not the Kubernetes team.
| Go | [github.com/ericchiang/k8s](https://github.com/ericchiang/k8s) |
| Java (OSGi) | [bitbucket.org/amdatulabs/amdatu-kubernetes](https://bitbucket.org/amdatulabs/amdatu-kubernetes) |
| Java (Fabric8, OSGi) | [github.com/fabric8io/kubernetes-client](https://github.com/fabric8io/kubernetes-client) |
+| Java | [github.com/manusa/yakc](https://github.com/manusa/yakc) |
| Lisp | [github.com/brendandburns/cl-k8s](https://github.com/brendandburns/cl-k8s) |
| Lisp | [github.com/xh4/cube](https://github.com/xh4/cube) |
| Node.js (TypeScript) | [github.com/Goyoo/node-k8s-client](https://github.com/Goyoo/node-k8s-client) |
-| Node.js | [github.com/tenxcloud/node-kubernetes-client](https://github.com/tenxcloud/node-kubernetes-client) |
-| Node.js | [github.com/godaddy/kubernetes-client](https://github.com/godaddy/kubernetes-client) |
| Node.js | [github.com/ajpauwels/easy-k8s](https://github.com/ajpauwels/easy-k8s)
+| Node.js | [github.com/godaddy/kubernetes-client](https://github.com/godaddy/kubernetes-client) |
+| Node.js | [github.com/tenxcloud/node-kubernetes-client](https://github.com/tenxcloud/node-kubernetes-client) |
| Perl | [metacpan.org/pod/Net::Kubernetes](https://metacpan.org/pod/Net::Kubernetes) |
-| PHP | [github.com/maclof/kubernetes-client](https://github.com/maclof/kubernetes-client) |
| PHP | [github.com/allansun/kubernetes-php-client](https://github.com/allansun/kubernetes-php-client) |
+| PHP | [github.com/maclof/kubernetes-client](https://github.com/maclof/kubernetes-client) |
| PHP | [github.com/travisghansen/kubernetes-client-php](https://github.com/travisghansen/kubernetes-client-php) |
+| PHP | [github.com/renoki-co/php-k8s](https://github.com/renoki-co/php-k8s) |
| Python | [github.com/eldarion-gondor/pykube](https://github.com/eldarion-gondor/pykube) |
+| Python | [github.com/fiaas/k8s](https://github.com/fiaas/k8s) |
| Python | [github.com/mnubo/kubernetes-py](https://github.com/mnubo/kubernetes-py) |
-| Ruby | [github.com/Ch00k/kuber](https://github.com/Ch00k/kuber) |
+| Python | [github.com/tomplus/kubernetes_asyncio](https://github.com/tomplus/kubernetes_asyncio) |
| Ruby | [github.com/abonas/kubeclient](https://github.com/abonas/kubeclient) |
+| Ruby | [github.com/Ch00k/kuber](https://github.com/Ch00k/kuber) |
| Ruby | [github.com/kontena/k8s-client](https://github.com/kontena/k8s-client) |
| Rust | [github.com/clux/kube-rs](https://github.com/clux/kube-rs) |
| Rust | [github.com/ynqa/kubernetes-rust](https://github.com/ynqa/kubernetes-rust) |
| Scala | [github.com/doriordan/skuber](https://github.com/doriordan/skuber) |
-| dotNet | [github.com/tonnyeremin/kubernetes_gen](https://github.com/tonnyeremin/kubernetes_gen) |
+| Scala | [github.com/joan38/kubernetes-client](https://github.com/joan38/kubernetes-client) |
+| DotNet | [github.com/tonnyeremin/kubernetes_gen](https://github.com/tonnyeremin/kubernetes_gen) |
| DotNet (RestSharp) | [github.com/masroorhasan/Kubernetes.DotNet](https://github.com/masroorhasan/Kubernetes.DotNet) |
| Elixir | [github.com/obmarg/kazan](https://github.com/obmarg/kazan/) |
-| Haskell | [github.com/soundcloud/haskell-kubernetes](https://github.com/soundcloud/haskell-kubernetes) |
+| Elixir | [github.com/coryodaniel/k8s](https://github.com/coryodaniel/k8s) |
diff --git a/content/zh/docs/reference/using-api/deprecation-policy.md b/content/zh/docs/reference/using-api/deprecation-policy.md
index a5fa369e96..84e2137528 100644
--- a/content/zh/docs/reference/using-api/deprecation-policy.md
+++ b/content/zh/docs/reference/using-api/deprecation-policy.md
@@ -39,7 +39,7 @@ Kubernetes 是一个组件众多、贡献者人数众多的大系统。
Since Kubernetes is an API-driven system, the API has evolved over time to
reflect the evolving understanding of the problem space. The Kubernetes API is
actually a set of APIs, called "API groups", and each API group is
-independently versioned. [API versions](/docs/reference/using-api/api-overview/#api-versioning) fall
+independently versioned. [API versions](/docs/reference/using-api/#api-versioning) fall
into 3 main tracks, each of which has different policies for deprecation:
-->
## 弃用 API 的一部分 {#deprecating-parts-of-the-api}
@@ -47,7 +47,7 @@ into 3 main tracks, each of which has different policies for deprecation:
由于 Kubernetes 是一个 API 驱动的系统,API 会随着时间推移而演化,以反映
人们对问题共建的认识的变化。Kubernetes API 实际上是一个 API 集合,其中每个
成员称作“API 组(API Group)”,并且每个 API 组都是独立管理版本的。
-[API 版本](/zh/docs/reference/using-api/api-overview/#api-versioning)会有
+[API 版本](/zh/docs/reference/using-api/#api-versioning)会有
三类,每类有不同的废弃策略:
-### REST 资源(也即 API 对象)
+### REST 资源(也即 API 对象) {#rest-resources-aka-api-objects}
考虑一个假想的名为 Widget 的 REST 资源,在上述时间线中位于 API v1,
而现在打算将其弃用。
@@ -450,12 +450,12 @@ Starting in Kubernetes v1.19, making an API request to a deprecated REST API end
2. Adds a `"k8s.io/deprecated":"true"` annotation to the [audit event](/docs/tasks/debug-application-cluster/audit/) recorded for the request.
3. Sets an `apiserver_requested_deprecated_apis` gauge metric to `1` in the `kube-apiserver`
process. The metric has labels for `group`, `version`, `resource`, `subresource` that can be joined
- to the `apiserver_request_total` metric, and a `removed_version` label that indicates the
+ to the `apiserver_request_total` metric, and a `removed_release` label that indicates the
Kubernetes release in which the API will no longer be served. The following Prometheus query
returns information about requests made to deprecated APIs which will be removed in v1.22:
-
+
```promql
- apiserver_requested_deprecated_apis{removed_version="1.22"} * on(group,version,resource,subresource) group_right() apiserver_request_total
+ apiserver_requested_deprecated_apis{removed_release="1.22"} * on(group,version,resource,subresource) group_right() apiserver_request_total
```
-->
从 Kubernetes v1.19 开始,当 API 请求被发送到一个已弃用的 REST API 末端时:
@@ -468,12 +468,12 @@ Starting in Kubernetes v1.19, making an API request to a deprecated REST API end
设置为 `1`。
该度量值还附带 `group`、`version`、`resource` 和 `subresource` 标签
(可供添加到度量值 `apiserver_request_total` 上),
- 和一个 `removed_version` 标签,标明该 API 将消失的 Kubernetes 发布版本。
+ 和一个 `removed_release` 标签,标明该 API 将消失的 Kubernetes 发布版本。
下面的 Prometheus 查询会返回对 v1.22 中将移除的、已弃用的 API
的请求的信息:
```promql
- apiserver_requested_deprecated_apis{removed_version="1.22"} * on(group,version,resource,subresource) group_right() apiserver_request_total
+ apiserver_requested_deprecated_apis{removed_release="1.22"} * on(group,version,resource,subresource) group_right() apiserver_request_total
```
| Golang 标记 | OpenAPI extension | 可接受的值 | 描述 | 引入版本 |
|---|---|---|---|---|
-| `//+listType` | `x-kubernetes-list-type` | `atomic`/`set`/`map` | 适用于 list。 `atomic` 和 `set` 适用于只包含标量元素的 list。 `map` 适用于只包含嵌套类型的 list。 如果配置为 `atomic`, 合并时整个列表会被替换掉; 任何时候,唯一的管理器都把列表作为一个整体来管理。如果是细粒度管理,不同的管理器也可以分开管理条目。 | 1.16 |
+| `//+listType` | `x-kubernetes-list-type` | `atomic`/`set`/`map` | 适用于 list。 `atomic` 和 `set` 适用于只包含标量元素的 list。 `map` 适用于只包含嵌套类型的 list。 如果配置为 `atomic`, 合并时整个列表会被替换掉; 任何时候,唯一的管理器都把列表作为一个整体来管理。如果是 `set` 或 `map` ,不同的管理器也可以分开管理条目。 | 1.16 |
| `//+listMapKey` | `x-kubernetes-list-map-keys` | 用来唯一标识条目的 map keys 切片,例如 `["port", "protocol"]` | 仅当 `+listType=map` 时适用。组合值的字符串切片必须唯一标识列表中的条目。尽管有多个 key,`listMapKey` 是单数的,这是因为 key 需要在 Go 类型中单独的指定。 | 1.16 |
| `//+mapType` | `x-kubernetes-map-type` | `atomic`/`granular` | 适用于 map。 `atomic` 指 map 只能被单个的管理器整个的替换。 `granular` 指 map 支持多个管理器各自更新自己的字段。 | 1.17 |
| `//+structType` | `x-kubernetes-map-type` | `atomic`/`granular` | 适用于 structs;否则就像 `//+mapType` 有相同的用法和 openapi 注释.| 1.17 |
diff --git a/content/zh/docs/setup/production-environment/windows/user-guide-windows-containers.md b/content/zh/docs/setup/production-environment/windows/user-guide-windows-containers.md
index 80a470cfad..1fd7105edb 100644
--- a/content/zh/docs/setup/production-environment/windows/user-guide-windows-containers.md
+++ b/content/zh/docs/setup/production-environment/windows/user-guide-windows-containers.md
@@ -96,7 +96,7 @@ spec:
command:
- powershell.exe
- -command
- - "<#code used from https://gist.github.com/wagnerandrade/5424431#> ; $$listener = New-Object System.Net.HttpListener ; $$listener.Prefixes.Add('http://*:80/') ; $$listener.Start() ; $$callerCounts = @{} ; Write-Host('Listening at http://*:80/') ; while ($$listener.IsListening) { ;$$context = $$listener.GetContext() ;$$requestUrl = $$context.Request.Url ;$$clientIP = $$context.Request.RemoteEndPoint.Address ;$$response = $$context.Response ;Write-Host '' ;Write-Host('> {0}' -f $$requestUrl) ; ;$$count = 1 ;$$k=$$callerCounts.Get_Item($$clientIP) ;if ($$k -ne $$null) { $$count += $$k } ;$$callerCounts.Set_Item($$clientIP, $$count) ;$$ip=(Get-NetAdapter | Get-NetIpAddress); $$header='Windows Container Web Server
' ;$$callerCountsString='' ;$$callerCounts.Keys | % { $$callerCountsString+='Windows Container Web Server
' ;$$callerCountsString='' ;$$callerCounts.Keys | % { $$callerCountsString+='