Add 4.0 document

This commit is contained in:
Tomofumi Hayashi 2022-06-21 00:12:46 +09:00
parent 3cda380ad1
commit 9d67fbd520
6 changed files with 62 additions and 26 deletions

View File

@ -1,26 +1,8 @@
name: Image build
on: [pull_request]
jobs:
ep-build-amd64:
name: Image build/amd64 LEGACY entrypoint
runs-on: ubuntu-latest
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Build container image
uses: docker/build-push-action@v2
with:
context: .
push: false
tags: ghcr.io/${{ github.repository }}:ep-latest-amd64
file: images/Dockerfile
build-amd64:
name: Image build/amd64 daemonized alternative
name: Image build/amd64 thin plugin
runs-on: ubuntu-latest
steps:
- name: Check out code into the Go module directory
@ -35,6 +17,24 @@ jobs:
context: .
push: false
tags: ghcr.io/${{ github.repository }}:latest-amd64
file: images/Dockerfile
build-amd64-thick:
name: Image build/amd64 thick plugin
runs-on: ubuntu-latest
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Build container image
uses: docker/build-push-action@v2
with:
context: .
push: false
tags: ghcr.io/${{ github.repository }}:latest-amd64-thick
file: images/Dockerfile.thick
build-arm64:

View File

@ -26,13 +26,26 @@ The quickstart installation method for Multus requires that you have first insta
Clone this GitHub repository, we'll apply a daemonset which installs Multus using to `kubectl` from this repo. From the root directory of the clone, apply the daemonset YAML file:
For thin-plugin (i.e. standalone implementation) case:
```
cat ./deployments/multus-daemonset-thick-plugin.yml | kubectl apply -f -
cat ./deployments/multus-daemonset.yml | kubectl apply -f -
```
For [thick-plugin](docks/thick-plugin.md) (i.e. client/server implementation) case:
```
cat ./deployments/multus-daemonset-thick.yml | kubectl apply -f -
```
This will configure your systems to be ready to use Multus CNI, but, to get started with adding additional interfaces to your pods, refer to our complete [quick-start guide](docs/quickstart.md)
## Additional installation Options
## Thin Plugin v.s Thick Plugin
In multus 4.0 release, we introduces new deployment, client/server style plugin deployment. We call it ['thick plugin'](docs/thick-plugin.md), compared to previous usual deployment (we call it 'thin plugin'). Thick pluign consists with two binary, multus-daemon and multus-shim CNI plugin. 'multus-daemon' will be deployed to all nodes as server. Thick plugin supports additional features, such as metrics, which cannot be supported in 'thin plugin' deployment. On the other side, 'thick plugin' consumes more resources than 'thin plugin', hence you need to think about its trade-off and decide the deployment.
## Additional Installation Options
- Install via daemonset using the quick-start guide, above.
- Download binaries from [release page](https://github.com/k8snetworkplumbingwg/multus-cni/releases)
@ -43,8 +56,10 @@ This will configure your systems to be ready to use Multus CNI, but, to get star
## Comprehensive Documentation
- [How to use](docs/how-to-use.md)
- [Quick Start Guide](docs/quickstart.md)
- [Configuration](docs/configuration.md)
- [Development](docs/development.md)
- [Development and Support Information](docs/development.md)
- [Thick Plugin](docs/thick-plugin.md)
## Contact Us

View File

@ -1,4 +1,9 @@
## Development Information
## Development/Support Information
## Which Kubernetes version is supported in multus?
Currently multus team supports Kubernetes that Kubernetes community maintains.
See [Version Skew Policy](https://kubernetes.io/releases/version-skew-policy/) for the details.
## How to utilize multus-cni code as library?
@ -9,7 +14,6 @@ You can use following command to import our code into your go code.
go get gopkg.in/k8snetworkplumbingwg/multus-cni.v3
```
## How do I submit an issue?
Use GitHub as normally, you'll be presented with an option to submit a issue or enhancement request.

View File

@ -21,7 +21,11 @@ You may acquire the Multus binary via compilation (see the [developer guide](dev
As a [quickstart](quickstart.md), you may apply these YAML files (included in the clone of this repository). Run this command (typically you would run this on the master, or wherever you have access to the `kubectl` command to manage your cluster).
cat ./deployments/multus-daemonset.yml | kubectl apply -f -
cat ./deployments/multus-daemonset.yml | kubectl apply -f - # thin deployment
or
cat ./deployments/multus-daemonset-thick.yml | kubectl apply -f - # thick (client/server) deployment
If you need more comprehensive detail, continue along with this guide, otherwise, you may wish to either [follow the quickstart guide]() or skip to the ['Create network attachment definition'](#create-network-attachment-definition) section.

View File

@ -50,8 +50,16 @@ git clone https://github.com/k8snetworkplumbingwg/multus-cni.git && cd multus-cn
We'll apply a YAML file with `kubectl` from this repo.
For thin-plugin (i.e. standalone implementation) case:
```
cat ./deployments/multus-daemonset-thick-plugin.yml | kubectl apply -f -
cat ./deployments/multus-daemonset.yml | kubectl apply -f -
```
For [thick-plugin](docks/thick-plugin.md) (i.e. client/server implementation) case:
```
cat ./deployments/multus-daemonset-thick.yml | kubectl apply -f -
```
### What the Multus daemonset does

View File

@ -1,5 +1,10 @@
#!/bin/bash
# multus thin plugin install shell script
#
# note: this script is designed for quick-install or just 'tasting multus' in your test environment.
# hence it does not cover advanced Kubernetes cluster operation (update, uninstall and so on).
# Always exit on errors.
set -e