merge master to 1.10, with fixes (#7682)

This commit is contained in:
Jennifer Rondeau
2018-03-08 14:03:55 -05:00
committed by k8s-ci-robot
parent bb8c59a640
commit 44b51d6056
548 changed files with 11634 additions and 318622 deletions
+1 -1
View File
@@ -14,7 +14,7 @@
**Page to Update:**
http://kubernetes.io/...
https://kubernetes.io/...
<!--Optional Information (remove the comment tags around information you would like to include)-->
<!--Kubernetes Version:-->
+3
View File
@@ -1,3 +1,6 @@
>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> For 1.10 Features: set Milestone to 1.10 and Base Branch to release-1.10
>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> NOTE: After opening the PR, please *un-check and re-check* the ["Allow edits from maintainers"](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) box so that maintainers can work on your patch and speed up the review process. This is a temporary workaround to address a known issue with GitHub.>
>
> Please delete this note before submitting the pull request.
+1 -1
View File
@@ -27,7 +27,7 @@ group :jekyll_plugins do
gem "jekyll-github-metadata", "~> 2.2"
gem "jekyll-optional-front-matter", "~> 0.1"
gem "jekyll-readme-index", "0.0.3"
gem "jekyll-redirect-from", "~> 0.11"
gem "jekyll-redirect-from", "~> 0.13"
gem "jekyll-relative-links", "~> 0.2"
gem "jekyll-swiss", "~> 0.4"
gem "jekyll-theme-architect", "0.0.3"
+2 -2
View File
@@ -47,7 +47,7 @@ GEM
jekyll-paginate (1.1.0)
jekyll-readme-index (0.0.3)
jekyll (~> 3.0)
jekyll-redirect-from (0.12.1)
jekyll-redirect-from (0.13.0)
jekyll (~> 3.3)
jekyll-relative-links (0.5.1)
jekyll (~> 3.3)
@@ -145,7 +145,7 @@ DEPENDENCIES
jekyll-optional-front-matter (~> 0.1)
jekyll-paginate (= 1.1.0)
jekyll-readme-index (= 0.0.3)
jekyll-redirect-from (~> 0.11)
jekyll-redirect-from (~> 0.13)
jekyll-relative-links (~> 0.2)
jekyll-seo-tag
jekyll-sitemap
+2
View File
@@ -2,6 +2,7 @@ reviewers:
- tengqm
- zhangxiaoyu-zidif
- xiangpengzhao
- bradtopol
approvers:
- heckj
- a-mccarthy
@@ -9,3 +10,4 @@ approvers:
- bradamant3
- steveperry-53
- zacharysarah
- chenopis
+4 -3
View File
@@ -92,6 +92,7 @@ aliases:
- bradamant3
- steveperry-53
- zacharysarah
- bradtopol
sig-federation: #Team: Federation; e.g. Federated Clusters
- csbell
sig-gcp: #Google Cloud Platform; GH: sig-gcp-pr-reviews
@@ -149,9 +150,9 @@ aliases:
- feiskyer
- nebril
sig-openstack: #GH: sig-openstack-pr-reviews
- idvoretskyi
- xsgordon
- NickrenREN
- hogepodge
- dklyle
- rjmorse
sig-pm: #aka Product Management
- apsinha
- idvoretskyi
+1
View File
@@ -13,6 +13,7 @@ incremental: true
safe: false
lsi: false
latest: "v1.9"
defaults:
-
scope:
+10 -2
View File
@@ -1,9 +1,11 @@
bigheader: "Concepts"
abstract: "Detailed explanations of Kubernetes system concepts and abstractions."
landing_page: /docs/concepts/index/
toc:
- docs/concepts/index.md
- title: Overview
landing_page: /docs/concepts/overview/what-is-kubernetes/
section:
- docs/concepts/overview/what-is-kubernetes.md
- docs/concepts/overview/components.md
@@ -23,12 +25,14 @@ toc:
- docs/concepts/overview/object-management-kubectl/declarative-config.md
- title: Kubernetes Architecture
landing_page: /docs/concepts/architecture/nodes/
section:
- docs/concepts/architecture/nodes.md
- docs/concepts/architecture/master-node-communication.md
- docs/concepts/architecture/cloud-controller.md
- title: Extending Kubernetes
landing_page: /docs/concepts/api-extension/custom-resources/
section:
- docs/concepts/overview/extending.md
- title: Extending the Kubernetes API
@@ -43,12 +47,14 @@ toc:
- docs/concepts/service-catalog/index.md
- title: Containers
landing_page: /docs/concepts/containers/images/
section:
- docs/concepts/containers/images.md
- docs/concepts/containers/container-environment-variables.md
- docs/concepts/containers/container-lifecycle-hooks.md
- title: Workloads
landing_page: /docs/concepts/workloads/pods/pod-overview/
section:
- title: Pods
section:
@@ -70,6 +76,7 @@ toc:
- docs/concepts/workloads/controllers/cron-jobs.md
- title: Configuration
landing_page: /docs/concepts/configuration/overview/
section:
- docs/concepts/configuration/overview.md
- docs/concepts/configuration/manage-compute-resources-container.md
@@ -80,6 +87,7 @@ toc:
- docs/concepts/configuration/pod-priority-preemption.md
- title: Services, Load Balancing, and Networking
landing_page: /docs/concepts/services-networking/service/
section:
- docs/concepts/services-networking/service.md
- docs/concepts/services-networking/dns-pod-service.md
@@ -89,6 +97,7 @@ toc:
- docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md
- title: Storage
landing_page: /docs/concepts/storage/volumes/
section:
- docs/concepts/storage/volumes.md
- docs/concepts/storage/persistent-volumes.md
@@ -96,6 +105,7 @@ toc:
- docs/concepts/storage/dynamic-provisioning.md
- title: Cluster Administration
landing_page: /docs/concepts/cluster-administration/cluster-administration-overview/
section:
- docs/concepts/cluster-administration/cluster-administration-overview.md
- docs/concepts/cluster-administration/certificates.md
@@ -116,5 +126,3 @@ toc:
section:
- docs/concepts/policy/resource-quotas.md
- docs/concepts/policy/pod-security-policy.md
+6 -8
View File
@@ -1,19 +1,16 @@
bigheader: "Documentation Home"
bigheader: "About"
abstract: "Documentation for using and learning about Kubernetes."
toc:
- docs/home/index.md
- docs/home/supported-doc-versions.md
- title: Release Notes
path: https://git.k8s.io/kubernetes/CHANGELOG.md
- title: Release Roadmap
path: https://github.com/kubernetes/kubernetes/milestones/
- docs/tasks/debug-application-cluster/troubleshooting.md
- title: Supported Doc Versions
path: /docs/home/supported-doc-versions/
- title: Contributing to the Kubernetes Docs
landing_page: /editdocs/
section:
- editdocs.md
- docs/home/contribute/participating.md
- docs/home/contribute/create-pull-request.md
- docs/home/contribute/write-new-topic.md
- docs/home/contribute/stage-documentation-changes.md
@@ -21,6 +18,7 @@ toc:
- docs/home/contribute/review-issues.md
- docs/home/contribute/style-guide.md
- docs/home/contribute/includes.md
- docs/home/contribute/localization.md
- title: Updating Automatically Generated Reference Pages
section:
+1 -1
View File
@@ -1,6 +1,6 @@
id: annotation
name: Annotation
full-link: docs/concepts/overview/working-with-objects/annotations
full-link: /docs/concepts/overview/working-with-objects/annotations
tags:
- fundamental
short-description: >
+11
View File
@@ -0,0 +1,11 @@
id: certificate
name: Certificate
full-link: /docs/tasks/tls/managing-tls-in-a-cluster/
tags:
- security
short-description: >
A cryptographically secure file used to validate access to the Kubernetes cluster.
long-description: >
Certificates enable applications within a Kubernetes
cluster to access the Kubernetes API securely. Certificates validate that
clients are allowed to access the API.
@@ -0,0 +1,13 @@
id: cloud-controller-manager
name: Cloud Controller Manager
full-link: https://kubernetes.io/docs/tasks/administer-cluster/running-cloud-controller/
tags:
- core-object
- architecture
- operation
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.
long-description: >
Kubernetes v1.6 contains a new binary called cloud-controller-manager. cloud-controller-manager is a daemon that embeds cloud-specific control loops.
These cloud-specific control loops were originally in the kube-controller-manager. Since cloud providers develop and release at a different pace compared to the Kubernetes
project, abstracting the provider-specific code to the cloud-controller-manager binary allows cloud vendors to evolve independently from the core Kubernetes code.
+1
View File
@@ -1,5 +1,6 @@
id: code-contributor
name: Code Contributor
full-link: /docs/imported/community/devel/
aka:
- Community Developer
tags:
@@ -0,0 +1,9 @@
id: container-env-variables
name: Container Environment Variables
full-link: /docs/concepts/containers/container-environment-variables.md
tags:
- fundamental
short-description: >
Container environment variables are name/value pairs that provide useful information into containers running in a Pod.
long-description: >
Container environment variables provide information that is required by the running containerized applications along with information about important resources to the [Containers] {% glossary_tooltip text="Containers" term_id="container" %}. For example, file system, information about the container itself and other cluster resources such as service endpoints, etc.
@@ -0,0 +1,14 @@
id: CustomResourceDefinition
name: CustomResourceDefinition
aka:
- CRD
- Formerly Known as ThirdPartyResources (TPR)
tags:
- fundamental
- operation
- extension
full-link: docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/
short-description: >
Custom code that defines a resource to add to your Kubernetes API server without building a complete custom server.
long-description: >
Custom Resource Definitions let you extend the Kubernetes API for your environment if the publicly supported API resources can't meet your needs.
+2 -1
View File
@@ -3,8 +3,9 @@ name: DaemonSet
full-link: /docs/concepts/workloads/controllers/daemonset
tags:
- fundamental
- core-object
- workload
short-description: >
Ensures a copy of a {% glossary_tooltip term_id="pod" %} is running across a set of nodes in a {% glossary_tooltip term_id="cluster" %}.
Ensures a copy of a {% glossary_tooltip text="Pod" term_id="pod" %} is running across a set of nodes in a {% glossary_tooltip text="cluster" term_id="cluster" %}.
long-description: >
Used to deploy system daemons such as log collectors and monitoring agents that typically must run on every {% glossary_tooltip term_id="node" %}.
+9
View File
@@ -0,0 +1,9 @@
id: docker
name: docker
full-link: /docs/reference/kubectl/docker-cli-to-kubectl/
tags:
- fundamental
short-description: >
Docker is a software technology providing operating-system-level virtualization also known as containers.
long-description: >
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).
@@ -0,0 +1,11 @@
id: dynamicvolumeprovisioning
name: Dynamic Volume Provisioning
full-link: /docs/concepts/storage/dynamic-provisioning
tags:
- core-object
- storage
short-description: >
Allows users to request automatic creation of storage {% glossary_tooltip text="Volumes" term_id="volume" %}.
long-description: >
Dynamic provisioning eliminates the need for cluster administrators to pre-provision storage. Instead, it automatically provisions storage by user request.
Dynamic volume provisioning is based on an API object, {% glossary_tooltip text="StorageClass" term_id="storage-class" %}, referring to a {% glossary_tooltip text="Volume Plugin" term_id="volume-plugin" %} that provisions a {% glossary_tooltip text="Volume" term_id="volume" %} and the set of parameters to pass to the Volume Plugin.
+8
View File
@@ -0,0 +1,8 @@
id: init-container
name: Init Container
tags:
- fundamental
short-description: >
One or more initialization containers that must run to completion before any app containers run.
long-description: >
Initialization (init) containers are like regular app containers, with one difference: init containers must run to completion before any app containers can start. Init containers run in series: each init container must run to completion before the next init container begins.
+2
View File
@@ -2,7 +2,9 @@ id: job
name: Job
full-link: /docs/concepts/workloads/controllers/jobs-run-to-completion
tags:
- fundamental
- core-object
- workload
short-description: >
A finite or batch task that runs to completion.
long-description: >
+10
View File
@@ -0,0 +1,10 @@
id: kube proxy
name: kube-proxy
full-link: /docs/reference/generated/kube-proxy
tags:
- fundamental
- core-object
short-description: >
`kube-proxy` is a network proxy that runs on each node in the cluster.
long-description: >
`kube-proxy` is responsible for request forwarding. `kube-proxy` allows TCP and UDP stream forwarding or round robin TCP and UDP forwarding across a set of backend functions.
+1 -1
View File
@@ -1,6 +1,6 @@
id: kubelet
name: Kubelet
full-link: docs/reference/generated/kubelet
full-link: /docs/reference/generated/kubelet
tags:
- fundamental
- core-object
+1 -1
View File
@@ -4,7 +4,7 @@ full-link: /docs/concepts/overview/working-with-objects/namespaces
tags:
- fundamental
short-description: >
An abstraction used by Kubernetes to support multiple virtual clusters on the same physical {% glossary_tooltip term_id="cluster" %}.
An abstraction used by Kubernetes to support multiple virtual clusters on the same physical {% glossary_tooltip text="cluster" term_id="cluster" %}.
long-description: >
Namespaces are used to organize objects in a cluster and provide a way to divide cluster resources.
Names of resources need to be unique within a namespace, but not across namespaces.
+2 -2
View File
@@ -10,8 +10,8 @@ tags:
- core-object
- storage
short-description: >
An API object that represents a piece of storage in the cluster. Available as a general, pluggable resource that persists beyond the lifecycle of any individual {% glossary_tooltip term_id="pod" %}.
An API object that represents a piece of storage in the cluster. Available as a general, pluggable resource that persists beyond the lifecycle of any individual {% glossary_tooltip text="Pod" term_id="pod" %}.
long-description: |
PersistentVolumes (PVs) provide an API that abstracts details of how storage is provided from how it is consumed.
PVs are used directly in scenarios where storage can be be created ahead of time (static provisioning).
PVs are used directly in scenarios where storage can be created ahead of time (static provisioning).
For scenarios that require on-demand storage (dynamic provisioning), PersistentVolumeClaims (PVCs) are used instead.
+12
View File
@@ -0,0 +1,12 @@
id: podpreset
name: PodPreset
tags:
- operation
short-description: >
An API object that injects information such as secrets, volume mounts,
and environment variables into pods at creation time.
long-description: >
This object chooses the pods to inject information into using
standard selectors. This allows the podspec definitions to be
nonspecific, decoupling the podspec from environment specific
configuration.
+2 -1
View File
@@ -4,8 +4,9 @@ full-link: https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/
related:
- replication-controller
tags:
- fundamental
- core-object
- architecture
- workload
short-description: >
ReplicaSet is the next-generation Replication Controller.
long-description: >
+2 -1
View File
@@ -1,7 +1,8 @@
id: replication-controller
name: Replication Controller
tags:
- fundamental
- workload
- core-object
short-description: >
Kubernetes service that ensures a specific number of instances of a pod are always running.
long-description: >
+13
View File
@@ -0,0 +1,13 @@
id: selector
name: Selector
full-link: /docs/concepts/overview/working-with-objects/labels/
related:
- label
tags:
- fundamental
short-description: >
Allows users to filter a list of resources based on labels.
long-description: >
Selectors are applied when querying lists of resources to filter
them by {% glossary_tooltip text="Labels" term_id="label"
%}.
+1 -1
View File
@@ -5,6 +5,6 @@ tags:
- fundamental
- core-object
short-description: >
Provides an identity for processes that run in a Pod {% glossary_tooltip text="Pods" term_id="pod" %}.
Provides an identity for processes that run in a {% glossary_tooltip text="Pod" term_id="pod" %}.
long-description: >
When processes inside Pods access the cluster, they are authenticated by the API server as a particular service account, for example, `default`. When you create a Pod, if you do not specify a service account, it is automatically assigned the default service account in the same namespace {% glossary_tooltip text="Namespace" term_id="namespace" %}.
+1
View File
@@ -5,6 +5,7 @@ related:
- deployment
- pod
tags:
- fundamental
- core-object
- workload
- storage
+11
View File
@@ -0,0 +1,11 @@
id: storageclass
name: Storage Class
full-link: /docs/concepts/storage/storage-classes
tags:
- core-object
- storage
short-description: >
A StorageClass provides a way for administrators to describe different available storage types.
long-description: >
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.
+11
View File
@@ -0,0 +1,11 @@
id: volumeplugin
name: Volume Plugin
tags:
- core-object
- storage
short-description: >
A Volume Plugin enables integration of storage within a {% glossary_tooltip text="Pod" term_id="pod" %}.
long-description: >
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.
+12 -16
View File
@@ -1,10 +1,14 @@
bigheader: "Reference Documentation"
bigheader: "Reference"
abstract: "Design docs, concept definitions, and references for APIs and CLIs."
landing_page: /docs/reference/index/
toc:
- docs/reference/index.md
- docs/reference/glossary.md
- title: Standardized Glossary
path: /docs/reference/glossary/
- title: Using the API
landing_page: /docs/reference/api-overview/
section:
- docs/reference/api-overview.md
- docs/reference/client-libraries.md
@@ -28,6 +32,7 @@ toc:
- docs/reference/workloads-18-19.md
- title: API Reference
landing_page: /docs/api-reference/v1.8/
section:
- title: v1.9
path: /docs/reference/generated/kubernetes-api/v1.9/
@@ -40,6 +45,7 @@ toc:
path: https://git.k8s.io/kubernetes/api/swagger-spec/
- title: Federation API
landing_page: /docs/reference/federation/v1/operations/
section:
- docs/reference/generated/federation/v1/operations.html
- docs/reference/generated/federation/v1/definitions.html
@@ -47,6 +53,7 @@ toc:
- docs/reference/generated/federation/extensions/v1beta1/definitions.html
- title: kubectl CLI
landing_page: /docs/user-guide/kubectl-overview/
section:
- docs/reference/kubectl/overview.md
- docs/reference/generated/kubectl/kubectl.md
@@ -58,6 +65,7 @@ toc:
- docs/reference/kubectl/cheatsheet.md
- title: Setup Tools Reference
landing_page: /docs/reference/setup-tools/kubeadm/kubeadm/
section:
- title: Kubeadm
section:
@@ -81,6 +89,7 @@ toc:
- docs/reference/generated/kubefed_version.md
- title: Command-line Tools Reference
landing_page: /docs/admin/kubelet/
section:
- docs/reference/feature-gates.md
- docs/reference/generated/kubelet.md
@@ -94,21 +103,8 @@ toc:
- docs/reference/generated/federation-apiserver.md
- docs/reference/generated/federation-controller-manager.md
- title: Kubernetes Design Docs
section:
- title: Kubernetes Architecture
path: https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md
- title: Kubernetes Design Overview
path: https://github.com/kubernetes/kubernetes/tree/release-1.6/docs/design
- title: Kubernetes Identity and Access Management
path: https://git.k8s.io/community/contributors/design-proposals/auth/access.md
- docs/admin/ovs-networking.md
- title: Security Contexts
path: https://git.k8s.io/community/contributors/design-proposals/auth/security_context.md
- title: Security in Kubernetes
path: https://git.k8s.io/community/contributors/design-proposals/auth/security.md
- title: Kubernetes Issues and Security
landing_page: https://github.com/kubernetes/kubernetes/issues/
section:
- title: Kubernetes Issue Tracker on GitHub
path: https://github.com/kubernetes/kubernetes/issues/
+33 -16
View File
@@ -1,5 +1,6 @@
bigheader: "Setup"
abstract: "Instructions for setting up a Kubernetes cluster."
landing_page: /docs/setup/index/
toc:
- docs/setup/index.md
- docs/setup/pick-right-solution.md
@@ -11,6 +12,7 @@ toc:
- docs/setup/building-from-source.md
- title: Independent Solutions
landing_page: /docs/getting-started-guides/minikube/
section:
- docs/getting-started-guides/minikube.md
@@ -25,7 +27,9 @@ toc:
- docs/getting-started-guides/alternatives.md
- title: Hosted Solutions
landing_page: /docs/setup/hosted-solutions/overview/
section:
- docs/setup/hosted-solutions/overview.md
- title: Running Kubernetes on Google Kubernetes Engine
path: https://cloud.google.com/kubernetes-engine/docs/before-you-begin/
- title: Running Kubernetes on Azure Container Service
@@ -34,18 +38,19 @@ toc:
path: https://console.bluemix.net/docs/containers/container_index.html
- title: Turn-key Cloud Solutions
landing_page: /docs/getting-started-guides/alibaba-cloud/
section:
- docs/getting-started-guides/gce.md
- docs/getting-started-guides/alibaba-cloud.md
- docs/getting-started-guides/aws.md
- docs/getting-started-guides/azure.md
- docs/getting-started-guides/alibaba-cloud.md
- docs/getting-started-guides/clc.md
- docs/getting-started-guides/gce.md
- title: Running Kubernetes on IBM Cloud
path: https://github.com/patrocinio/kubernetes-softlayer
- docs/getting-started-guides/stackpoint.md
- title: Custom Solutions
landing_page: /docs/getting-started-guides/coreos/index/
section:
- title: Custom Cloud Solutions
section:
@@ -59,25 +64,16 @@ toc:
section:
- docs/getting-started-guides/coreos/index.md
- docs/getting-started-guides/cloudstack.md
- docs/getting-started-guides/vsphere.md
- title: VMware vSphere
path: https://vmware.github.io/vsphere-storage-for-kubernetes/documentation/
- docs/getting-started-guides/dcos.md
- docs/getting-started-guides/ovirt.md
- title: rkt
section:
- docs/getting-started-guides/rkt/index.md
- docs/getting-started-guides/rkt/notes.md
- docs/getting-started-guides/mesos/index.md
- docs/getting-started-guides/mesos-docker.md
- title: Bare Metal
section:
- docs/getting-started-guides/coreos/bare_metal_offline.md
- docs/getting-started-guides/fedora/fedora_ansible_config.md
- docs/getting-started-guides/fedora/fedora_manual_config.md
- docs/getting-started-guides/fedora/flannel_multi_node_cluster.md
- docs/getting-started-guides/centos/centos_manual_config.md
- docs/getting-started-guides/coreos/index.md
- docs/getting-started-guides/ubuntu/index.md
@@ -99,11 +95,32 @@ toc:
- docs/getting-started-guides/ubuntu/glossary.md
- docs/getting-started-guides/ubuntu/local.md
- docs/getting-started-guides/ubuntu/logging.md
- docs/getting-started-guides/ubuntu/rancher.md
- docs/getting-started-guides/windows/index.md
- docs/admin/node-conformance.md
- title: User Journeys
landing_page: /docs/home/
section:
- title: Application Developer
section:
- docs/user-journeys/users/application-developer/foundational.md
- docs/user-journeys/users/application-developer/intermediate.md
- docs/user-journeys/users/application-developer/advanced.md
- title: Cluster Operator
section:
- docs/user-journeys/users/cluster-operator/foundational.md
- docs/user-journeys/users/cluster-operator/intermediate.md
- title: Docs Contributor
path: /docs/home/?path=contributors&persona=docs-contributor&level=foundational
- title: Code Contributor
path: /docs/home/?path=contributors&persona=code-contributor&level=foundational
- title: Community Contributor
path: /docs/home/?path=contributors&persona=community-contributor&level=foundational
- title: Installing Addons
path: /docs/concepts/cluster-administration/addons/
@@ -117,4 +134,4 @@ toc:
path: /docs/admin/multiple-zones/
- title: Building High-Availability Clusters
path: /docs/admin/high-availability/
path: /docs/admin/high-availability/building/
+21 -6
View File
@@ -1,15 +1,18 @@
bigheader: "Tasks"
abstract: "Step-by-step instructions for performing operations with Kubernetes."
landing_page: /docs/tasks/index/
toc:
- docs/tasks/index.md
- title: Install Tools
landing_page: /docs/tasks/tools/install-kubectl/
section:
- docs/tasks/tools/install-kubectl.md
- docs/tasks/tools/install-minikube.md
- docs/setup/independent/install-kubeadm.md
- title: Configure Pods and Containers
landing_page: /docs/tasks/configure-pod-container/configure-pod-initialization/
section:
- docs/tasks/configure-pod-container/assign-memory-resource.md
- docs/tasks/configure-pod-container/assign-cpu-resource.md
@@ -32,6 +35,7 @@ toc:
- docs/tools/kompose/user-guide.md
- title: Inject Data Into Applications
landing_page: /docs/tasks/inject-data-application/define-environment-variable-container/
section:
- docs/tasks/inject-data-application/define-command-argument-container.md
- docs/tasks/inject-data-application/define-environment-variable-container.md
@@ -41,6 +45,7 @@ toc:
- docs/tasks/inject-data-application/podpreset.md
- title: Run Applications
landing_page: /docs/tasks/run-application/run-stateless-application-deployment/
section:
- docs/tasks/run-application/run-stateless-application-deployment.md
- docs/tasks/run-application/run-single-instance-stateful-application.md
@@ -56,12 +61,14 @@ toc:
- docs/tasks/run-application/configure-pdb.md
- title: Run Jobs
landing_page: /docs/tasks/job/parallel-processing-expansion/
section:
- docs/tasks/job/parallel-processing-expansion.md
- docs/tasks/job/coarse-parallel-processing-work-queue/index.md
- docs/tasks/job/fine-parallel-processing-work-queue/index.md
- title: Access Applications in a Cluster
landing_page: /docs/tasks/access-application-cluster/web-ui-dashboard/
section:
- docs/tasks/access-application-cluster/web-ui-dashboard.md
- docs/tasks/access-application-cluster/access-cluster.md
@@ -78,6 +85,7 @@ toc:
path: https://github.com/kubernetes/kubernetes/tree/release-1.5/examples/cluster-dns
- title: Monitor, Log, and Debug
landing_page: /docs/tasks/debug-application-cluster/resource-usage-monitoring/
section:
- docs/tasks/debug-application-cluster/core-metrics-pipeline.md
- docs/tasks/debug-application-cluster/resource-usage-monitoring.md
@@ -100,6 +108,7 @@ toc:
path: https://github.com/kubernetes/kubernetes/tree/release-1.5/examples/explorer
- title: Extend Kubernetes
landing_page: /docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/
section:
- docs/tasks/access-kubernetes-api/http-proxy-access-api.md
- docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions.md
@@ -111,11 +120,13 @@ toc:
- docs/tasks/service-catalog/install-service-catalog-using-sc.md
- title: TLS
landing_page: /docs/tasks/tls/managing-tls-in-a-cluster/
section:
- docs/tasks/tls/managing-tls-in-a-cluster.md
- docs/tasks/tls/certificate-rotation.md
- title: Administer a Cluster
landing_page: /docs/tasks/administer-cluster/memory-default-namespace/
section:
- title: Manage Memory, CPU, and API Resources
section:
@@ -170,9 +181,12 @@ toc:
- docs/tasks/administer-cluster/configure-multiple-schedulers.md
- docs/tasks/administer-cluster/ip-masq-agent.md
- docs/tasks/administer-cluster/dns-custom-nameservers.md
- docs/tasks/administer-cluster/dns-debugging-resolution.md
- docs/tasks/administer-cluster/pvc-protection.md
- docs/tasks/administer-cluster/storage-object-in-use-protection.md
- title: Federation - Run an App on Multiple Clusters
landing_page: /docs/tasks/federation/set-up-cluster-federation-kubefed/
section:
- docs/tasks/federation/federation-service-discovery.md
- docs/tasks/federation/set-up-cluster-federation-kubefed.md
@@ -191,18 +205,19 @@ toc:
- docs/tasks/administer-federation/secret.md
- title: Manage Cluster Daemons
landing_page: /docs/tasks/manage-daemon/update-daemon-set/
section:
- docs/tasks/manage-daemon/update-daemon-set.md
- docs/tasks/manage-daemon/rollback-daemon-set.md
- title: Manage GPUs
section:
- docs/tasks/manage-gpus/scheduling-gpus.md
path: /docs/tasks/manage-gpus/scheduling-gpus/
- title: Manage HugePages
section:
- docs/tasks/manage-hugepages/scheduling-hugepages.md
path: /docs/tasks/manage-hugepages/scheduling-hugepages/
- title: Extend kubectl with plugins
section:
- docs/tasks/extend-kubectl/kubectl-plugins.md
path: /docs/tasks/extend-kubectl/kubectl-plugins/
- title: Troubleshooting
path: /docs/tasks/debug-application-cluster/troubleshooting/
+15 -3
View File
@@ -1,8 +1,10 @@
bigheader: "Tutorials"
abstract: "Detailed walkthroughs of common Kubernetes operations and workflows."
landing_page: /docs/tutorials/index/
toc:
- docs/tutorials/index.md
- title: Kubernetes Basics
landing_page: /docs/tutorials/kubernetes-basics/index/
section:
- docs/tutorials/kubernetes-basics/index.html
- title: 1. Create a Cluster
@@ -30,24 +32,32 @@ toc:
- docs/tutorials/kubernetes-basics/update-intro.html
- docs/tutorials/kubernetes-basics/update-interactive.html
- title: Online Training Courses
landing_page: /docs/tutorials/online-training/overview/
section:
- docs/tutorials/online-training/overview.md
- title: Scalable Microservices with Kubernetes (Udacity)
path: https://www.udacity.com/course/scalable-microservices-with-kubernetes--ud615
- title: Introduction to Kubernetes (edX)
path: https://www.edx.org/course/introduction-kubernetes-linuxfoundationx-lfs158x#
- docs/tutorials/stateless-application/hello-minikube.md
- docs/user-guide/walkthrough/index.md
- docs/user-guide/walkthrough/k8s201.md
- title: Hello Minikube
path: /docs/tutorials/stateless-application/hello-minikube/
- title: Kubernetes 101
path: /docs/user-guide/walkthrough/
- title: Kubernetes 201
path: /docs/user-guide/walkthrough/k8s201/
- title: Configuration
landing_page: /docs/tutorials/configuration/configure-redis-using-configmap/
section:
- docs/tutorials/configuration/configure-redis-using-configmap.md
- title: Stateless Applications
landing_page: /docs/tutorials/stateless-application/guestbook/
section:
- docs/tasks/run-application/run-stateless-application-deployment.md
- docs/tutorials/stateless-application/guestbook.md
- docs/tasks/access-application-cluster/service-access-application-cluster.md
- docs/tutorials/stateless-application/expose-external-ip-address.md
- title: Stateful Applications
landing_page: /docs/tutorials/stateful-application/basic-stateful-set/
section:
- docs/tutorials/stateful-application/basic-stateful-set.md
- docs/tasks/run-application/run-single-instance-stateful-application.md
@@ -56,8 +66,10 @@ toc:
- docs/tutorials/stateful-application/cassandra.md
- docs/tutorials/stateful-application/zookeeper.md
- title: Clusters
landing_page: /docs/tutorials/clusters/apparmor/
section:
- docs/tutorials/clusters/apparmor.md
- title: Services
landing_page: /docs/tutorials/services/source-ip/
section:
- docs/tutorials/services/source-ip.md
@@ -0,0 +1,19 @@
id: code-contributor
name: Code Contributor
glossary_id: code-contributor
index: 0
foundational:
- label: "Read the Developer Guide"
icon: fa-book
url: "/docs/imported/community/devel/"
intermediate:
- label: "Learn about the Kubernetes Enhancement Proposal (KEP) process"
icon: fa-upload
url: "/docs/imported/community/keps/"
- label: "Understand the API conventions"
icon: fa-map-o
url: "https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md"
advanced:
- label: "Learn about the release process"
icon: fa-code-fork
url: "https://github.com/kubernetes/release/blob/master/README.md"
@@ -0,0 +1,19 @@
id: community-contributor
name: Community Contributor
short_desc: A person who works to build the Kubernetes community (e.g. by organizing meetups).
index: 1
foundational:
- label: "Contribute to the Kubernetes OSS project"
icon: fa-users
url: "/docs/imported/community/guide/"
- label: "Find out about mentoring initiatives"
icon: fa-graduation-cap
url: "/docs/imported/community/mentoring/"
intermediate:
- label: "Apply for community membership as a member, reviewer, approver, owner, or maintainer"
icon: fa-user-plus
url: "https://github.com/kubernetes/community/blob/master/community-membership.md"
advanced:
- label: "Learn about Kubernetes community governance"
icon: fa-gavel
url: "https://github.com/kubernetes/community/blob/master/governance.md"
@@ -0,0 +1,40 @@
id: docs-contributor
name: Docs Contributor
short_desc: A person who writes documentation for the Kubernetes project (e.g. this site).
index: 2
foundational:
- label: "Contribute to the Kubernetes documentation"
icon: fa-users
url: "/editdocs/"
- label: "Learn about documentation style"
icon: fa-book
url: "/docs/home/contribute/style-guide/"
- label: "Review documentation issues"
icon: fa-bug
url: "/docs/home/contribute/review-issues/"
- label: "Create a documentation pull request (PR)"
icon: fa-pencil-square-o
url: "/docs/home/contribute/create-pull-request/"
- label: "Stage documentation changes"
icon: fa-eye
url: "/docs/home/contribute/stage-documentation-changes/#staging-a-pull-request"
intermediate:
- label: "Write a new topic"
icon: fa-plus-circle
url: "/docs/home/contribute/write-new-topic/"
- label: "Stage documentation changes locally"
icon: fa-cloud-download
url: "/docs/home/contribute/stage-documentation-changes/#staging-locally-using-docker"
- label: "Apply page templates"
icon: fa-clone
url: "/docs/home/contribute/page-templates/"
- label: "Add callout formatting"
icon: fa-exclamation-circle
url: "/docs/home/contribute/style-guide/#callout-formatting"
advanced:
- label: "Add feature state tags"
icon: fa-tag
url: "/docs/home/contribute/includes/#feature-state"
- label: "Add tabs to display multiple flavors of content"
icon: fa-folder-o
url: "/docs/home/contribute/includes/#tabs"
@@ -0,0 +1,24 @@
id: docker-compose-swarm
name: Migrating from Docker Compose and Swarm
index: 1
foundational:
- label: "b1: foundational stuff"
url: "#"
- label: "b2: foundational stuff"
url: "#"
- label: "b3: foundational stuff"
url: "#"
intermediate:
- label: "b1: intermediate stuff"
url: "#"
- label: "b2: intermediate stuff"
url: "#"
- label: "b3: intermediate stuff"
url: "#"
advanced:
- label: "b1: advanced stuff"
url: "#"
- label: "b2: advanced stuff"
url: "#"
- label: "b3: advanced stuff"
url: "#"
+24
View File
@@ -0,0 +1,24 @@
id: heroku
name: Migrating from Heroku (PaaS)
index: 2
foundational:
- label: "c1: foundational stuff"
url: "#"
- label: "c2: foundational stuff"
url: "#"
- label: "c3: foundational stuff"
url: "#"
intermediate:
- label: "c1: intermediate stuff"
url: "#"
- label: "c2: intermediate stuff"
url: "#"
- label: "c3: intermediate stuff"
url: "#"
advanced:
- label: "c1: advanced stuff"
url: "#"
- label: "c2: advanced stuff"
url: "#"
- label: "c3: advanced stuff"
url: "#"
+24
View File
@@ -0,0 +1,24 @@
id: mesos
name: Migrating from Apache Mesos
index: 3
foundational:
- label: "d1: foundational stuff"
url: "#"
- label: "d2: foundational stuff"
url: "#"
- label: "d3: foundational stuff"
url: "#"
intermediate:
- label: "d1: intermediate stuff"
url: "#"
- label: "d2: intermediate stuff"
url: "#"
- label: "d3: intermediate stuff"
url: "#"
advanced:
- label: "d1: advanced stuff"
url: "#"
- label: "d2: advanced stuff"
url: "#"
- label: "d3: advanced stuff"
url: "#"
@@ -0,0 +1,24 @@
id: vmware-openstack
name: Migrating from VMware and/or OpenStack
index: 0
foundational:
- label: "a1: foundational stuff"
url: "#"
- label: "a2: foundational stuff"
url: "#"
- label: "a3: foundational stuff"
url: "#"
intermediate:
- label: "a1: intermediate stuff"
url: "#"
- label: "a2: intermediate stuff"
url: "#"
- label: "a3: intermediate stuff"
url: "#"
advanced:
- label: "a1: advanced stuff"
url: "#"
- label: "a2: advanced stuff"
url: "#"
- label: "a3: advanced stuff"
url: "#"
@@ -0,0 +1,40 @@
id: app-developer
name: Application Developer
glossary_id: application-developer
index: 0
foundational:
- label: Get started with a cluster
icon: fa-television
url: /docs/user-journeys/users/application-developer/foundational
- label: Deploy an application
icon: fa-retweet
url: /docs/user-journeys/users/application-developer/foundational#section-2
- label: Understand basic Kubernetes architecture
icon: fa-cog
url: /docs/user-journeys/users/application-developer/foundational#section-3
- label: Explore additional resources
icon: fa-book
url: /docs/user-journeys/users/application-developer/foundational#section-4
intermediate:
- label: Learn additional workload patterns
icon: fa-cogs
url: /docs/user-journeys/users/application-developer/intermediate
- label: Deploy a production-ready workload
icon: fa-retweet
url: /docs/user-journeys/users/application-developer/intermediate#section-2
- label: Improve your dev workflow with tooling
icon: fa-scissors
url: /docs/user-journeys/users/application-developer/intermediate#section-3
- label: Explore additional resources
icon: fa-book
url: /docs/user-journeys/users/application-developer/intermediate#section-4
advanced:
- label: Deploy an application with advanced features
icon: fa-sliders
url: /docs/user-journeys/users/application-developer/advanced
- label: Extend the Kubernetes API
icon: fa-arrows
url: /docs/user-journeys/users/application-developer/advanced#section-2
- label: Explore additional resources
icon: fa-book
url: /docs/user-journeys/users/application-developer/advanced#section-3
@@ -0,0 +1,43 @@
id: cluster-operator
name: Cluster Operator
glossary_id: cluster-operator
index: 1
foundational:
- label: Get an overview of Kubernetes
icon: fa-globe
url: /docs/user-journeys/users/cluster-operator/foundational
- label: Learn about Kubernetes basics
icon: fa-cog
url: /docs/user-journeys/users/cluster-operator/foundational#section-2
- label: Get information about my cluster
icon: fa-info-circle
url: /docs/user-journeys/users/cluster-operator/foundational#section-3
- label: Explore additional resources
icon: fa-compass
url: /docs/user-journeys/users/cluster-operator/foundational#section-4
intermediate:
- label: "Work with Ingress, Networking, Storage, Workloads"
icon: fa-sliders
url: /docs/user-journeys/users/cluster-operator/intermediate
- label: "Implement security best practices"
icon: fa-shield
url: /docs/user-journeys/users/cluster-operator/intermediate#section-2
- label: "Implement custom logging and monitoring"
icon: fa-heartbeat
url: /docs/user-journeys/users/cluster-operator/intermediate#section-3
- label: "Additional Resources"
icon: fa-book
url: /docs/user-journeys/users/cluster-operator/intermediate#section-4
advanced:
- label: "Connect to managed services using Service Catalog"
icon: fa-puzzle-piece
url: "/docs/concepts/service-catalog/"
- label: "Extend a Kubernetes cluster"
icon: fa-arrows
url: "/docs/concepts/overview/extending/"
- label: "Create a Pod Security Policy"
icon: fa-lock
url: "/docs/concepts/policy/pod-security-policy/"
- label: "Define a Resource Quota"
icon: fa-tachometer
url: "/docs/concepts/policy/resource-quotas/"
+10 -7
View File
@@ -5,13 +5,14 @@
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700,700italic,900,900italic">
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto+Mono">
{% if page.case_study_styles %}<link rel="stylesheet" type="text/css" href="/css/case_study_styles.css"><!-- custom case_study_styles on -->{% else %}<link rel="stylesheet" type="text/css" href="/css/styles.css"><!-- default styles.css on -->{% endif %}
<link rel="stylesheet" type="text/css" href="/css/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="/css/sweetalert.css">
<link rel="stylesheet" type="text/css" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.min.css">
<link rel="stylesheet" type="text/css" href="/css/callouts.css">
<link rel="stylesheet" type="text/css" href="/css/custom-jekyll/tags.css">
{% if page.deprecated %}<link rel="stylesheet" type="text/css" href="/css/deprecation-warning.css">{% endif %}
{% if page.class == "gridPage" %}<link rel="stylesheet" type="text/css" href="/css/gridpage.css">{% endif %}
{% if page.css %}<link rel="stylesheet" type="text/css" href="{{ page.css }}"><!-- custom css added -->{% else %}<!-- no custom css detected -->{% endif %}
{% if page.css %}{% assign csslist = page.css | split: ',' | compact %}{% for cssurl in csslist %}<link rel="stylesheet" type="text/css" href="{{ cssurl | strip }}">
{% endfor %}<!-- custom css added -->{% else %}<!-- no custom css detected -->{% endif %}
{% if page.description %}
<meta name="description" content="{{ page.description }}" />
@@ -19,11 +20,13 @@
<meta name="description" content="{{ page.title }}" />
{% endif %}
<script src="/js/jquery-2.2.0.min.js"></script>
<script src="/js/jquery-ui.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.min.js"></script>
<script src="/js/script.js"></script>
<script src="/js/sweetalert.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
<script src="/js/custom-jekyll/tags.js"></script>
{% if page.js %}{% assign jslist = page.js | split: ',' | compact %}{% for jsurl in jslist %}<script src="{{ jsurl | strip }}"></script>
{% endfor %}<!-- custom js added -->{% else %}<!-- no custom js detected -->{% endif %}
{% seo %}
</head>
-1
View File
@@ -23,7 +23,6 @@
{% endif %}
{% endfor %}
</ul>
</li>
</li>
</ul>
<!-- <a href="/docs/home" class="button" id="viewDocs" data-auto-burger-exclude>View Documentation</a> -->
+173 -5
View File
@@ -582,7 +582,7 @@
blurb: 'Container security solution for small-to-medium size enterprises who plan to run Kubernetes on shared infrastructure.'
},
{
type: 1,
type: 2,
name: 'Creationline, Inc.',
logo: 'creationline',
link: 'https://www.creationline.com/ci',
@@ -705,7 +705,7 @@
name: 'Codefresh',
logo: 'codefresh',
link: 'https://codefresh.io/kubernetes-deploy/',
blurb: 'Codefresh is a complete tool chain for delivering containers to Kubernetes.'
blurb: 'Codefresh is a complete DevOps platform built for containers and Kubernetes. With CI/CD pipelines, image management, and deep integrations into Kubernetes and Helm.'
},
{
type: 0,
@@ -937,7 +937,7 @@
logo: 'microsoft',
link: 'https://docs.microsoft.com/en-us/azure/aks/',
blurb: 'Microsoft - Azure Container Service AKS'
},
},
{
type: 3,
name: 'Oracle',
@@ -1125,7 +1125,7 @@
name: 'Pure Storage',
logo: 'pure_storage',
link: 'https://hub.docker.com/r/purestorage/k8s/',
blurb: 'Our flexvol driver and dynamic provisioner allow FlashArray/Flashblade storage devices to be consumed as first class persistent storage from within Kuberentes.'
blurb: 'Our flexvol driver and dynamic provisioner allow FlashArray/Flashblade storage devices to be consumed as first class persistent storage from within Kubernetes.'
},
{
type: 0,
@@ -1138,7 +1138,7 @@
type: 0,
name: 'Portworx',
logo: 'portworx',
link: 'https://docs.portworx.com/scheduler/kubernetes/install.html',
link: 'https://portworx.com/use-case/kubernetes-storage/',
blurb: 'With Portworx, you can manage any database or stateful service on any infrastructure using Kubernetes. You get a single data management layer for all of your stateful services, no matter where they run.'
},
{
@@ -1183,6 +1183,174 @@
link: 'https://cloudbourne.com/kubernetes-enterprise-hybrid-cloud/',
blurb: 'Want to achieve maximum build, deploy and monitoring automation using Kubernetes? We can help.'
},
{
type: 0,
name: 'CloudBourne',
logo: 'cloudbourne',
link: 'https://cloudbourne.com/',
blurb: 'Our AppZ Hybrid Cloud Platform can help you achieve your digital transformation goals using the powerful Kubernetes.'
},
{
type: 3,
name: 'BoCloud',
logo: 'bocloud',
link: 'http://www.bocloud.com.cn/en/index.html',
blurb: 'BoCloud - BeyondcentContainer'
},
{
type: 2,
name: 'Naitways',
logo: 'naitways',
link: 'https://www.naitways.com/',
blurb: 'Naitways is an Operator (AS57119), Integrator and Cloud Services Provider (our own !). We aim to provide value-added services through our mastering of the whole value chain (Infrastructure, Network, Human skills). Private and Public Cloud is available through Kubernetes managed or unmanaged.'
},
{
type: 2,
name: 'Kinvolk',
logo: 'kinvolk',
link: 'https://kinvolk.io/kubernetes/',
blurb: 'Kinvolk offers Kubernetes engineering & operations support from cluster to kernel. Leading cloud-native organizations turn to Kinvolk for deep-stack Linux expertise.'
},
{
type: 1,
name: 'Cascadeo Corporation',
logo: 'cascadeo',
link: 'http://www.cascadeo.com/',
blurb: 'Cascadeo designs, implements, and manages containerized workloads with Kubernetes, for both existing applications and greenfield development projects.'
},
{
type: 1,
name: 'Elastisys AB',
logo: 'elastisys',
link: 'https://elastisys.com/services/#kubernetes',
blurb: 'We design, build, and operate Kubernetes clusters. We are experts in highly available and self-optimizing Kubernetes infrastructures'
},
{
type: 1,
name: 'Greenfield Guild',
logo: 'greenfield',
link: 'http://greenfieldguild.com/',
blurb: 'The Greenfield Guild builds quality open source solutions on, and offers training and support for, Kubernetes in any environment.'
},
{
type: 1,
name: 'PolarSeven',
logo: 'polarseven',
link: 'https://polarseven.com/what-we-do/kubernetes/',
blurb: 'To get started up and running with Kubernetes (K8s) our PolarSeven consultants can help you with creating a fully functional dockerized environment to run and deploy your applications.'
},
{
type: 1,
name: 'Kloia',
logo: 'kloia',
link: 'https://devops-as-a-service.kloia.com/',
blurb: 'Kloia is DevOps and Microservices Consultancy company that helps its customers to migrate their environment to cloud platforms for enabling more scalable and secure environments. We use Kubernetes to provide our customers all-in-one solutions in an cloud-agnostic way.'
},
{
type: 0,
name: 'Bluefyre',
logo: 'bluefyre',
link: 'https://www.bluefyre.io',
blurb: 'Bluefyre offers a developer-first security platform that is native to Kubernetes. Bluefyre helps your development team ship secure code on Kubernetes faster!'
},
{
type: 0,
name: 'Harness',
logo: 'harness',
link: 'https://harness.io/harness-continuous-delivery/secret-sauce/smart-automation/',
blurb: 'Harness offers Continuous Delivery As-A-Service will full support for containerized apps and Kubernetes clusters.'
},
{
type: 0,
name: 'VMware - Wavefront',
logo: 'wavefront',
link: 'https://www.wavefront.com/solutions/container-monitoring/',
blurb: 'The Wavefront platform provides metrics-driven analytics and monitoring for Kubernetes and container dashboards for DevOps and developer teams delivering visibility into high-level services as well as granular container metrics.'
},
{
type: 0,
name: 'Bloombase, Inc.',
logo: 'bloombase',
link: 'https://www.bloombase.com/go/kubernetes',
blurb: 'Bloombase provides high bandwidth, defense-in-depth data-at-rest encryption to lock down Kubernetes crown-jewels at scale.'
},
{
type: 0,
name: 'Kloia',
logo: 'kloia',
link: 'https://docs.codefresh.io/docs/codefresh-kubernetes-integration-beta',
blurb: 'Kloia is DevOps and Microservices Consultancy company that helps its customers to migrate their environment to cloud platforms for enabling more scalable and secure environments. We use Kubernetes to provide our customers all-in-one solutions in an cloud-agnostic way.'
},
{
type: 0,
name: 'Kasten',
logo: 'kasten',
link: 'https://kasten.io/product/',
blurb: 'Kasten provides enterprise solutions specifically built to address the operational complexity of data management in cloud-native environments.'
},
{
type: 0,
name: 'Humio',
logo: 'humio',
link: 'https://humio.com',
blurb: 'Humio is a log aggregation database. We offer a Kubernetes integration that will give you insights to your logs across apps and instances.'
},
{
type: 0,
name: 'Outcold Solutions LLC',
logo: 'outcold',
link: 'https://www.outcoldsolutions.com/#monitoring-kubernetes',
blurb: 'Powerful Certified Splunk applications for Monitoring OpenShift, Kubernetes and Docker.'
},
{
type: 0,
name: 'SysEleven GmbH',
logo: 'syseleven',
link: 'http://www.syseleven.de/',
blurb: 'Enterprise Customers who are in need of bulletproof operations (High Performance E-Commerce and Enterprise Portals)'
},
{
type: 0,
name: 'Landoop',
logo: 'landoop',
link: 'http://lenses.stream',
blurb: 'Lenses for Apache Kafka, to deploy, manage and operate with confidence data streaming pipelines and topologies at scale with confidence and native Kubernetes integration.'
},
{
type: 0,
name: 'Redis Labs',
logo: 'redis',
link: 'https://redislabs.com/blog/getting-started-with-kubernetes-and-redis-using-redis-enterprise/',
blurb: 'Redis Enterprise extends open source Redis and delivers stable high performance and linear scaling required for building microservices on the Kubernetes platform.'
},
{
type: 3,
name: 'Diamanti',
logo: 'diamanti',
link: 'https://diamanti.com/',
blurb: 'Diamanti - Diamanti-D10'
},
{
type: 3,
name: 'Eking',
logo: 'eking',
link: 'http://www.eking-tech.com/',
blurb: 'Hainan eKing Technology Co. - eKing Cloud Container Platform'
},
{
type: 3,
name: 'Harmony Cloud',
logo: 'harmony',
link: 'http://harmonycloud.cn/products/rongqiyun/',
blurb: 'Harmonycloud - Harmonycloud Container Platform'
},
{
type: 3,
name: 'ZTE',
logo: 'zte',
link: 'https://sdnfv.zte.com.cn/zh-CN/home',
blurb: 'ZTE - TECS OpenPalette'
},
{
type: 0,
name: 'Logdna',
@@ -0,0 +1,26 @@
<div class="track">{{ page.track }}</div>
<div class="topheader">
Introduction
</div>
<div class="sections">sections in this doc</div>
<div id="user-journeys-toc" class="tablebar">
<!-- This TOC section is populated with Javascript, see js/user-journeys-toc.js -->
</div>
<div class="docsection1">
{% if overview %}
{{ overview | liquify | markdownify }}
{% else %}
{% include templates/_errorthrower.md missing_block='overview' purpose='provides an introduction of this level.' %}
{% endif %}
{% if body %}
{{ body | liquify | markdownify | replace: '<h2', '</div><h2' | replace: '</h2>', '</h2><div class="docsection1">'}}
{% else %}
{% include templates/_errorthrower.md missing_block='body' purpose='contains content for this level.' %}
{% endif %}
</div>
<script src="/js/user-journeys/toc.js"></script>
+6 -1
View File
@@ -6,7 +6,12 @@
{% if item.section %}
{% include tocsearch.html tree=item.section toc=include.toc %}
{% else %}
{% if item == page.path %}
{% if item.path %}
{% assign filename = item.path | replace: '/', ' ' | strip | replace: ' ', '/' | append: '.md' %}
{% else %}
{% assign filename = item %}
{% endif %}
{% if filename == page.path %}
{% assign found_toc = include.toc %}
{% break %}
{% endif %}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+66
View File
@@ -0,0 +1,66 @@
<!Doctype html>
<html id="docs" class="{{ toc.bigheader }}">
{% include head.html %}
<body>
{% include header.html %}
<!-- HERO -->
<section id="hero" class="light-text">
<h1>{{ toc.bigheader }}</h1>
<h5>{{ toc.abstract }}</h5>
<div id="vendorStrip" class="light-text">
<ul>
<li><a href="/docs/home/" {% if toc.bigheader == "Kubernetes Documentation" %}class="YAH"{% endif %}>HOME</a></li>
<li><a href="/docs/setup/" {% if toc.bigheader == "Setup" %}class="YAH"{% endif %}>SETUP</a></li>
<li><a href="/docs/concepts/" {% if toc.bigheader == "Concepts" %}class="YAH"{% endif %}>CONCEPTS</a></li>
<li><a href="/docs/tasks/" {% if toc.bigheader == "Tasks" %}class="YAH"{% endif %}>TASKS</a></li>
<li><a href="/docs/tutorials/" {% if toc.bigheader == "Tutorials" %}class="YAH"{% endif %}>TUTORIALS</a></li>
<li><a href="/docs/reference/" {% if toc.bigheader == "Reference Documentation" %}class="YAH"{% endif %}>REFERENCE</a></li>
</ul>
<div id="searchBox">
<input type="text" id="search" placeholder="Search" onkeydown="if (event.keyCode==13) window.location.replace('/docs/search/?q=' + this.value)" autofocus="autofocus">
</div>
</div>
</section>
{% include deprecation-warning.html %}
<section id="encyclopedia">
<div id="docsToc" style="display:none;"></div>
<div id="content">
{{ content }}
<div class="issue-button-container">
<p><a href=""><img src="https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/{{ page.path }}?pixel" alt="Analytics" /></a></p>
{% if page.url != "/404.html" and page.url != "/docs/search/" %}
{% unless page.no_issue %}
<script type="text/javascript">
PDRTJS_settings_8345992 = {
"id" : "8345992",
"unique_id" : "{{ page.url }}",
"title" : "{{ page.title }}",
"permalink" : "https://kubernetes.io{{ page.url }}"
};
(function(d,c,j){if(!document.getElementById(j)){var pd=d.createElement(c),s;pd.id=j;pd.src=('https:'==document.location.protocol)?'https://polldaddy.com/js/rating/rating.js':'http://i0.poll.fm/js/rating/rating.js';s=document.getElementsByTagName(c)[0];s.parentNode.insertBefore(pd,s);}}(document,'script','pd-rating-js'));
</script>
<a href="" onclick="window.open('https://github.com/kubernetes/website/issues/new?title=Issue%20with%20' +
'k8s.io'+window.location.pathname)" class="button issue">Create an Issue</a>
{% endunless %}
{% unless page.noedit %}
<a href="/editdocs#{{ page.path }}" class="button issue">Edit this Page</a>
{% endunless %}
{% endif %}
</div>
</div>
</section>
{% include_cached footer.html %}
{% include footer-scripts.html %}
</body>
</html>
+4 -4
View File
@@ -56,19 +56,19 @@
<p><a href=""><img src="https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/{{ page.path }}?pixel" alt="Analytics" /></a></p>
{% if page.url != "/404.html" and page.url != "/docs/search/"%}
{% unless page.no_issue %}
{% unless page.no_issue %}
<script type="text/javascript">
PDRTJS_settings_8345992 = {
"id" : "8345992",
"unique_id" : "{{ page.url }}",
"title" : "{{ page.title }}",
"permalink" : "http://kubernetes.github.io{{ page.url }}"
"permalink" : "https://kubernetes.io{{ page.url }}"
};
(function(d,c,j){if(!document.getElementById(j)){var pd=d.createElement(c),s;pd.id=j;pd.src=('https:'==document.location.protocol)?'https://polldaddy.com/js/rating/rating.js':'http://i0.poll.fm/js/rating/rating.js';s=document.getElementsByTagName(c)[0];s.parentNode.insertBefore(pd,s);}}(document,'script','pd-rating-js'));
</script>
<a href="" onclick="window.open('https://github.com/kubernetes/kubernetes.github.io/issues/new?title=Issue%20with%20' +
<a href="" onclick="window.open('https://github.com/kubernetes/website/issues/new?title=Issue%20with%20' +
'k8s.io'+window.location.pathname)" class="button issue">Create an Issue</a>
{% endunless %}
{% endunless %}
{% unless page.noedit %}
<a href="/editdocs#{{ page.path }}" class="button issue">Edit this Page</a>
{% endunless %}
+4 -4
View File
@@ -25,7 +25,7 @@ This renders the definition of the glossary term inside a `<div>`, preserving Ma
| Name | Default | Description |
| --- | --- | --- |
| `term_id` | N/A (Required) | The `id` of the glossary term whose definition will be used. (This `id` is the same as the filename of the term, i.e. `_data/glossary/<ID>.yml`.) |
| `term_id` | Not Applicable (Required) | The `id` of the glossary term whose definition will be used. (This `id` is the same as the filename of the term, i.e. `_data/glossary/<ID>.yml`.) |
| `length` | "short" | Specifies which term definition should be used ("short" for the `short-definition`, "long" for `long-description`, "all" when both should be included). |
| `prepend` | "Service Catalog is" | A prefix which can be attached in front of a term's short definition (which is one or more sentence fragments). |
@@ -49,7 +49,7 @@ This renders the following:
| Name | Default | Description |
| --- | --- | --- |
| `text` | the `name` of the glossary term | The text that the user will hover over to display the glossary definition. **You should include this if using the tooltip inside of a glossary term's YAML short-definition.** |
| `term_id` | N/A (Required) | The `id` of the associated glossary term. (This `id` is the same as the filename of the term, i.e. `_data/glossary/<ID>.yml`.) |
| `term_id` | Not Applicable (Required) | The `id` of the associated glossary term. (This `id` is the same as the filename of the term, i.e. `_data/glossary/<ID>.yml`.) |
#### (3) `glossary_injector` tag
@@ -73,6 +73,6 @@ This renders the following:
| Name | Default | Description |
| --- | --- | --- |
| `text` | the `name` of the glossary term | The text that the user will hover over to display the glossary definition. |
| `term_id` | N/A (Required) | The `id` of the glossary term whose definition will be used. (This `id` is the same as the filename of the term, i.e. `_data/glossary/<ID>.yml`.) |
| `placeholder_id` | N/A (Required) | The `id` of the HTML element whose contents will be populated with the definition of `term_id` |
| `term_id` | Not Applicable (Required) | The `id` of the glossary term whose definition will be used. (This `id` is the same as the filename of the term, i.e. `_data/glossary/<ID>.yml`.) |
| `placeholder_id` | Not Applicable (Required) | The `id` of the HTML element whose contents will be populated with the definition of `term_id` |
| `length` | "short" | Specifies which term definition should be used ("short" for the `short-definition`, "long" for `long-description`, "all" when both should be included). |
+2 -1
View File
@@ -1,3 +1,4 @@
require 'pry'
# See /_plugins/README.md for full documentation of these custom Jekyll tags
module Jekyll
module GlossaryTags
@@ -89,7 +90,7 @@ module Jekyll
gsub(NESTED_MARKDOWN_LINKS, '\2').
strip
"<a class='glossary-tooltip' href='#{external_link}'>" \
"<a class='glossary-tooltip' href='#{external_link}' target='_blank'>" \
"#{@args[:text] || term_info["name"]}" \
"<span class='tooltip-text'>" \
"#{tooltip}" \
+7 -11
View File
@@ -28,6 +28,7 @@
/docs/admin/garbage-collection/ /docs/concepts/cluster-administration/kubelet-garbage-collection/ 301
/docs/admin/ha-master-gce/ /docs/tasks/administer-cluster/highly-available-master/ 301
/docs/admin/ha-master-gce.md/ /docs/tasks/administer-cluster/highly-available-master/ 301
/docs/admin/high-availability/ /docs/admin/high-availability/building/ 301
/docs/admin/kubeadm-upgrade-1-7/ /docs/tasks/administer-cluster/kubeadm-upgrade-1-7/ 301
/docs/admin/limitrange/ /docs/tasks/administer-cluster/cpu-memory-limit/ 301
/docs/admin/limitrange/Limits/ /docs/tasks/administer-cluster/limit-storage-consumption/#limitrange-to-limit-requests-for-storage/ 301
@@ -70,14 +71,13 @@
/docs/api-reference/policy/v1beta1/definitions/ https://v1-4.docs.kubernetes.io/docs/api-reference/policy/v1beta1/definitions/ 301
/docs/api-reference/README/ https://v1-4.docs.kubernetes.io/docs/api-reference/README/ 301
/docs/api-reference/storage.k8s.io/v1beta1/operations/ https://v1-4.docs.kubernetes.io/docs/api-reference/storage.k8s.io/v1beta1/operations/ 301
/docs/api-reference/v1.4/* https://v1-4.docs.kubernetes.io/docs/reference/ 301
/docs/api-reference/1_5/* https://v1-5.docs.kubernetes.io/docs/reference/ 301
/docs/api-reference/v1.5/* https://v1-5.docs.kubernetes.io/docs/reference/ 301
/docs/api-reference/v1.6/* https://v1-6.docs.kubernetes.io/docs/reference/ 301
/docs/api-reference/v1.7/* https://v1-7.docs.kubernetes.io/docs/reference/ 301
/docs/api-reference/v1.8/* https://v1-8.docs.kubernetes.io/docs/api-reference/v1.8/:splat 301
/docs/api-reference/v1.9/ /docs/reference/generated/kubernetes-api/v1.9/ 301
/docs/api-reference/v1/definitions/ /docs/api-reference/v1.9/ 301
/docs/api-reference/v1/operations/ /docs/api-reference/v1.9/ 301
/docs/api-reference/v1.9/ /docs/reference/generated/kubernetes-api/v1.9/ 301
/docs/concepts/abstractions/controllers/garbage-collection/ /docs/concepts/workloads/controllers/garbage-collection/ 301
/docs/concepts/abstractions/controllers/statefulsets/ /docs/concepts/workloads/controllers/statefulset/ 301
@@ -120,7 +120,6 @@
/docs/concepts/workloads/controllers/cron-jobs/deployment/ /docs/concepts/workloads/controllers/cron-jobs/ 301
/docs/concepts/workloads/controllers/daemonset/docs/concepts/workloads/pods/pod/ /docs/concepts/workloads/pods/pod/ 301
/docs/concepts/workloads/controllers/deployment/docs/concepts/workloads/pods/pod/ /docs/concepts/workloads/pods/pod/ 301
/docs/concepts/workloads/controllers/deployment.md /docs/concepts/workloads/controllers/deployment/ 301
/docs/concepts/workloads/controllers/job/ /docs/concepts/workloads/controllers/jobs-run-to-completion/ 301
/docs/concepts/workloads/controllers/statefulsets/ /docs/concepts/workloads/controllers/statefulset/ 301
/docs/concepts/workloads/controllers/statefulset.md /docs/concepts/workloads/controllers/statefulset/ 301
@@ -177,7 +176,9 @@
/docs/getting-started-guides/ubuntu/automated/ /docs/getting-started-guides/ubuntu/ 301
/docs/getting-started-guides/ubuntu/calico/ /docs/getting-started-guides/ubuntu/ 301
/docs/getting-started-guides/vagrant/ /docs/getting-started-guides/alternatives/ 301
/docs/getting-started-guides/vsphere/ https://vmware.github.io/vsphere-storage-for-kubernetes/documentation/ 301
/docs/getting-started-guides/windows/While/ /docs/getting-started-guides/windows/ 301
/docs/getting-started-guides/centos/* /docs/setup/independent/create-cluster-kubeadm/ 301
/docs/hellonode/ /docs/tutorials/stateless-application/hello-minikube/ 301
/docs/home/coreos/ /docs/getting-started-guides/coreos/ 301
@@ -193,9 +194,6 @@
/docs/reporting-security-issues/ /security/ 301
/docs/resources-reference/1_5/* /docs/resources-reference/v1.5/ 301
/docs/resources-reference/1_5/* https://v1-5.docs.kubernetes.io/docs/resources-reference/v1.5/ 301
/docs/resources-reference/v1.5/node_modules/* https://v1-5.docs.kubernetes.io/docs/resources-reference/v1.5/ 301
/docs/resources-reference/1_6/* /docs/resources-reference/v1.6/ 301
/docs/resources-reference/1_7/* /docs/resources-reference/v1.7/ 301
/docs/resources-reference/v1.8/* /docs/api-reference/v1.8/:splat 301
@@ -289,9 +287,9 @@
/docs/user-guide/application-troubleshooting/ /docs/tasks/debug-application-cluster/debug-application/ 301
/docs/user-guide/compute-resources/ /docs/concepts/configuration/manage-compute-resources-container/ 301
/docs/user-guide/config-best-practices/ /docs/concepts/configuration/overview/ 301
/docs/user-guide/configmap/ /docs/tasks/configure-pod-container/configmap/ 301
/docs/user-guide/configmap/ /docs/tasks/configure-pod-container/configure-pod-configmap/ 301
/docs/user-guide/configmap/README/ /docs/tasks/configure-pod-container/configure-pod-configmap/ 301
/docs/user-guide/configuring-containers/ /docs/tasks/configure-pod-container/configmap/ 301
/docs/user-guide/configuring-containers/ /docs/tasks/configure-pod-container/configure-pod-configmap/ 301
/docs/user-guide/connecting-applications/ /docs/concepts/services-networking/connect-applications-service/ 301
/docs/user-guide/connecting-to-applications-port-forward/ /docs/tasks/access-application-cluster/port-forward-access-application-cluster/ 301
/docs/user-guide/connecting-to-applications-proxy/ /docs/tasks/access-kubernetes-api/http-proxy-access-api/ 301
@@ -347,9 +345,7 @@
/docs/user-guide/kubectl/v1.9/* /docs/reference/generated/kubectl/kubectl-commands/:splat 301
/docs/user-guide/kubectl-conventions/ /docs/reference/kubectl/conventions/
/docs/user-guide/kubectl-cheatsheet/ /docs/reference/kubectl/cheatsheet/
/docs/user-guide/kubectl/1_5/* https://v1-5.docs.kubernetes.io/docs/user-guide/kubectl/v1.5/ 301
/docs/user-guide/kubectl/kubectl_*/ /docs/reference/generated/kubectl/kubectl-commands#:splat 301
/docs/user-guide/kubectl/v1.5/node_modules/* https://v1-5.docs.kubernetes.io/docs/user-guide/kubectl/v1.5/ 301
/docs/user-guide/kubectl/v1.6/node_modules/* https://v1-6.docs.kubernetes.io/docs/user-guide/kubectl/v1.6/ 301
/docs/user-guide/labels/ /docs/concepts/overview/working-with-objects/labels/ 301
/docs/user-guide/liveness/ /docs/tasks/configure-pod-container/configure-liveness-readiness-probes/ 301
+3 -3
View File
@@ -24,13 +24,13 @@ css: /css/style_blackrock.css
<div class="cols">
<div class="col1">
<h2>Challenge</h2>
The worlds largest asset manager, <a href="https://www.blackrock.com/investing">BlackRock</a> operates a very controlled static deployment scheme, which has allowed for scalability over the years. But in their data science division, there was a need for more dynamic access to resources. "We want to be able to give every investor access to data science, meaning <a href="https://www.python.org">Python</a> notebooks, or even something much more advanced, like a MapReduce engine based on <a href="https://spark.apache.org">Spark</a>," says Michael Francis, a Managing Director in BlackRocks Product Group, which runs the companys investment management platform. "Managing complex Python installations on users desktops is really hard because everyone ends up with slightly different environments. We have existing environments that do these things, but we needed to make it real, expansive and scaleable. Being able to spin that up on demand, tear it down, make that much more dynamic, became a critical thought process for us. Its not so much that we had to solve our main core production problem, its how do we extend that? How do we evolve?"
The worlds largest asset manager, <a href="https://www.blackrock.com/investing">BlackRock</a> operates a very controlled static deployment scheme, which has allowed for scalability over the years. But in their data science division, there was a need for more dynamic access to resources. "We want to be able to give every investor access to data science, meaning <a href="https://www.python.org">Python</a> notebooks, or even something much more advanced, like a MapReduce engine based on <a href="https://spark.apache.org">Spark</a>," says Michael Francis, a Managing Director in BlackRocks Product Group, which runs the companys investment management platform. "Managing complex Python installations on users desktops is really hard because everyone ends up with slightly different environments. We have existing environments that do these things, but we needed to make it real, expansive and scalable. Being able to spin that up on demand, tear it down, make that much more dynamic, became a critical thought process for us. Its not so much that we had to solve our main core production problem, its how do we extend that? How do we evolve?"
</div>
<div class="col2">
<h2>Solution</h2>
Drawing from what they learned during a pilot done last year using <a href="https://www.docker.com">Docker</a> environments, Francis put together a cross-sectional team of 20 to build an investor research web app using <a href="https://kubernetes.io">Kubernetes</a> with the goal of getting it into production within one quarter.
<br>
<br><br>
<h2>Impact</h2>
"Our goal was: How do you give people tools rapidly without having to install them on their desktop?" says Francis. And the team hit the goal within 100 days. Francis is pleased with the results and says, "Were going to use this infrastructure for lots of other application workloads as time goes on. Its not just data science; its this style of application that needs the dynamism. But I think were 6-12 months away from making a [large scale] decision. We need to gain experience of running the system in production, we need to understand failure modes and how best to manage operational issues. Whats interesting is that just having this technology there is changing the way our developers are starting to think about their future development."
@@ -65,7 +65,7 @@ css: /css/style_blackrock.css
<section class="section3">
<div class="fullcol">
Still, challenges remain. "If you have a shared cluster, you get this storming herd problem where everyone wants to do the same thing at the same time," says Francis. "You could put limits on it, but youd have to build an infrastructure to define limits for our processes, and the Python notebooks werent really designed for that. We have existing environments that do these things, but we needed to make it real, expansive, and scaleable. Being able to spin that up on demand, tear it down, and make that much more dynamic, became a critical thought process for us."<br><br>
Still, challenges remain. "If you have a shared cluster, you get this storming herd problem where everyone wants to do the same thing at the same time," says Francis. "You could put limits on it, but youd have to build an infrastructure to define limits for our processes, and the Python notebooks werent really designed for that. We have existing environments that do these things, but we needed to make it real, expansive, and scalable. Being able to spin that up on demand, tear it down, and make that much more dynamic, became a critical thought process for us."<br><br>
Made up of managers from technology, infrastructure, production operations, development and information security, Franciss team was able to look at the problem holistically and come up with a solution that made sense for BlackRock. "Our initial straw man was that we were going to build everything using <a href="https://www.ansible.com">Ansible</a> and run it all using some completely different distributed environment," says Francis. "That would have been absolutely the wrong thing to do. Had we gone off on our own as the dev team and developed this solution, it would have been a very different product. And it would have been very expensive. We would not have gone down the route of running under our existing orchestration system. Because we dont understand it. These guys [in operations and infrastructure] understand it. Having the multidisciplinary team allowed us to get to the right solutions and that actually meant we didnt build anywhere near the amount we thought we were going to end up building."<br><br>
In search of a solution in which they could manage usage on a user-by-user level, Franciss team gravitated to Red Hats <a href="https://www.openshift.com">OpenShift</a> Kubernetes offering. The company had already experimented with other cloud-native environments, but the team liked that Kubernetes was open source, and "we felt the winds were blowing in the direction of Kubernetes long term," says Francis. "Typically we make technology choices that we believe are going to be here in 5-10 years time, in some form. And right now, in this space, Kubernetes feels like the one thats going to be there." Adds Uri Morris, Vice President of Production Operations: "When you see that the non-Google committers to Kubernetes overtook the Google committers, thats an indicator of the momentum."<br><br>
Once that decision was made, the major challenge was figuring out how to make Kubernetes work within BlackRocks existing framework. "Its about understanding how we can operate, manage and support a platform like this, in addition to tacking it onto our existing technology platform," says Project Manager Michael Maskallis. "All the controls we have in place, the change management process, the software development lifecycle, onboarding processes we go through—how can we do all these things?"<br><br>
+101
View File
@@ -0,0 +1,101 @@
---
title: Huawei Case Study
layout: basic
case_study_styles: true
cid: caseStudies
css: /css/style_huawei.css
---
<div class="banner1">
<h1> CASE STUDY:<img src="/images/huawei_logo.png" class="header_logo"><br> <div class="subhead">Embracing Cloud Native as a User and a Vendor</div></h1>
</div>
<div class="details">
Company &nbsp;<b>Huawei</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Location &nbsp;<b>Shenzhen, China</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Industry &nbsp;<b>Telecommunications Equipment</b>
</div>
<hr>
<section class="section1">
<div class="cols">
<div class="col1">
<h2>Challenge</h2>
A multinational company thats the largest telecommunications equipment manufacturer in the world, Huawei has more than 180,000 employees. In order to support its fast business development around the globe, <a href="http://www.huawei.com/">Huawei</a> has eight data centers for its internal I.T. department, which have been running 800+ applications in 100K+ VMs to serve these 180,000 users. With the rapid increase of new applications, the cost and efficiency of management and deployment of VM-based apps all became critical challenges for business agility. "Its very much a distributed system so we found that managing all of the tasks in a more consistent way is always a challenge," says Peixin Hou, the companys Chief Software Architect and Community Director for Open Source. "We wanted to move into a more agile and decent practice."
</div>
<div class="col2">
<h2>Solution</h2>
After deciding to use container technology, Huawei began moving the internal I.T. departments applications to run on <a href="http://kubernetes.io/">Kubernetes</a>. So far, about 30 percent of these applications have been transferred to cloud native.
<br>
<br>
<h2>Impact</h2>
"By the end of 2016, Huaweis internal I.T. department managed more than 4,000 nodes with tens of thousands containers using a Kubernetes-based Platform as a Service (PaaS) solution," says Hou. "The global deployment cycles decreased from a week to minutes, and the efficiency of application delivery has been improved 10 fold." For the bottom line, he says, "We also see significant operating expense spending cut, in some circumstances 20-30 percent, which we think is very helpful for our business." Given the results Huawei has had internally and the demand it is seeing externally the company has also built the technologies into <a href="http://developer.huawei.com/ict/en/site-paas">FusionStage™</a>, the PaaS solution it offers its customers.
</div>
</div>
</section>
<div class="banner2">
<div class="banner2text">
"If youre a vendor, in order to convince your customer, you should use it yourself. Luckily because Huawei has a lot of employees, we can demonstrate the scale of cloud we can build using this technology."<br style="height:25px"><span style="font-size:14px;letter-spacing:2px;text-transform:uppercase;margin-top:5% !important;"><br>- Peixin Hou, chief software architect and community director for open source</span>
</div>
</div>
<section class="section2">
<div class="fullcol">
Huaweis Kubernetes journey began with one developer.
Over two years ago, one of the engineers employed by the networking and telecommunications giant became interested in <a href="http://kubernetes.io/">Kubernetes</a>, the technology for managing application containers across clusters of hosts, and started contributing to its open source community. As the technology developed and the community grew, he kept telling his managers about it.<br><br>
And as fate would have it, at the same time, Huawei was looking for a better orchestration system for its internal enterprise I.T. department, which supports every business flow processing. "We have more than 180,000 employees worldwide, and a complicated internal procedure, so probably every week this department needs to develop some new applications," says Peixin Hou, Huaweis Chief Software Architect and Community Director for Open Source. "Very often our I.T. departments need to launch tens of thousands of containers, with tasks running across thousands of nodes across the world. Its very much a distributed system, so we found that managing all of the tasks in a more consistent way is always a challenge."<br><br>
In the past, Huawei had used virtual machines to encapsulate applications, but "every time when we start a VM," Hou says, "whether because its a new service or because it was a service that was shut down because of some abnormal node functioning, it takes a lot of time." Huawei turned to containerization, so the timing was right to try Kubernetes. It took a year to adopt that engineers suggestion the process "is not overnight," says Hou but once in use, he says, "Kubernetes basically solved most of our problems. Before, the time of deployment took about a week, now it only takes minutes. The developers are happy. That department is also quite happy."<br><br>
Hou sees great benefits to the company that come with using this technology: "Kubernetes brings agility, scale-out capability, and DevOps practice to the cloud-based applications," he says. "It provides us with the ability to customize the scheduling architecture, which makes possible the affinity between container tasks that gives greater efficiency. It supports multiple container formats. It has extensive support for various container networking solutions and container storage."
</div>
</section>
<div class="banner3">
<div class="banner3text">
"Kubernetes basically solved most of our problems. Before, the time of deployment took about a week, now it only takes minutes. The developers are happy. That department is also quite happy."
</div>
</div>
<section class="section3">
<div class="fullcol">
And not least of all, theres an impact on the bottom line. Says Hou: "We also see significant operating expense spending cut in some circumstances 20-30 percent, which is very helpful for our business."<br><br>
Pleased with those initial results, and seeing a demand for cloud native technologies from its customers, Huawei doubled down on Kubernetes. In the spring of 2016, the company became not only a user but also a vendor.<br><br>
"We built the Kubernetes technologies into our solutions," says Hou, referring to Huaweis <a href="http://developer.huawei.com/ict/en/site-paas">FusionStage™</a> PaaS offering. "Our customers, from very big telecommunications operators to banks, love the idea of cloud native. They like Kubernetes technology. But they need to spend a lot of time to decompose their applications to turn them into microservice architecture, and as a solution provider, we help them. Weve started to work with some Chinese banks, and we see a lot of interest from our customers like <a href="http://www.chinamobileltd.com/">China Mobile</a> and <a href="https://www.telekom.com/en">Deutsche Telekom</a>."<br><br>
"If youre just a user, youre just a user," adds Hou. "But if youre a vendor, in order to even convince your customers, you should use it yourself. Luckily because Huawei has a lot of employees, we can demonstrate the scale of cloud we can build using this technology. We provide customer wisdom." While Huawei has its own private cloud, many of its customers run cross-cloud applications using Huaweis solutions. Its a big selling point that most of the public cloud providers now support Kubernetes. "This makes the cross-cloud transition much easier than with other solutions," says Hou.<br><br>
</div>
</section>
<div class="banner4">
<div class="banner4text">
"Our customers, from very big telecommunications operators to banks, love the idea of cloud native. They like Kubernetes technology. But they need to spend a lot of time to decompose their applications to turn them into microservice architecture, and as a solution provider, we help them."
</div>
</div>
<section class="section4">
<div class="fullcol">
Within Huawei itself, once his team completes the transition of the internal business procedure department to Kubernetes, Hou is looking to convince more departments to move over to the cloud native development cycle and practice. "We have a lot of software developers, so we will provide them with our platform as a service solution, our own product," he says. "We would like to see significant cuts in their iteration cycle."<br><br>
Having overseen the initial move to Kubernetes at Huawei, Hou has advice for other companies considering the technology: "When you start to design the architecture of your application, think about cloud native, think about microservice architecture from the beginning," he says. "I think you will benefit from that."<br><br>
But if you already have legacy applications, "start from some microservice-friendly part of those applications first, parts that are relatively easy to be decomposed into simpler pieces and are relatively lightweight," Hou says. "Dont think from day one that within how many days I want to move the whole architecture, or move everything into microservices. Dont put that as a kind of target. You should do it in a gradual manner. And I would say for legacy applications, not every piece would be suitable for microservice architecture. No need to force it."<br><br>
After all, as enthusiastic as Hou is about Kubernetes at Huawei, he estimates that "in the next 10 years, maybe 80 percent of the workload can be distributed, can be run on the cloud native environments. Theres still 20 percent thats not, but its fine. If we can make 80 percent of our workload really be cloud native, to have agility, its a much better world at the end of the day."
</div>
</section>
<div class="banner5">
<div class="banner5text">
"In the next 10 years, maybe 80 percent of the workload can be distributed, can be run on the cloud native environments. Theres still 20 percent thats not, but its fine. If we can make 80 percent of our workload really be cloud native, to have agility, its a much better world at the end of the day."
</div>
</div>
<section class="section5">
<div class="fullcol">
In the nearer future, Hou is looking forward to new features that are being developed around Kubernetes, not least of all the ones that Huawei is contributing to. Huawei engineers have worked on the federation feature (which puts multiple Kubernetes clusters in a single framework to be managed seamlessly), scheduling, container networking and storage, and a just-announced technology called <a href="http://containerops.org/">Container Ops</a>, which is a DevOps pipeline engine. "This will put every DevOps job into a container," he explains. "And then this container mechanism is running using Kubernetes, but is also used to test Kubernetes. With that mechanism, we can make the containerized DevOps jobs be created, shared and managed much more easily than before."<br><br>
Still, Hou sees this technology as only halfway to its full potential. First and foremost, hed like to expand the scale it can orchestrate, which is important for supersized companies like Huawei as well as some of its customers.<br><br>
Hou proudly notes that two years after that first Huawei engineer became a contributor to and evangelist for Kubernetes, Huawei is now a top contributor to the community. "Weve learned that the more you contribute to the community," he says, "the more you get back."
</div>
</section>
+1 -1
View File
@@ -135,7 +135,7 @@ system:serviceaccount:<namespace>:default
{"apiVersion":"abac.authorization.kubernetes.io/v1beta1","kind":"Policy","spec":{"user":"system:serviceaccount:kube-system:default","namespace":"*","resource":"*","apiGroup":"*"}}
```
需要重新启动 apitorver 以获取新的策略行.
需要重新启动 apiserver 以获取新的策略行.
{% endcapture %}
{% include templates/concept.md %}
@@ -58,7 +58,7 @@ service Registration {
```gRPC
service DevicePlugin {
// ListAndWatch returns a stream of List of Devices
// Whenever a Device state change or a Device disapears, ListAndWatch
// Whenever a Device state change or a Device disappears, ListAndWatch
// returns the new list
rpc ListAndWatch(Empty) returns (stream ListAndWatchResponse) {}
+1 -1
View File
@@ -195,7 +195,7 @@ $ kubectl describe pods/private-image-test-1 | grep "Failed"
**注意:** Google Kubernetes Engine,GCE及其他自动创建node的云平台上,推荐使用本方法。
Kuberentes支持在pod中指定仓库密钥。
Kubernetes支持在pod中指定仓库密钥。
#### 使用Docker Config创建Secret
@@ -91,7 +91,7 @@ Kubernetes 提供了很多的功能,总会有新的场景受益于新特性。
[Label](/docs/user-guide/labels/) 允许用户按照自己的方式组织管理对应的资源。 [注解](/docs/user-guide/annotations/) 使用户能够以自定义的描述信息来修饰资源,以适用于自己的工作流,并为管理工具提供检查点状态的简单方法。
此外,[Kubernetes 控制面 (Controll Plane)](/docs/admin/cluster-components) 是构建在相同的 [APIs](/docs/api/) 上面,开发人员和用户都可以用。用户可以编写自己的控制器, [调度器](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/docs/devel/scheduler.md)等等,如果这么做,根据新加的[自定义 API](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/extending-api.md) ,可以扩展当前的通用 [CLI 命令行工具](/docs/user-guide/kubectl-overview/)。
此外,[Kubernetes 控制面 (Control Plane)](/docs/admin/cluster-components) 是构建在相同的 [APIs](/docs/api/) 上面,开发人员和用户都可以用。用户可以编写自己的控制器, [调度器](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/docs/devel/scheduler.md)等等,如果这么做,根据新加的[自定义 API](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/extending-api.md) ,可以扩展当前的通用 [CLI 命令行工具](/docs/user-guide/kubectl-overview/)。
这种 [设计](https://git.k8s.io/community/contributors/design-proposals/architecture/principles.md) 使得许多其他系统可以构建在 Kubernetes 之上。
@@ -52,12 +52,12 @@ Kubernetes 系统读取 Deployment 规约,并启动我们所期望的该应用
### 描述 Kubernetes 对象
当创建 KUbernetes 对象时,必须提供对象的规约,用来描述该对象的期望状态,以及关于对象的一些基本信息(例如名称)。
当使用 KUbernetes API 创建对象时(或者直接创建,或者基于`kubectl`),API 请求必须在请求体中包含 JSON 格式的信息。
当创建 Kubernetes 对象时,必须提供对象的规约,用来描述该对象的期望状态,以及关于对象的一些基本信息(例如名称)。
当使用 Kubernetes API 创建对象时(或者直接创建,或者基于`kubectl`),API 请求必须在请求体中包含 JSON 格式的信息。
**大多数情况下,需要在 .yaml 文件中为 `kubectl` 提供这些信息**。
`kubectl` 在发起 API 请求时,将这些信息转换成 JSON 格式。
这里有一个 `.yaml` 示例文件,展示了 KUbernetes Deployment 的必需字段和对象规约:
这里有一个 `.yaml` 示例文件,展示了 Kubernetes Deployment 的必需字段和对象规约:
{% include code.html language="yaml" file="nginx-deployment.yaml" ghlink="/docs/concepts/overview/working-with-objects/nginx-deployment.yaml" %}
@@ -78,7 +78,7 @@ deployment "nginx-deployment" created
### 必需字段
在想要创建的 KUbernetes 对象对应的 `.yaml` 文件中,需要配置如下的字段:
在想要创建的 Kubernetes 对象对应的 `.yaml` 文件中,需要配置如下的字段:
* `apiVersion` - 创建该对象所使用的 Kubernetes API 的版本
* `kind` - 想要创建的对象的类型
@@ -17,11 +17,14 @@ spec:
selector:
run: my-nginx
---
apiVersion: apps/v1beta1
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-nginx
spec:
selector:
matchLabels:
run: my-nginx
replicas: 1
template:
metadata:
@@ -1,8 +1,11 @@
apiVersion: apps/v1beta1
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-nginx
spec:
selector:
matchLabels:
run: my-nginx
replicas: 2
template:
metadata:
@@ -1,238 +0,0 @@
---
approvers:
- thockin
title: CentOS
---
* TOC
{:toc}
## 警告
本文档适用于Kubernetes 1.1.0,目前已经被[废弃](https://github.com/kubernetes/website/issues/1613)。相关内容请参阅最新版[指南](/docs/getting-started-guides/kubeadm/)。
## 前提条件
在CentOS上部署和配置Kubernetes,您需要在集群中拥有一台机器作为master节点,并拥有至少一台运行CentOS 7系统的主机作为集群节点(node)。
## 启动一个集群
本文档是一篇基于CentOS系统部署和配置Kubernetes的入门指南,内容涵盖一个手工的配置,以便于您了解所有的底层软件包、服务以及端口等信息。
Kubernetes由一系列服务构成,包括kube-apiserver、kube-scheduler、kube-controller-manager、kubelet以及kube-proxy等。这些服务由systemd管理,配置集中位于/etc/kubernetes。我们将在集群中的不同主机上部署不同的服务。其中,第一台主机,即centos-master,将被部署成为Kubernetes集群中的master节点。这台主机上将运行kube-apiserver、kube-controller-manager和kube-scheduler。 此外,master节点还将运行 _etcd_。集群中剩余的主机,即centos-minion-n节点,将运行kubelet、proxy、cadvisor和docker。
集群中的所有节点将运行flanneld来构建网络(networking overlay)。
**系统信息:**
主机:
请使用您真实环境中的信息替换以下配置中的各个主机IP
```conf
centos-master = 192.168.121.9
centos-minion-1 = 192.168.121.65
centos-minion-2 = 192.168.121.66
centos-minion-3 = 192.168.121.67
```
**配置主机环境:**
* 在集群所有节点上——centos-{master,minion-n},创建包含以下配置信息的/etc/yum.repos.d/virt7-docker-common-release.repo文件。
```conf
[virt7-docker-common-release]
name=virt7-docker-common-release
baseurl=http://cbs.centos.org/repos/virt7-docker-common-release/x86_64/os/
gpgcheck=0
```
* 在集群所有节点上——centos-{master,minion-n},安装Kubernetes、etcd和flanneld。这一过程也将同时在节点上安装docker和cadvisor。
```shell
yum -y install --enablerepo=virt7-docker-common-release kubernetes etcd flannel
```
* 将master节点和其他节点的主机名——IP映射添加到所有集群节点的/etc/hosts文件中(如果主机名已经在DNS中记录,则可略过此步)
```shell
echo "192.168.121.9 centos-master
192.168.121.65 centos-minion-1
192.168.121.66 centos-minion-2
192.168.121.67 centos-minion-3" >> /etc/hosts
```
* 编辑/etc/kubernetes/config文件以保证在集群所有主机上都包含以下内容:
```shell
# logging to stderr意为从systemd journal获取日志
KUBE_LOGTOSTDERR="--logtostderr=true"
# journal消息级别, 0代表debug
KUBE_LOG_LEVEL="--v=0"
# 是否允许集群运行privileged docker containers
KUBE_ALLOW_PRIV="--allow-privileged=false"
# 配置replication conrtoller和scheduler所需的kube-apiserver地址
KUBE_MASTER="--master=http://centos-master:8080"
```
* 由于docker与一些防火墙规则不兼容,需要在master节点及其他集群节点上禁用防火墙。在CentOS系统上,需要首先禁用SELinux,进而才能禁用防火墙。
```shell
setenforce 0
systemctl disable iptables-services firewalld
systemctl stop iptables-services firewalld
```
**配置master节点上的Kubernetes服务**
* 编辑/etc/etcd/etcd.conf文件内容如下:
```shell
# [member]
ETCD_NAME=default
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
#[cluster]
ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"
```
* 编辑/etc/kubernetes/apiserver文件内容如下:
```shell
# 本地服务器监听地址
KUBE_API_ADDRESS="--address=0.0.0.0"
# 本地服务器监听端口
KUBE_API_PORT="--port=8080"
# Kubelet监听端口
KUBELET_PORT="--kubelet-port=10250"
# 以逗号间隔的etcd集群中各个节点的地址
KUBE_ETCD_SERVERS="--etcd-servers=http://centos-master:2379"
# Kubernetes服务IP地址网段
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"
# 请添加您需要的Kubernetes API Server启动参数
KUBE_API_ARGS=""
```
* 启动ETCD并保存master节点的网络设置(network overlay configuration):
**警告** 请根据您的真实环境配置网络信息!在本文环境中,`172.30.0.0/16`网段是可用的。
```shell
systemctl start etcd
etcdctl mkdir /kube-centos/network
etcdctl mk /kube-centos/network/config "{ \"Network\": \"172.30.0.0/16\", \"SubnetLen\": 24, \"Backend\": { \"Type\": \"vxlan\" } }"
```
* 在master节点上配置/etc/sysconfig/flanneld文件使用flannel覆盖Docker网络 (需要在其他集群节点上完成相同配置,详见下文):
```shell
# Flanneld配置选项
# etcd url地址,指向运行etcd的服务器
FLANNEL_ETCD_ENDPOINTS="http://centos-master:2379"
# etcd配置秘钥,即flannel查询的配置秘钥
# 用于网段分配
FLANNEL_ETCD_PREFIX="/kube-centos/network"
# 其它需要的Flannel启动参数
#FLANNEL_OPTIONS=""
```
* 在master节点上启动相关服务:
```shell
for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler flanneld; do
systemctl restart $SERVICES
systemctl enable $SERVICES
systemctl status $SERVICES
done
```
**在集群其他节点上配置Kubernetes服务**
***我们需要在集群其他节点上配置kubelet,启动kubelet和proxy服务***
* 编辑/etc/kubernetes/kubelet文件内容如下:
```shell
# info server的服务地址
KUBELET_ADDRESS="--address=0.0.0.0"
# info server的监听端口
KUBELET_PORT="--port=10250"
# 本字段可以设置空值以使用真实的主机名
# 注意节点序号(n
KUBELET_HOSTNAME="--hostname-override=centos-minion-n"
# api-server地址
KUBELET_API_SERVER="--api-servers=http://centos-master:8080"
# 添加您所需要的Kubelet参数
KUBELET_ARGS=""
```
* 在所有节点上配置/etc/sysconfig/flanneld文件设置使用flannel覆盖Docker网络:
```shell
# Flanneld配置选项
# etcd url地址,指向运行etcd的服务器
FLANNEL_ETCD_ENDPOINTS="http://centos-master:2379"
# etcd配置秘钥,即flannel查询的配置秘钥
# 用于网段分配
FLANNEL_ETCD_PREFIX="/kube-centos/network"
# 其他需要配置的选项
#FLANNEL_OPTIONS=""
```
* 在节点上启动相关服务(centos-minion-n
```shell
for SERVICES in kube-proxy kubelet flanneld docker; do
systemctl restart $SERVICES
systemctl enable $SERVICES
systemctl status $SERVICES
done
```
* 配置kubectl
```shell
kubectl config set-cluster default-cluster --server=http://centos-master:8080
kubectl config set-context default-context --cluster=default-cluster --user=default-admin
kubectl config use-context default-context
```
*至此,Kubernetes在CentOS集群中的部署已经完成 !*
* 在centos-master节点上通过kubectl命令检查所有的Kubernetes节点已经到位
```shell
$ kubectl get nodes
NAME STATUS AGE VERSION
centos-minion-1 Ready 3d v1.6.0+fff5156
centos-minion-2 Ready 3d v1.6.0+fff5156
centos-minion-3 Ready 3d v1.6.0+fff5156
```
**现在,Kubernetes集群已经正常运行!可以创建测试pod验证集群了!**
## 支持级别
IaaS Provider | Config. Mgmt | OS | Networking | Docs | Conforms | Support Level
-------------------- | ------------ | ------ | ---------- | --------------------------------------------- | ---------| ----------------------------
Bare-metal | custom | CentOS | flannel | [docs](/docs/getting-started-guides/centos/centos_manual_config) | | Community ([@coolsvap](https://github.com/coolsvap))
有关所有解决方案的支持级别信息,请参阅[解决方案列表](/docs/getting-started-guides/#table-of-solutions)。
@@ -10,14 +10,14 @@ spec:
args:
- while true; do
echo -en '\n';
if [[ -e /etc/cpu_limit ]]; then
echo -en '\n'; cat /etc/cpu_limit; fi;
if [[ -e /etc/podinfo/cpu_limit ]]; then
echo -en '\n'; cat /etc/podinfo/cpu_limit; fi;
if [[ -e /etc/cpu_request ]]; then
echo -en '\n'; cat /etc/cpu_request; fi;
echo -en '\n'; cat /etc/podinfo/cpu_request; fi;
if [[ -e /etc/mem_limit ]]; then
echo -en '\n'; cat /etc/mem_limit; fi;
echo -en '\n'; cat /etc/podinfo/mem_limit; fi;
if [[ -e /etc/mem_request ]]; then
echo -en '\n'; cat /etc/mem_request; fi;
echo -en '\n'; cat /etc/podinfo/mem_request; fi;
sleep 5;
done;
resources:
@@ -29,7 +29,7 @@ spec:
cpu: "250m"
volumeMounts:
- name: podinfo
mountPath: /etc
mountPath: /etc/podinfo
readOnly: false
volumes:
- name: podinfo
@@ -16,15 +16,15 @@ spec:
command: ["sh", "-c"]
args:
- while true; do
if [[ -e /etc/labels ]]; then
echo -en '\n\n'; cat /etc/labels; fi;
if [[ -e /etc/annotations ]]; then
echo -en '\n\n'; cat /etc/annotations; fi;
if [[ -e /etc/podinfo/labels ]]; then
echo -en '\n\n'; cat /etc/podinfo/labels; fi;
if [[ -e /etc/podinfo/annotations ]]; then
echo -en '\n\n'; cat /etc/podinfo/annotations; fi;
sleep 5;
done;
volumeMounts:
- name: podinfo
mountPath: /etc
mountPath: /etc/podinfo
readOnly: false
volumes:
- name: podinfo
@@ -38,7 +38,7 @@ title: 概述
</div>
</div>
<div class="content__modules">
<div id="basics-modules" class="content__modules">
<h2>Kubernetes 基础模块</h2>
<div class="row">
<div class="col-md-4">
@@ -728,7 +728,7 @@ spec:
name: jmx
- containerPort: 9042
name: cql
# If you need it it is going away in C* 4.0
# If you need it, it will go away in C* 4.0.
#- containerPort: 9160
# name: thrift
resources:
+4 -1
View File
@@ -17,11 +17,14 @@ spec:
selector:
run: my-nginx
---
apiVersion: apps/v1beta1
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-nginx
spec:
selector:
matchLabels:
run: my-nginx
replicas: 1
template:
metadata:
+4 -1
View File
@@ -1,8 +1,11 @@
apiVersion: apps/v1beta1
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-nginx
spec:
selector:
matchLabels:
run: my-nginx
replicas: 2
template:
metadata:
+3 -3
View File
@@ -14,9 +14,9 @@ cid: community
<h3>Ensuring Kubernetes works well everywhere and for everyone.</h3>
<p>Connect with the Kubernetes community on our <a href="http://slack.k8s.io/">Slack channel</a> or join the
<a href="https://groups.google.com/forum/#!forum/kubernetes-dev">Kubernetes-dev Google group</a>. A weekly
community meeting takes place via video conference to discuss the state of affairs,
<a href="https://groups.google.com/forum/#!forum/kubernetes-community-video-chat">get a calendar invite</a>
to participate.</p>
community meeting takes place via video conference to discuss the state of affairs, see
<a href="https://github.com/kubernetes/community/blob/master/events/community-meeting.md">these instructions</a> for information
on how to participate.</p>
<p>You can also join Kubernetes all around the world through our
<a href="https://www.meetup.com/topics/kubernetes/">Kubernetes Meetup Community</a> and the
<a href="https://www.meetup.com/Kubernetes-Cloud-Native-Online-Meetup/">Kubernetes Cloud Native Meetup Community</a>.</p>
+468
View File
@@ -0,0 +1,468 @@
#caseStudyTitle {
margin-top: 1em !important;
font-family:"Roboto", sans-serif;
}
p {
font-family:"Roboto", sans-serif;
padding:5%;
}
.header_logo {
width:10%;
margin-bottom:-0.6%;
margin-left:10px;
}
a {
text-decoration:none;
color:#3366ff;
}
body {
margin:0;
}
h1 {
font-family:"Roboto", sans-serif;
font-weight:bold;
letter-spacing:0.025em;
font-size:42px;
padding-bottom:0px;
}
.subhead {
font-size:26px;
font-weight:100;
line-height:40px;
padding-bottom:1%;
padding-top:0.5%;
}
.banner1 {
font-family:"Roboto", sans-serif;
font-weight:300;
color:#ffffff;
padding-top:12%;
padding-bottom:0.5%;
padding-left:10%;
font-size:32px;
background: url('/images/CaseStudy_huawei_banner1.jpg');
background-size:100% auto;
background-repeat:no-repeat;
}
.banner2 {
font-family:"Roboto", sans-serif;
font-weight:300;
color:#ffffff;
padding-top:4%;
padding-bottom:4%;
width:100%;
font-size:24px;
letter-spacing:0.03em;
line-height:34px;
float:left;
background-size:100% auto;
background-color:#666666;
background-repeat:repeat;
}
.banner3 {
font-family:"Roboto", sans-serif;
font-weight:300;
color:#ffffff;
padding-left:5%;
padding-right:5%;
padding-top:4%;
padding-bottom:4%;
font-size:24px;
letter-spacing:0.03em;
line-height:34px;
float:left;
background: url('/images/CaseStudy_huawei_banner3.jpg');
background-size:100% auto;
}
.banner4 {
font-family:"Roboto", sans-serif;
font-weight:300;
color:#ffffff;
padding-top:5%;
padding-bottom:5%;
font-size:24px;
letter-spacing:0.03em;
line-height:34px;
float:left;
background: url('/images/CaseStudy_huawei_banner4.jpg');
background-size:100% auto;
}
.banner5 {
font-family:"Roboto", sans-serif;
font-weight:300;
color:#ffffff;
padding-top:3%;
padding-bottom:3%;
font-size:24px;
letter-spacing:0.03em;
line-height:35px;
float:left;
background-size:100% auto;
background-color:#666666;
background-repeat:no-repeat;
}
.banner2text {
font-family:"Roboto", sans-serif;
font-weight:300;
color:#ffffff;
width:65%;
padding-left:18%;
float:left;
text-align:center;
}
.banner3text {
font-family:"Roboto", sans-serif;
font-weight:300;
color:#ffffff;
width:75%;
padding-left:13%;
text-align:center;
}
.banner4text {
font-family:"Roboto", sans-serif;
font-weight:300;
color:#ffffff;
width:65%;
padding-left:17%;
text-align:center;
}
.banner5text {
font-family:"Roboto", sans-serif;
font-weight:300;
color:#ffffff;
width:68%;
padding-left:16%;
float:left;
text-align:center;
}
h2 {
font-family:"Roboto", sans-serif;
font-weight:300;
font-size:24px;
line-height:34px;
color:#3366ff;
}
.quote {
font-family:"Roboto", sans-serif;
font-weight:300;
font-size:22px;
line-height:32px;
color:#3366ff;
}
.details {
font-family:"Roboto", sans-serif;
font-weight:300;
font-size:18px;
color:#3366ff;
letter-spacing:0.03em;
padding-bottom:1.5%;
padding-top:2%;
padding-left:10%;
}
hr {
border-bottom:0px solid;
width:100%;
opacity:0.5;
color:#aaaaaa;
height:1px;
}
.col1 {
width: 42%;
padding-right:8%;
float:left;
font-family:"Roboto", sans-serif;
font-weight:100;
color:#606060;
line-height:20px;
letter-spacing:0.03em;
font-size:14px;
}
.col2 {
width: 45%;
font-family:"Roboto", sans-serif;
font-weight:300;
float:left;
line-height:20px;
color:#606060;
letter-spacing:0.03em;
font-size:14px;
}
.fullcol {
width:77%;
margin-left:11%;
margin-right:10%;
margin-top:4%;
margin-bottom:4%;
font-family:"Roboto", sans-serif;
font-weight:300;
float:left;
line-height:22px;
color:#606060;
letter-spacing:0.03em;
font-size:14px;
}
.cols {
width:80%;
margin-left:10%;
margin-top:1%;
margin-bottom:4%;
font-family:"Roboto", sans-serif;
font-weight:300;
float:left;
}
h4 {
font-family:"Roboto", sans-serif;
font-weight:400;
letter-spacing:0.9;
font-size:20px;
padding-bottom:0px;
}
@media screen and (max-width: 910px){
h1 {
font-family:"Roboto", sans-serif;
font-weight:bold;
line-height:36px;
letter-spacing:0.03em;
font-size:30px !important;
padding-bottom:0px;
width:80%;
}
.header_logo {
width:35%;
margin-bottom:-.5%;
magin-left:10px;
}
.subhead {
font-size:18px;
font-weight:100;
line-height:27px;
}
.details {
font-family:"Roboto", sans-serif;
font-weight:300;
font-size:16px;
color:#3366ff;
letter-spacing:0.03em;
padding-bottom:2%;
line-height:28px;
padding-top:4%;
padding-left:10%;
}
.logo {
width:8%;
}
.col1 {
width: 95%;
padding-right:8%;
float:left;
font-family:"Roboto", sans-serif;
font-weight:300;
color:#606060;
line-height:20px;
letter-spacing:0.03em;
font-size:14px;
}
.col2 {
width: 95%;
padding-top:2%;
padding-bottom:5%;
font-family:"Roboto", sans-serif;
font-weight:300;
float:left;
line-height:20px;
color:#606060;
letter-spacing:0.03em;
font-size:14px;
}
.banner1 {
font-family:"Roboto", sans-serif;
font-weight:300;
color:#ffffff;
padding-top:15%;
padding-bottom:2%;
padding-left:10%;
font-size:18px;
background: url('/images/CaseStudy_huawei_banner1.jpg');
background-size:100% auto;
}
.banner2 {
font-family:"Roboto", sans-serif;
font-weight:300;
color:#ffffff;
padding-top:4%;
padding-bottom:4%;
font-size:18px;
letter-spacing:0.03em;
line-height:24px;
width:100%;
float:left;
background:none;
background-color:#666666;
}
.banner3 {
font-family:"Roboto", sans-serif;
font-weight:300;
color:#ffffff;
padding-top:5%;
padding-bottom:5%;
font-size:16px;
letter-spacing:0.03em;
line-height:23px;
width:90%;
float:left;
background: url('/images/CaseStudy_huawei_banner3.jpg');
}
.banner4 {
font-family:"Roboto", sans-serif;
font-weight:300;
color:#ffffff;
padding-top:4%;
padding-bottom:4%;
font-size:18px;
letter-spacing:0.03em;
line-height:24px;
width:100%;
float:left;
background: url('/images/CaseStudy_huawei_banner4.jpg');
}
.banner5 {
font-family:"Roboto", sans-serif;
font-weight:300;
color:#ffffff;
padding-top:4%;
padding-bottom:4%;
font-size:16px;
letter-spacing:0.03em;
line-height:23px;
width:100%;
float:left;
background:none;
background-color:#666666;
}
.banner2text {
font-family:"Roboto", sans-serif;
font-weight:300;
color:#ffffff;
width:90%;
padding-left:5%;
padding-bottom:1%;
padding-top:1%;
float:left;
text-align:center;
color:#ffffff;
}
.banner3text {
font-family:"Roboto", sans-serif;
font-weight:300;
color:#ffffff;
width:90%;
padding-left:5%;
padding-top:5%;
padding-bottom:5%;
text-align:center;
}
.banner4text {
font-family:"Roboto", sans-serif;
font-weight:300;
color:#ffffff;
width:90%;
padding-left:5%;
padding-top:3%;
padding-bottom:3%;
text-align:center;
}
.banner5text {
font-family:"Roboto", sans-serif;
font-weight:300;
color:#ffffff;
width:90%;
padding-left:5%;
padding-top:3%;
padding-bottom:3%;
text-align:center;
}
.fullcol {
margin-top:6%;
margin-bottom:8%;
}
h2 {
line-height:26px;
font-size:18px;
}
.quote {
font-size:18px;
line-height:24px;
}
.logo {
width:35%;
}
@media screen and (max-width: 580px){
.header_logo {
width:60%;
margin-bottom:1%;
margin-top:2%;
}
.banner1 {
background: url('/images/CaseStudy_blablacar_banner1_mobile.jpg');
}
+925
View File
@@ -0,0 +1,925 @@
body {
margin:0 auto;
}
.infobarWrapper a {
color:#303030;
}
#encyclopedia {
padding: 0px !important;
}
span .editthispage {
display: -webkit-inline-box !important;
}
.editthispage {
display: -webkit-inline-box !important;
}
h1 {
padding-top: 3% !important;
padding-bottom: 1.5% !important;
padding-left: 3% !important;
padding-right: 3% !important;
text-align: center !important;
font-size: 22pt !important;
font-weight:normal;
color:#303030;
}
.container {
width:80%;
}
.issue-button-container {
width: 75%;
margin-left: 15%;
padding-left: 1.5%;
padding-bottom: 2%;
}
.anchor {
display: block;
position: relative;
top: -50px;
visibility: hidden;
}
.pages a {
font-family: 'roboto';
font-size:11pt;
text-decoration:none !important;
letter-spacing:0.03em;
color:#606060;
}
.pages a:hover{
color:black;
}
.docstitle a{
font-family: 'roboto';
font-size:16pt;
margin-bottom:50px !important;
color:#3371e3 !important;
text-decoration:none !important;
}
.docstitle {
margin-bottom:10px !important;
}
.emphasize-box {
background-color: #dde1e4;
margin: 2% 10%;
padding-top: 20px;
padding-bottom: 5px;
}
.emphasize-box li {
font-size: 14px !important;
}
.browsedocs {
font-family: 'roboto' !important;
width:75%;
margin-top:2%;
margin-bottom:5%;
margin-left:15%;
line-height:2em;
}
.browsecolumn {
float:left;
width: 33%;
}
.browsesection {
float:left;
display:block;
width:100%;
margin:2%;
}
.pages {
width:100%;
color:#606060 !important;
}
.browseheader {
font-family: 'roboto';
text-align:center;
padding:1%;
color:white !important;
font-weight:100;
font-size:18px;
text-transform:uppercase;
font-weight:400;
background-color:#303030;
letter-spacing:0.08em;
background-repeat:repeat;
background-size:contain;
background-position:center;
}
.browseheader a{
color:white !important;
}
.topheader {
background-color: white !important;
color:#303030;
font-family: 'roboto';
text-align:center;
padding:3%;
font-weight:300;
font-size:24pt;
letter-spacing:0.06em;
}
.docssectionheaders {
background-color: #eeeeee !important;
color:#3371e3;
font-family: 'roboto';
text-align:center;
padding: 3%;
margin: 6% 0% 2% 0%;
font-weight:300;
font-size:18pt;
letter-spacing:0.06em;
}
.docscols {
width:100%;
float:left;
}
.section1 {
width:100%;
float:left;
}
.docscol1 {
background-color:#eeeeee;
padding:2%;
margin-right:2%;
width:28% !important;
display:inline-block;
float:left;
}
.docscol2 {
background-color:#ffffff;
border:1px solid #aaaaaa;
padding:2%;
width:27% !important;
float:left;
margin-right:2%;
display:inline-block;
}
.docscol3 {
background-color:#ffffff;
padding:1.5%;
width:27% !important;
display:inline-block;
float:right;
border:1px solid blue;
}
.docscoltitle {
float:left;
padding-top:%;
margin-right:2%;
padding-bottom:3%;
font-size:16pt;
line-height:20pt;
font-weight:400;
color:#3371e3;
}
.docsfullcol1 {
width:95%;
padding:2%;
margin:3%;
}
.docsfullcol2 {
width:95%;
padding:2%;
background-color:#eeeeee;
margin:3%;
}
.docsfullcol3 {
background-color:#ffffff;
padding:2%;
width:95%;
display:inline-block;
border:1px solid blue;
margin:3%;
}
.docsfullcol1icon {
width:5%;
padding:2%;
}
.docstitle2 {
padding:0%;
padding-bottom:3%;
font-size:16pt;
text-align:center;
font-weight:400;
padding-top:2%;
color:#3371e3;
}
.docsButton {
background-color:#3371e3;
color:white;
border: 2px solid #ffffff;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px; /* future proofing */
-khtml-border-radius: 5px; /* for old Konqueror browsers */
border: 2px solid #ffffff;
padding:1%;
text-decoration:none;
margin:%;
}
}
.material-icons {
font-size:50pt !important;
color:#3371e3;
}
.paths {
padding:1%;
background-color:#3371e3;
text-align:center;
}
.display-bar {
padding:1%;
background-color:#303030;
text-align:center;
font-size:18px;
font-family: 'roboto';
text-transform:uppercase;
text-align:center;
letter-spacing:0.1em;
color:#ffffff;
}
.cards {
padding:0% 3% 3%;
width:80%;
margin-left:10%;
background-color:#ffffff;
text-align:center;
font-family: 'roboto';
text-transform:uppercase;
text-align:center;
letter-spacing:0.1em;
}
.cards > div {
display: none;
}
button {
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px; /* future proofing */
-khtml-border-radius: 5px; /* for old Konqueror browsers */
border: 2px solid #ffffff;
padding:1%;
margin:1%;
color:#ffffff;
font-family: 'roboto';
text-transform:uppercase;
text-align:center;
letter-spacing:0.1em;
display: inline-block;
}
.navButton {
white-space:nowrap;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px; /* future proofing */
-khtml-border-radius: 5px; /* for old Konqueror browsers */
border: 2px solid #ffffff;
padding:1%;
margin:1%;
color:#3371e3;
background-color:white;
font-family: 'roboto';
text-transform:uppercase;
text-align:center;
letter-spacing:0.1em;
display: inline-block;
cursor: pointer;
}
.navButton:active {
background-color:#3371e3;
color:white;
border: 2px solid #ffffff;
}
.navButton:visited {
background-color:#3371e3;
color:white;
border: 2px solid #ffffff;
}
.navButton:focus {
background-color:#3371e3 !important</div>;
color:white;
border: 2px solid #ffffff;
}
.navButton:hover, .keepShow {
background-color:#3371e3;
color:white;
border: 2px solid #ffffff;
}
.buttons {
background-color:#3371e3;
white-space:nowrap;
cursor:pointer;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px; /* future proofing */
-khtml-border-radius: 5px; /* for old Konqueror browsers */
border: 2px solid #ffffff;
padding:2%;
margin:1%;
color:#ffffff;
font-family: 'roboto';
text-transform:uppercase;
text-align:center;
letter-spacing:0.1em;
display: inline-block;
width:250px;
vertical-align:middle;
line-height:1.3em;
}
.buttonoption1 {
background-color:#3371e3;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px; /* future proofing */
-khtml-border-radius: 5px; /* for old Konqueror browsers */
border: 2px solid #ffffff;
padding:2%;
margin:1%;
color:#ffffff;
font-family: 'roboto';
text-transform:uppercase;
text-align:center;
letter-spacing:0.1em;
display: inline-block;
width:250px;
vertical-align:middle;
}
.buttons:active .active{
background-color:white;
color:#3371e3;
border: 2px solid #3371e3;
}
.buttons:hover {
background-color:white;
color:#3371e3;
border: 2px solid #3371e3;
cursor: pointer;
}
.buttons:target {
background-color:white;
color:#3371e3;
border: 2px solid #3371e3;
}
.buttons:visited {
background-color:white;
color:#3371e3;
border: 2px solid #3371e3;
}
.buttons.selected {
background-color:white;
color:#3371e3;
border: 2px solid #3371e3;
}
/*.keepShow {
background-color:white;
color:#3371e3;
border: 2px solid white;
}*/
.level {
background-color:#ffffff;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px; /* future proofing */
-khtml-border-radius: 5px; /* for old Konqueror browsers */
border: 2px solid #303030;
padding:0%;
padding-top:3%;
margin:1%;
margin-top:4%;
color:#303030;
font-family: 'roboto';
font-weight:100;
text-transform:none;
text-align:center;
letter-spacing:0.1em;
display: inline-block;
width:250px; cursor: pointer;
cursor: pointer;
}
.level:hover, .level.selected {
background-color:#dddddd;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px; /* future proofing */
-khtml-border-radius: 5px; /* for old Konqueror browsers */
border: 2px solid #303030;
cursor: pointer;
}
.tab1text{
padding:5%;
color:#303030;
font-size:15px;
line-height:22px;
}
.tabbottom {
background-color:#303030;
color:#ffffff;;
font-family:'roboto';
width:100%;
margin:0px;
font-size:34 !important;
}
i {
font-size:44px !important;
text-align:center;
color:#000066;
}
.infobarWrapper {
visibility: hidden;
margin-bottom:5%;
}
.infobar {
padding:0%;
background-color:#3371e3;
text-align:center;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px; /* future proofing */
-khtml-border-radius: 5px; /* for old Konqueror browsers */
border: 2px solid #ffffff;
padding:2%;
font-size:22px;
line-height:30px;
letter-spacing:0.07em;
text-transform:uppercase;
margin:3%;
font-weight:bold;
color:#ffffff;
font-family: 'roboto';
width:70%;
margin-left:15%;
margin-bottom:3%;
}
.whitebar {
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px; /* future proofing */
-khtml-border-radius: 5px; /* for old Konqueror browsers */
background-color:#ffffff;
text-transform:none;
padding:3%;
letter-spacing:0.6pt;
font-size:15px;
z-index:99;
font-weight:400;
line-height:18pt;
color:#606060;
margin:1%;
text-align:left;
}
.whitebararrow{
float:right
padding:3%;
font-size:15px;
z-index:99;
font-weight:100;
line-height:18pt;
color:#606060;
margin:1%;
text-align:right;
}
.hide {
float:left;
font-size:16px;
padding-left:2%;
padding-bottom:5%;
}
.fa {
line-height:0.7em !important;
}
.infoicon {
float:left;
padding-bottom:2%;
padding-right:2%;
margin-bottom:10%:
color:#3371e3 !important;
}
.numberCircle {
display:inline-block;
line-height:0px;
border-radius:5px;
border:2px solid;
font-weight:300;
font-size:24px;
}
.numberCircle span {
display:inline-block;
padding-top:50%; padding-bottom:50%;
margin-left:12px;
margin-right:12px;
}
.docButton {
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px; /* future proofing */
-khtml-border-radius: 5px; /* for old Konqueror browsers */
border: 1.5px solid #3371e3;
padding:1%;
background-color:#eeeeee;
font-size:13px;
margin:.5%;
color:#3371e3;
font-family: 'roboto';
text-transform:uppercase;
text-align:center;
letter-spacing:0.1em;
display: inline-block;
}
.docButton:hover {
border: 1.5px solid #3371e3;
background-color:#3371e3;
font-size:13px;
color:#eeeeee;
}
.tablebar {
text-align:center;
background-color:#eeeeee;
padding:1.5%;
}
.aboutsection {
background-color:white;
font-family: 'roboto';
font-weight:300 !important;
font-size:14px;
letter-spacing:0.05em;
line-height:22px;
width:70%;
margin-left:15%;
padding-bottom:5%;
}
.aboutsection p {
font-size: 16px;
text-align:center;
font-weight:300;
line-height: 1.75em;
letter-spacing: 0.1px;
margin-bottom: 0.75em;
}
.aboutsection a {
text-decoration: underline;
color:#3371e3;
font-weight:400;
}
.aboutcolumn {
float:left;
width: 50%;
text-align: center;
}
.docsection1 {
background-color:white;
font-family: 'roboto';
padding-top:3%;
padding-left:3%;
padding-right:3%;
font-weight:300 !important;
font-size:14px;
letter-spacing:0.05em;
line-height:22px;
width:65%;
margin-left:17%;
}
.cards .docsection1 {
display: block !important;
padding: 3% 3% 1%;
text-transform: none;
}
#persona-definition {
visibility: hidden;
}
.about-k8s-content {
width: 100%;
float: right;
}
.docsection1 a {
text-decoration: underline;
}
.docsection1 p {
font-size: 16px;
font-weight:300;
line-height: 1.75em;
letter-spacing: 0.1px;
margin-bottom: 0.75em;
}
.docsection1 li {
margin-bottom: 0.75em;
margin-left: 3em;
font-size: 16px;
font-weight:300;
line-height: 1.75em;
letter-spacing: 0.1px;
}
.docsection1 ol li {
list-style: decimal;
}
.docsection1 ul li {
list-style: disc;
}
.docsection1 code {
font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;
font-size: 90%;
padding: 2px 4px;
color: #c7254e;
border-radius: 4px;
background-color: #f9f2f4;
}
.intro {
background-color:white;
font-family: 'roboto';
padding:3%;
font-weight:100;
font-size:14px;
letter-spacing:0.05em;
line-height:22px;
width:100%;
margin-left:10%;
}
.introtext {
float:right;
background-color:white;
font-family: 'roboto';
padding:3%;
font-weight:100;
font-size:14px;
letter-spacing:0.05em;
line-height:22px;
width:50%;
margin-left:10%;
}
.track {
background-color:#3371e3;
font-family: 'roboto';
padding:1%;
color:white;
font-weight:500;
text-align:center;
text-transform:uppercase;
font-size:16px;
letter-spacing:0.05em;
line-height:22px;
width:100%;
}
.sections {
background-color:#303030;
font-family: 'roboto';
padding:1%;
color:white;
font-weight:500;
text-align:center;
text-transform:uppercase;
font-size:18px;
letter-spacing:0.05em;
line-height:22px;
width:100%;
}
.quotedocs {
line-height:26pt;
font-size:16pt;
}
table {
width: 100%;
border: 1px solid #ccc;
border-spacing: 0;
margin-top: 30px;
margin-bottom: 30px;
}
thead, tr:nth-child(even) {
background-color: $light-grey;
}
thead {
background-color: #555;
color: white;
}
th, td {
padding: 8px;
text-align: left;
margin: 0;
border: 1px solid #ccc;
}
th {
font-weight: normal;
}
@media screen and (max-width: 640px) {
.browsecolumn {
width: 95%;
}
.paths {
margin-top : 10%;
padding:4%;
}
.navButton {
padding:2%;
}
.buttons {
padding:4%;
}
.whitebar {
padding:5%;
}
}
+1 -1
View File
@@ -1,4 +1,4 @@
approvers:
reviewers:
- derekwaynecarr
- mikedanese
+1 -1
View File
@@ -1,5 +1,5 @@
---
approvers:
reviewers:
- bgrant0607
- erictune
- lavalamp
+1 -1
View File
@@ -1,5 +1,5 @@
---
approvers:
reviewers:
- lavalamp
- davidopp
- derekwaynecarr
+4 -3
View File
@@ -1,5 +1,5 @@
---
approvers:
reviewers:
- erictune
- lavalamp
- ericchiang
@@ -185,7 +185,7 @@ talk to the API server. Accounts may be explicitly associated with pods using th
NOTE: `serviceAccountName` is usually omitted because this is done automatically.
```
apiVersion: apps/v1beta2
apiVersion: apps/v1 # this apiVersion is relevant as of Kubernetes 1.9
kind: Deployment
metadata:
name: nginx-deployment
@@ -650,6 +650,7 @@ apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: scopes-impersonator
rules:
# Can set "Impersonate-Extra-scopes" header.
- apiGroups: ["authentication.k8s.io"]
resources: ["userextras/scopes"]
@@ -674,7 +675,7 @@ rules:
# Can impersonate the groups "developers" and "admins"
- apiGroups: [""]
resources: ["groups"]
- verbs: ["impersonate"]
verbs: ["impersonate"]
resourceNames: ["developers","admins"]
# Can impersonate the extras field "scopes" with the values "view" and "development"
+1 -1
View File
@@ -1,5 +1,5 @@
---
approvers:
reviewers:
- erictune
- lavalamp
- deads2k
+1 -1
View File
@@ -1,5 +1,5 @@
---
approvers:
reviewers:
- erictune
- lavalamp
- deads2k
+1 -1
View File
@@ -1,5 +1,5 @@
---
approvers:
reviewers:
- timstclair
- deads2k
- liggitt
+10 -9
View File
@@ -1,5 +1,5 @@
---
approvers:
reviewers:
- erictune
- deads2k
- liggitt
@@ -138,7 +138,7 @@ subjects:
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: ClusterRole
 name: secret-reader
name: secret-reader
apiGroup: rbac.authorization.k8s.io
```
@@ -188,7 +188,7 @@ rules:
Notably, if `resourceNames` are set, then the verb must not be list, watch, create, or deletecollection.
Because resource names are not present in the URL for create, list, watch, and deletecollection API requests,
those verbs would not be allowed by a rule with resourceNames set, since the resourceNames portion of the
those verbs would not be allowed by a rule with `resourceNames` set, since the `resourceNames` portion of the
rule would not match the request.
### Aggregated ClusterRoles
@@ -763,7 +763,7 @@ In order from most secure to least secure, the approaches are:
If an application does not specify a `serviceAccountName`, it uses the "default" service account.
NOTE: Permissions given to the "default" service account are available to any pod in the namespace that does not specify a `serviceAccountName`.
**NOTE:** Permissions given to the "default" service account are available to any pod in the namespace that does not specify a `serviceAccountName`.
For example, grant read-only permission within "my-namespace" to the "default" service account:
@@ -777,7 +777,7 @@ In order from most secure to least secure, the approaches are:
Many [add-ons](/docs/concepts/cluster-administration/addons/) currently run as the "default" service account in the "kube-system" namespace.
To allow those add-ons to run with super-user access, grant cluster-admin permissions to the "default" service account in the "kube-system" namespace.
NOTE: Enabling this means the "kube-system" namespace contains secrets that grant super-user access to the API.
**NOTE:** Enabling this means the "kube-system" namespace contains secrets that grant super-user access to the API.
```shell
kubectl create clusterrolebinding add-on-cluster-admin \
@@ -790,7 +790,7 @@ In order from most secure to least secure, the approaches are:
If you want all applications in a namespace to have a role, no matter what service account they use,
you can grant a role to the service account group for that namespace.
For example, grant read-only permission within "my-namespace" to to all service accounts in that namespace:
For example, grant read-only permission within "my-namespace" to all service accounts in that namespace:
```shell
kubectl create rolebinding serviceaccounts-view \
@@ -815,7 +815,7 @@ In order from most secure to least secure, the approaches are:
If you don't care about partitioning permissions at all, you can grant super-user access to all service accounts.
WARNING: This allows any user with read access to secrets or the ability to create a pod to access super-user credentials.
**WARNING:** This allows any user with read access to secrets or the ability to create a pod to access super-user credentials.
```shell
kubectl create clusterrolebinding serviceaccounts-cluster-admin \
@@ -856,10 +856,11 @@ in the server logs, you can remove the ABAC authorizer.
You can replicate a permissive policy using RBAC role bindings.
**WARNING: The following policy allows ALL service accounts to act as cluster administrators.
**WARNING:** The following policy allows **ALL** service accounts to act as cluster administrators.
Any application running in a container receives service account credentials automatically,
and could perform any action against the API, including viewing secrets and modifying permissions.
This is not a recommended policy.**
This is not a recommended policy.
{: .warning}
```
kubectl create clusterrolebinding permissive-binding \
+1 -1
View File
@@ -1,5 +1,5 @@
---
approvers:
reviewers:
- erictune
- lavalamp
- deads2k
+3 -3
View File
@@ -1,5 +1,5 @@
---
approvers:
reviewers:
- jbeda
title: Authenticating with Bootstrap Tokens
---
@@ -93,8 +93,8 @@ stringData:
expiration: 2017-03-10T03:22:11Z
# Allowed usages.
usage-bootstrap-authentication: true
usage-bootstrap-signing: true
usage-bootstrap-authentication: "true"
usage-bootstrap-signing: "true"
# Extra groups to authenticate the token as. Must start with "system:bootstrappers:"
auth-extra-groups: system:bootstrappers:worker,system:bootstrappers:ingress
+1 -1
View File
@@ -1,5 +1,5 @@
---
approvers:
reviewers:
- davidopp
- lavalamp
title: Building Large Clusters
@@ -1,5 +1,5 @@
---
approvers:
reviewers:
- smarterclayton
- lavalamp
- whitlockjc
+1 -1
View File
@@ -1,4 +1,4 @@
approvers:
reviewers:
- madhusudancs
- mml
- nikhiljindal

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