Add basic website (#437)
* Add Netlify configuration and website Makefile Signed-off-by: lucperkins <lucperkins@gmail.com> * Add .editorconfig file for IDE configs Signed-off-by: lucperkins <lucperkins@gmail.com> * Add empty content folder to satisfy Hugo requirement Signed-off-by: lucperkins <lucperkins@gmail.com> * Add basic Hugo site config Signed-off-by: lucperkins <lucperkins@gmail.com> * Add initial layout scaffolding Signed-off-by: lucperkins <lucperkins@gmail.com> * Add initial npm assets, yarn.lock, and .gitignore file to ignore node_modules/ Signed-off-by: lucperkins <lucperkins@gmail.com> * Add initial site implementation * Revert Hugo version to 0.50 Signed-off-by: lucperkins <lucperkins@gmail.com> * Change publish directory to website/public Signed-off-by: lucperkins <lucperkins@gmail.com> * Add basic site metadata in partial Signed-off-by: Luc Perkins <lucperkins@gmail.com> * Widen main logo on mobile Signed-off-by: Luc Perkins <lucperkins@gmail.com> * Add favicon link to CSS partial Signed-off-by: Luc Perkins <lucperkins@gmail.com> * Synchronize main color with logos Signed-off-by: Luc Perkins <lucperkins@gmail.com> * Add basic Providers and How it Works sections to home page Signed-off-by: lucperkins <lucperkins@gmail.com> * Combine basics and providers sections into one Signed-off-by: lucperkins <lucperkins@gmail.com> * Add favicon link to site config Signed-off-by: lucperkins <lucperkins@gmail.com> * Add navbar fade in and out effect Signed-off-by: lucperkins <lucperkins@gmail.com> * Add Slack button Signed-off-by: lucperkins <lucperkins@gmail.com> * Add GitHub stars/watcher info Signed-off-by: lucperkins <lucperkins@gmail.com> * Add documentation layout Signed-off-by: lucperkins <lucperkins@gmail.com> * Add debugging and contributing links Signed-off-by: lucperkins <lucperkins@gmail.com> * Add docs button in main hero Signed-off-by: lucperkins <lucperkins@gmail.com> * Fix footer layout issue Signed-off-by: lucperkins <lucperkins@gmail.com> * Change docs header aesthetic Signed-off-by: lucperkins <lucperkins@gmail.com> * Change syntax highlighting theme to fruity Signed-off-by: lucperkins <lucperkins@gmail.com> * More adjustments to sidebar Signed-off-by: lucperkins <lucperkins@gmail.com> * Add TOC panel for docs Signed-off-by: lucperkins <lucperkins@gmail.com> * Adjust the padding on section elements Signed-off-by: lucperkins <lucperkins@gmail.com> * Remove stickiness on main docs header Signed-off-by: lucperkins <lucperkins@gmail.com> * Add basic architecture doc Signed-off-by: lucperkins <lucperkins@gmail.com> * Remove 'coming soon' banner Signed-off-by: lucperkins <lucperkins@gmail.com> * Add AnchorJS support for docs pages Signed-off-by: lucperkins <lucperkins@gmail.com>
This commit is contained in:
committed by
Robbie Zhang
parent
966f7a807b
commit
b44072588b
15
website/content/docs/_index.md
Normal file
15
website/content/docs/_index.md
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Overview
|
||||
description: The basics of Virtual Kubelet
|
||||
weight: 1
|
||||
---
|
||||
|
||||
**Virtual Kubelet** is an implementation of the Kubernetes [kubelet](https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/) that masquerades as a kubelet for the purpose of connecting a Kubernetes cluster to other APIs. This allows Kubernetes [Nodes](https://kubernetes.io/docs/concepts/architecture/nodes/) to be backed by other services, such as serverless container platforms.
|
||||
|
||||
## Providers
|
||||
|
||||
Virtual Kubelet supports a variety of providers:
|
||||
|
||||
{{< providers >}}
|
||||
|
||||
You can also [add your own provider](providers#adding).
|
||||
19
website/content/docs/architecture.md
Normal file
19
website/content/docs/architecture.md
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Architecture
|
||||
description: How Virtual Kubelet works
|
||||
weight: 3
|
||||
---
|
||||
|
||||
This document provides a high-level overview of how Virtual Kubelet works. It begins by explaining how normal---i.e. non-virtual---[kubelets work](#kubelets) and then [explains Virtual Kubelet](#virtual-kubelet) by way of contrast.
|
||||
|
||||
## How kubelets usually work {#kubelets}
|
||||
|
||||
Ordinarily, Kubernetes [kubelets](https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/) implement Pod and container operations for each Kubernetes Node. They run as an agent on each Node, whether that Node is a physical server or a virtual machine, and handles Pod/container operations on that Node. kubelets take a configuration called a **PodSpec** as input and work to ensure that containers specified in the PodSpec are running and healthy.
|
||||
|
||||
## How Virtual Kubelet works {#virtual-kubelet}
|
||||
|
||||
From the standpoint of the Kubernetes API server, Virtual Kubelets *seem* like normal kubelets, but with the crucial difference that they scheduler containers elsewhere, for example in a cloud serverless API, and not on the Node.
|
||||
|
||||
[Figure 1](#figure-1) below shows a Kubernetes cluster with a series of standard kubelets and one Virtual Kubelet:
|
||||
|
||||
{{< svg src="img/diagram.svg" caption="Standard vs. Virtual Kubelets" >}}
|
||||
39
website/content/docs/providers.md
Normal file
39
website/content/docs/providers.md
Normal file
@@ -0,0 +1,39 @@
|
||||
---
|
||||
title: Providers
|
||||
description: Extend the Virtual Kubelet interface
|
||||
weight: 2
|
||||
---
|
||||
|
||||
The Virtual Kubelet provides a pluggable **provider interface** that developers can implement to define the actions of a typical kubelet.
|
||||
|
||||
This enables on-demand and nearly instantaneous container compute, orchestrated by Kubernetes, without needing to manage VM infrastructure.
|
||||
|
||||
Each provider may have its own configuration file and required environment variables.
|
||||
|
||||
### Provider interface
|
||||
|
||||
Virtual Kubelet providers must provide the following functionality to be considered a fully compliant integration:
|
||||
|
||||
1. Provide the back-end plumbing necessary to support the lifecycle management of Pods, containers, and supporting resources in the context of Kubernetes.
|
||||
2. Conform to the current API provided by Virtual Kubelet.
|
||||
3. Restrict all access to the [Kubernetes API Server](https://kubernetes.io/docs/concepts/overview/kubernetes-api/) and provide a well-defined callback mechanism for retrieving data like [Secrets](https://kubernetes.io/docs/concepts/configuration/secret/) or [ConfigMaps](https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/).
|
||||
|
||||
### Current providers
|
||||
|
||||
Virtual Kubelet currently has a wide variety of providers:
|
||||
|
||||
{{< providers >}}
|
||||
|
||||
## Adding new providers {#adding}
|
||||
|
||||
To add a new Virtual Kubelet provider, create a new directory for your provider in the [`providers`](https://github.com/virtual-kubelet/virtual-kubelet/tree/master/providers) directory.
|
||||
|
||||
```shell
|
||||
git clone https://github.com/virtual-kubelet/virtual-kubelet
|
||||
cd virtual-kubelet
|
||||
mkdir providers/my-provider
|
||||
```
|
||||
|
||||
In that created directory, implement the [`Provider`](https://godoc.org/github.com/virtual-kubelet/virtual-kubelet/providers#Provider) interface in [Go](https://golang.org).
|
||||
|
||||
For a basic example, see the [Virtual Kubelet CRI Provider](https://github.com/virtual-kubelet/virtual-kubelet/tree/master/providers/cri).
|
||||
Reference in New Issue
Block a user