` is the version number and date of creation for a backup of Rancher.
Cross reference the image and reference table below to learn how to obtain this placeholder data. Write down or copy this information before starting the [procedure below](#completing-the-upgrade).
diff --git a/content/rancher/v2.x/en/user-settings/api-keys/_index.md b/content/rancher/v2.x/en/user-settings/api-keys/_index.md
index 6dbee301376..c83e9b70a44 100644
--- a/content/rancher/v2.x/en/user-settings/api-keys/_index.md
+++ b/content/rancher/v2.x/en/user-settings/api-keys/_index.md
@@ -25,9 +25,11 @@ API Keys are composed of four components:
2. Click **Add Key**.
-3. **Optional:** Enter a description for the API key and select an expiration period. We recommend setting an expiration date.
+3. **Optional:** Enter a description for the API key and select an expiration period or a scope. We recommend setting an expiration date.
The API key won't be valid after expiration. Shorter expiration periods are more secure.
+
+ A scope will limit the API key so that it will only work against the Kubernetes API of the specified cluster. If the cluster is configured with an Authroized Cluster Endpoint, you will be able to use a scoped token directly against the cluster's API without proxying through the Rancher server. See [Authorized Cluster Endpoints]({{< baseurl >}}/v2.x/en/cluster-provisioning/rke-clusters/options/#authorized-cluster-endpoint) for more information.
4. Click **Create**.
diff --git a/content/rancher/v2.x/en/v1.6-migration/schedule-workloads/_index.md b/content/rancher/v2.x/en/v1.6-migration/schedule-workloads/_index.md
index 826dd06bfee..67747de53c0 100644
--- a/content/rancher/v2.x/en/v1.6-migration/schedule-workloads/_index.md
+++ b/content/rancher/v2.x/en/v1.6-migration/schedule-workloads/_index.md
@@ -183,7 +183,7 @@ Rancher v1.6 included the ability to deploy [global services]({{< baseurl >}}/ra
In Rancher v2.x, you can schedule a pod to each node using a [Kubernetes DaemonSet](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/), which is a specific type of workload ). A _DaemonSet_ functions exactly like a Rancher v1.6 global service. The Kubernetes scheduler deploys a pod on each node of the cluster, and as new nodes are added, the scheduler will start new pods on them provided they match the scheduling requirements of the workload. Additionally, in v2.x, you can also limit a DaemonSet to be deployed to nodes that have a specific label.
-To create a daemonset while configuring a workload, choose **Run one pod on each node** from the the **Workload Type** options.
+To create a daemonset while configuring a workload, choose **Run one pod on each node** from the **Workload Type** options.
### Scheduling Pods Using Resource Constraints
diff --git a/content/rke/latest/en/cert-mgmt/_index.md b/content/rke/latest/en/cert-mgmt/_index.md
index 765826121bc..5d202d6bbdc 100644
--- a/content/rke/latest/en/cert-mgmt/_index.md
+++ b/content/rke/latest/en/cert-mgmt/_index.md
@@ -80,7 +80,7 @@ INFO[0033] [worker] Successfully restarted Worker Plane..
### Rotating the CA and all service certificates
-If the CA certificate needs to be rotated, you are required to rotate all the services certificates as they need to be signed with the newly rotated CA certificate. To include rotating the CA with the service certificates, add the `--rotate-ca` option. After the the CA and all the service certificates are rotated, these services will automatically be restarted to start using the new certificate.
+If the CA certificate needs to be rotated, you are required to rotate all the services certificates as they need to be signed with the newly rotated CA certificate. To include rotating the CA with the service certificates, add the `--rotate-ca` option. After the CA and all the service certificates are rotated, these services will automatically be restarted to start using the new certificate.
Rotating the CA certificate will result in restarting other system pods, that will also use the new CA certificate. This includes:
diff --git a/content/rke/latest/en/config-options/_index.md b/content/rke/latest/en/config-options/_index.md
index e47133db2c7..0df26d39165 100644
--- a/content/rke/latest/en/config-options/_index.md
+++ b/content/rke/latest/en/config-options/_index.md
@@ -122,5 +122,3 @@ $ echo $SSH_AUTH_SOCK
### Add-ons Job Timeout
You can define [add-ons]({{< baseurl >}}/rke/latest/en/config-options/add-ons/) to be deployed after the Kubernetes cluster comes up, which uses Kubernetes [jobs](https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/). RKE will stop attempting to retrieve the job status after the timeout, which is in seconds. The default timeout value is `30` seconds.
-
-```yaml
diff --git a/content/rke/latest/en/config-options/add-ons/_index.md b/content/rke/latest/en/config-options/add-ons/_index.md
index b15e5346947..8a659431c83 100644
--- a/content/rke/latest/en/config-options/add-ons/_index.md
+++ b/content/rke/latest/en/config-options/add-ons/_index.md
@@ -18,7 +18,7 @@ RKE only adds additional add-ons when using `rke up` multiple times. RKE does **
As of v0.1.8, RKE will update an add-on if it is the same name.
-Prior to v0.1.8, update any add-ons by by using `kubectl edit`.
+Prior to v0.1.8, update any add-ons by using `kubectl edit`.
## Critical and Non-Critical Add-ons
diff --git a/content/rke/latest/en/config-options/add-ons/user-defined-add-ons/_index.md b/content/rke/latest/en/config-options/add-ons/user-defined-add-ons/_index.md
index 6a03f9f418d..3f2dd072f91 100644
--- a/content/rke/latest/en/config-options/add-ons/user-defined-add-ons/_index.md
+++ b/content/rke/latest/en/config-options/add-ons/user-defined-add-ons/_index.md
@@ -18,7 +18,7 @@ RKE only adds additional add-ons when using `rke up` multiple times. RKE does **
As of v0.1.8, RKE will update an add-on if it is the same name.
-Prior to v0.1.8, update any add-ons by by using `kubectl edit`.
+Prior to v0.1.8, update any add-ons by using `kubectl edit`.
## In-line Add-ons
diff --git a/content/rke/latest/en/etcd-snapshots/_index.md b/content/rke/latest/en/etcd-snapshots/_index.md
index f17de91087c..b691f0e8f11 100644
--- a/content/rke/latest/en/etcd-snapshots/_index.md
+++ b/content/rke/latest/en/etcd-snapshots/_index.md
@@ -158,14 +158,18 @@ $ rke etcd snapshot-restore --config cluster.yml --name mysnapshot
_Available as of v0.2.0_
+> **Note:** Ensure your `cluster.rkestate` is present before starting the restore, as this contains your certificate data for the cluster
+
When restoring etcd from a snapshot located in S3, the command needs the S3 information in order to connect to the S3 backend and retrieve the snapshot.
-```
+```shell
$ rke etcd snapshot-restore --config cluster.yml --name snapshot-name \
--s3 --access-key S3_ACCESS_KEY --secret-key S3_SECRET_KEY \
--bucket-name s3-bucket-name --s3-endpoint s3.amazonaws.com
```
-## Example
+> **Note:** if you were restoring a cluster that had rancher installed the UI should start-up after a few minutes; you don't need to re-run helm.
+
+### Example Scenario of restoring from a Local Snapshot
In this example, the Kubernetes cluster was deployed on two AWS nodes.
@@ -185,7 +189,7 @@ $ rke etcd snapshot-save --name snapshot.db --config cluster.yml

-### Store the Snapshot Externally to S3
+### Store the Snapshot Externally in S3
As of v0.2.0, this step is no longer required, as RKE can upload and download snapshots automatically from S3 by adding in [S3 options](#options-for-rke-etcd-snapshot-save) when running the `rke etcd snapshot-save` command.
@@ -253,7 +257,7 @@ nodes:
After the new node is added to the `cluster.yml`, run `rke etcd snapshot-restore` to launch `etcd` from the backup. The snapshot and `pki.bundle.tar.gz` file are expected to be saved at `/opt/rke/etcd-snapshots`.
As of v0.2.0, if you want to directly retrieve the snapshot from S3, add in the [S3 options](#options-for-rke-etcd-snapshot-restore).
-> **Note:** As of v0.2.0, the file **pki.bundle.tar.gz** is no longer required for the restore process.
+> **Note:** As of v0.2.0, the file **pki.bundle.tar.gz** is no longer required for the restore process as the certificates required to restore are preserved within the `cluster.rkestate`
```
$ rke etcd snapshot-restore --name snapshot.db --config cluster.yml
@@ -294,3 +298,6 @@ docker container inspect rke-bundle-cert
```
The important thing to note is the mounts of the container and location of the **pki.bundle.tar.gz**.
+
+
+
diff --git a/content/rke/latest/en/os/_index.md b/content/rke/latest/en/os/_index.md
index 56df0dea9c6..44c16a28a2c 100644
--- a/content/rke/latest/en/os/_index.md
+++ b/content/rke/latest/en/os/_index.md
@@ -99,7 +99,7 @@ rpm -q docker-ce
When using the upstream Docker packages, please follow [Manage Docker as a non-root user](https://docs.docker.com/install/linux/linux-postinstall/#manage-docker-as-a-non-root-user).
#### Using RHEL/CentOS packaged Docker
-If you are using the Docker Docker package supplied by Red Hat / CentOS, the package name is `docker`. You can check the installed package by executing:
+If you are using the Docker package supplied by Red Hat / CentOS, the package name is `docker`. You can check the installed package by executing:
```
rpm -q docker
diff --git a/layouts/shortcodes/ports-custom-nodes.html b/layouts/shortcodes/ports-custom-nodes.html
index 9b9f06e10d8..4edf822d2f6 100644
--- a/layouts/shortcodes/ports-custom-nodes.html
+++ b/layouts/shortcodes/ports-custom-nodes.html
@@ -21,8 +21,8 @@
git.rancher.io (2): 35.160.43.145:32 35.167.242.46:32 52.33.59.17:32 |
- | etcd Plane Nodes |
- 443 TCP (3) |
+ etcd Plane Nodes |
+ 443 TCP (3) |
2379 TCP |
|
|
@@ -45,6 +45,10 @@
8472 UDP |
|
+
+ | 4789 UDP (7) |
+ |
+
| 9099 TCP (4) |
|
@@ -52,8 +56,8 @@
|
- | Control Plane Nodes |
- 443 TCP (3) |
+ Control Plane Nodes |
+ 443 TCP (3) |
2379 TCP |
|
|
@@ -76,6 +80,10 @@
8472 UDP |
|
+
+ | 4789 UDP (7) |
+ |
+
| 10250 TCP |
|
@@ -93,8 +101,8 @@
|
- | Worker Plane Nodes |
- 443 TCP (3) |
+ Worker Plane Nodes |
+ 443 TCP (3) |
|
6443 TCP |
|
@@ -105,6 +113,10 @@
8472 UDP |
|
+
+ | 4789 UDP (7) |
+ |
+
|
|
@@ -175,7 +187,7 @@
|
- Notes:
1. Nodes running standalone server or Rancher HA deployment. 2. Required to fetch Rancher chart library. 3. Only without external load balancer. 4. Local traffic to the node itself (not across nodes). 5. Load balancer / proxy that handles tragging to the Rancher UI / API. 6. Only if SSL is not terminated at external load balancer. |
+ Notes:
1. Nodes running standalone server or Rancher HA deployment. 2. Required to fetch Rancher chart library. 3. Only without external load balancer. 4. Local traffic to the node itself (not across nodes). 5. Load balancer / proxy that handles tragging to the Rancher UI / API. 6. Only if SSL is not terminated at external load balancer. 7. Only if using Overlay mode on Windows cluster. |
\ No newline at end of file
diff --git a/layouts/shortcodes/requirements_ports_rke.html b/layouts/shortcodes/requirements_ports_rke.html
index c972bed77d2..1d5dfdbbb93 100644
--- a/layouts/shortcodes/requirements_ports_rke.html
+++ b/layouts/shortcodes/requirements_ports_rke.html
@@ -213,7 +213,29 @@
Port |
Source |
Description |
-
+
+
+ | TCP |
+ 22 |
+
+
+ - Linux worker nodes only
+ - Any network that you want to be able to remotely access this node from.
+
+ |
+ Remote access over SSH |
+
+
+ | TCP |
+ 3389 |
+
+
+ - Windows worker nodes only
+ - Any network that you want to be able to remotely access this node from.
+
+ |
+ Remote access over RDP |
+
| TCP |
80 |
diff --git a/scripts/dev-windows.ps1 b/scripts/dev-windows.ps1
new file mode 100755
index 00000000000..72350371c7e
--- /dev/null
+++ b/scripts/dev-windows.ps1
@@ -0,0 +1,74 @@
+#Requires -Version 5.0
+
+param (
+ [parameter(Mandatory = $false,HelpMessage="Build the build & dev images instead of pulling from the registry")] [switch]$buildBuild,
+ [parameter(Mandatory = $false,HelpMessage="Build the dev image instead of pulling from the registry")] [switch]$buildDev,
+ [parameter(Mandatory = $false,HelpMessage="Port to listen on")] [string]$port,
+ [parameter(Mandatory = $false,HelpMessage="Skip pulling build/dev images")] [switch]$skipPull,
+ [parameter(Mandatory = $false,HelpMessage="Use DIR to for the theme, to devlop the theme at the same time")] [string]$theme,
+ [parameter(Mandatory = $false,HelpMessage="Upload/push the build image after building")] [switch]$upload
+)
+
+$DefaultPort = 9001
+$ListenPort = $DefaultPort
+$Image = "rancher/docs"
+$Tag = "dev"
+$twitterConsumer = $env:TWITTER_CONSUMER
+$twitterSecret = $env:TWITTER_SECRET
+
+$dirPath = Split-Path -Parent $MyInvocation.MyCommand.Definition
+$baseDirPath = Get-Location
+if ($dirPath -eq $baseDirPath) {
+ $baseDirPath = (Resolve-Path "$dirPath\..").Path
+}
+pushd $baseDirPath
+
+if ($port) {
+ $ListenPort = $port
+}
+
+$ThemeVolume = ""
+if ($theme) {
+ Write-Host "Using theme from $theme"
+ $ThemeVolume = "-v ${baseDirPath}/${theme}:/run/node_modules/rancher-website-theme"
+}
+
+if ($buildBuild) {
+ Write-Host "Building ${Image}:build"
+ docker build --no-cache -f Dockerfile.build --build-arg TWITTER_CONSUMER=$twitterConsumer --build-arg TWITTER_SECRET=$twitterSecret -t ${Image}:build .
+ if ($upload) {
+ docker push ${Image}:build
+ }
+ $buildDev = $true
+} elseif ($skipPull) {
+ Write-Host "Skipping pull of ${Image}:build"
+} else {
+ Write-Host "Pulling ${Image}:build"
+ docker pull ${Image}:build
+}
+
+if ($buildDev) {
+ $Tag = "local"
+ Write-Host "Building ${Image}:${Tag}"
+ docker build -f Dockerfile.dev -t ${Image}:${Tag} .
+} elseif ($skipPull) {
+ Write-Host "Skipping pull of ${Image}:${Tag}"
+} else {
+ Write-Host "Pulling ${Image}:${Tag}"
+ docker pull ${Image}:${Tag}
+}
+
+Write-Host "Starting server on http://localhost:${ListenPORT}"
+docker run --rm -p ${ListenPort}:${ListenPort} -it `
+ -v ${baseDirPath}/archetypes:/run/archetypes `
+ -v ${baseDirPath}/assets:/run/assets `
+ -v ${baseDirPath}/content:/run/content `
+ -v ${baseDirPath}/data:/run/data `
+ -v ${baseDirPath}/layouts:/run/layouts `
+ -v ${baseDirPath}/scripts:/run/scripts `
+ -v ${baseDirPath}/static:/run/static `
+ -v ${baseDirPath}/.git:/run/.git `
+ -v ${baseDirPath}/config.toml:/run/config.toml `
+ ${ThemeVolume} ${Image}:${Tag} --port=${ListenPort}
+
+popd
diff --git a/static/img/rancher/enable-windows-support.png b/static/img/rancher/enable-windows-support.png
deleted file mode 100644
index d7ed2d07a31..00000000000
Binary files a/static/img/rancher/enable-windows-support.png and /dev/null differ
diff --git a/static/img/rancher/flannel.png b/static/img/rancher/flannel.png
deleted file mode 100644
index e53612209ad..00000000000
Binary files a/static/img/rancher/flannel.png and /dev/null differ
diff --git a/static/img/rancher/linux-control-plane.png b/static/img/rancher/linux-control-plane.png
deleted file mode 100644
index f054ae144da..00000000000
Binary files a/static/img/rancher/linux-control-plane.png and /dev/null differ