diff --git a/content/rancher/v2.x/en/installation/_index.md b/content/rancher/v2.x/en/installation/_index.md
index f7eb0386e5a..abc7e842571 100644
--- a/content/rancher/v2.x/en/installation/_index.md
+++ b/content/rancher/v2.x/en/installation/_index.md
@@ -12,7 +12,7 @@ This section contains instructions for installing Rancher in development and pro
a. [Single-Node Rancher Server Installation]({{< baseurl >}}/rancher/v2.x/en/installation/server-installation/single-node-install): In this simple install scenario, you install Rancher on a single Linux host.
- b. [High-Availablity Rancher Server Installation]({{< baseurl >}}/rancher/v2.x/en/installation/server-installation/ha-server-install/): In this scenario, you install multiple Rancher Servers so that Rancher is always available, even when one of your Rancher Servers is down.
+ b. [High-Availablity Rancher Server Installation]({{< baseurl >}}/rancher/v2.x/en/installation/server-installation/ha-server-install/): This install scenario creates a new Kubernetes cluster dedicated to running Rancher Server in a high-availabilty (HA) configuration.
c. [Air Gap Installation]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-installation/): We also have instructions for a more specialized use case where you install Rancher Server in an environment without an Internet connection.
diff --git a/content/rancher/v2.x/en/installation/server-installation/ha-server-install/_index.md b/content/rancher/v2.x/en/installation/server-installation/ha-server-install/_index.md
index 9d13042884e..dbd30115942 100644
--- a/content/rancher/v2.x/en/installation/server-installation/ha-server-install/_index.md
+++ b/content/rancher/v2.x/en/installation/server-installation/ha-server-install/_index.md
@@ -4,9 +4,7 @@ weight: 275
---
# High Availability Rancher Server Install
-You have the option of installing Rancher Server in a High-Availability (HA) configuration. This configuration sets up 3-node Kubernetes cluster with Rancher Server instances.
-
-Install Rancher in an HA configuration using the Rancher Kubernetes Engine (RKE). RKE is Rancher's own fast and light-weight Kubernetes installer. Use RKE to set up a new cluster that deploys Rancher as an addon.
+This set of instructions creates a new Kubernetes cluster dedicated to running Rancher Server in a high-availabilty (HA) configuration. This procedure walks you through setting up a 3-node cluster using the Rancher Kubernetes Engine (RKE). The cluster's sole purpose is running pods for Rancher Server.
## Objectives
diff --git a/layouts/shortcodes/requirements_hardware.html b/layouts/shortcodes/requirements_hardware.html
index 5ea4f6ef049..7c7023df8e3 100644
--- a/layouts/shortcodes/requirements_hardware.html
+++ b/layouts/shortcodes/requirements_hardware.html
@@ -1,6 +1,34 @@
Hardware Requirements
-
+
+
Hardware requirements scale based on the size of your Rancher deployment.
+
+
+ | Deployment Size |
+ Clusters |
+ Nodes |
+ vCPUs |
+ RAM |
+
+
+ | Small |
+ Up to 10 |
+ Up to 50 |
+ 2 |
+ 4GB |
+
+
+ | Medium |
+ Up to 100 |
+ Up to 500 |
+ 8 |
+ 32GB |
+
+
+ | Large |
+ Over 100 |
+ Over 500 |
+ Contact Rancher |
+
+
diff --git a/src/rke-yml/3-node-certificate.yml b/src/rke-yml/3-node-certificate.yml
deleted file mode 100644
index 8c2dd66f7e9..00000000000
--- a/src/rke-yml/3-node-certificate.yml
+++ /dev/null
@@ -1,137 +0,0 @@
-# default k8s version: v1.8.9-rancher1-1
-# default network plugin: flannel
-nodes:
- - address: # hostname or IP to access nodes
- user: # root user (usually 'root')
- role: [controlplane,etcd,worker] # K8s roles for node
- ssh_key_path: # path to PEM file
- - address:
- user:
- role: [controlplane,etcd,worker]
- ssh_key_path:
- - address:
- user:
- role: [etcd,worker]
- ssh_key_path:
-
-addons: |-
- ---
- kind: Namespace
- apiVersion: v1
- metadata:
- name: cattle-system
- ---
- kind: ServiceAccount
- apiVersion: v1
- metadata:
- name: cattle-admin
- namespace: cattle-system
- ---
- kind: ClusterRoleBinding
- apiVersion: rbac.authorization.k8s.io/v1
- metadata:
- name: cattle-crb
- namespace: cattle-system
- subjects:
- - kind: ServiceAccount
- name: cattle-admin
- namespace: cattle-system
- roleRef:
- kind: ClusterRole
- name: cluster-admin
- apiGroup: rbac.authorization.k8s.io
- ---
- apiVersion: v1
- kind: Secret
- metadata:
- name: cattle-keys-ingress
- namespace: cattle-system
- type: Opaque
- data:
- tls.crt: # ssl cert for ingress. If selfsigned, must be signed by same CA as cattle server
- tls.key: # ssl key for ingress. If selfsigned, must be signed by same CA as cattle server
- ---
- apiVersion: v1
- kind: Secret
- metadata:
- name: cattle-keys-server
- namespace: cattle-system
- type: Opaque
- data:
- cert.pem: # ssl cert for cattle server.
- key.pem: # ssl key for cattle server.
- cacerts.pem: # CA cert used to sign cattle server cert and key
- ---
- apiVersion: v1
- kind: Service
- metadata:
- namespace: cattle-system
- name: cattle-service
- labels:
- app: cattle
- spec:
- ports:
- - port: 80
- targetPort: 80
- protocol: TCP
- name: http
- - port: 443
- targetPort: 443
- protocol: TCP
- name: https
- selector:
- app: cattle
- ---
- apiVersion: extensions/v1beta1
- kind: Ingress
- metadata:
- namespace: cattle-system
- name: cattle-ingress-http
- annotations:
- nginx.ingress.kubernetes.io/proxy-connect-timeout: "30"
- nginx.ingress.kubernetes.io/proxy-read-timeout: "1800" # Max time in seconds for ws to remain shell window open
- nginx.ingress.kubernetes.io/proxy-send-timeout: "1800" # Max time in seconds for ws to remain shell window open
- spec:
- rules:
- - host: # FQDN to access cattle server
- http:
- paths:
- - backend:
- serviceName: cattle-service
- servicePort: 80
- tls:
- - secretName: cattle-keys-ingress
- hosts:
- - # FQDN to access cattle server
- ---
- kind: Deployment
- apiVersion: extensions/v1beta1
- metadata:
- namespace: cattle-system
- name: cattle
- spec:
- replicas: 1
- template:
- metadata:
- labels:
- app: cattle
- spec:
- serviceAccountName: cattle-admin
- containers:
- - image: rancher/rancher:master
- imagePullPolicy: Always
- name: cattle-server
- ports:
- - containerPort: 80
- protocol: TCP
- - containerPort: 443
- protocol: TCP
- volumeMounts:
- - mountPath: /etc/rancher/ssl
- name: cattle-keys-volume
- readOnly: true
- volumes:
- - name: cattle-keys-volume
- secret:
- defaultMode: 420
- secretName: cattle-keys-server
diff --git a/src/rke-yml/3-node-passthrough.yml b/src/rke-yml/3-node-passthrough.yml
deleted file mode 100644
index 8f88ca78473..00000000000
--- a/src/rke-yml/3-node-passthrough.yml
+++ /dev/null
@@ -1,110 +0,0 @@
-# default k8s version: v1.8.9-rancher1-1
-# default network plugin: flannel
-
-nodes:
- - address: # hostname or IP to access nodes
- user: # root user (usually 'root')
- role: [controlplane,etcd,worker] # K8s roles for node
- ssh_key_path: # path to PEM file
- - address:
- user:
- role: [controlplane,etcd,worker]
- ssh_key_path:
- - address:
- user:
- role: [etcd,worker]
- ssh_key_path:
-
-ingress:
- provider: nginx
- extra_args:
- enable-ssl-passthrough: ""
-
-addons: |-
- ---
- kind: Namespace
- apiVersion: v1
- metadata:
- name: cattle-system
- ---
- kind: ServiceAccount
- apiVersion: v1
- metadata:
- name: cattle-admin
- namespace: cattle-system
- ---
- kind: ClusterRoleBinding
- apiVersion: rbac.authorization.k8s.io/v1
- metadata:
- name: cattle-crb
- namespace: cattle-system
- subjects:
- - kind: ServiceAccount
- name: cattle-admin
- namespace: cattle-system
- roleRef:
- kind: ClusterRole
- name: cluster-admin
- apiGroup: rbac.authorization.k8s.io
- ---
- apiVersion: v1
- kind: Service
- metadata:
- namespace: cattle-system
- name: cattle-service
- labels:
- app: cattle
- spec:
- ports:
- - port: 80
- targetPort: 80
- protocol: TCP
- name: http
- - port: 443
- targetPort: 443
- protocol: TCP
- name: https
- selector:
- app: cattle
- ---
- apiVersion: extensions/v1beta1
- kind: Ingress
- metadata:
- namespace: cattle-system
- name: cattle-ingress-http
- annotations:
- nginx.ingress.kubernetes.io/proxy-connect-timeout: "30"
- nginx.ingress.kubernetes.io/proxy-read-timeout: "1800" # Max time in seconds for ws to remain shell window open
- nginx.ingress.kubernetes.io/proxy-send-timeout: "1800" # Max time in seconds for ws to remain shell window open
- nginx.ingress.kubernetes.io/ssl-passthrough: "true" # Enable ssl-passthrough to backend.
- spec:
- rules:
- - host: # FQDN to access cattle server
- http:
- paths:
- - backend:
- serviceName: cattle-service
- servicePort: 443
- ---
- kind: Deployment
- apiVersion: extensions/v1beta1
- metadata:
- namespace: cattle-system
- name: cattle
- spec:
- replicas: 1
- template:
- metadata:
- labels:
- app: cattle
- spec:
- serviceAccountName: cattle-admin
- containers:
- - image: rancher/rancher:master
- imagePullPolicy: Always
- name: cattle-server
- ports:
- - containerPort: 80
- protocol: TCP
- - containerPort: 443
- protocol: TCP
diff --git a/src/rke-yml/5-node-certificate.yml b/src/rke-yml/5-node-certificate.yml
deleted file mode 100644
index 8144210cc2d..00000000000
--- a/src/rke-yml/5-node-certificate.yml
+++ /dev/null
@@ -1,145 +0,0 @@
-# default k8s version: v1.8.9-rancher1-1
-# default network plugin: flannel
-nodes:
- - address: # hostname or IP to access nodes
- user: # root user (usually 'root')
- role: [controlplane,etcd,worker] # K8s roles for node
- ssh_key_path: # path to PEM file
- - address:
- user:
- role: [controlplane,etcd,worker]
- ssh_key_path:
- - address:
- user:
- role: [etcd,worker]
- ssh_key_path:
- - address:
- user:
- role: [etcd,worker]
- ssh_key_path:
- - address:
- user:
- role: [etcd,worker]
- ssh_key_path:
-
-addons: |-
- ---
- kind: Namespace
- apiVersion: v1
- metadata:
- name: cattle-system
- ---
- kind: ServiceAccount
- apiVersion: v1
- metadata:
- name: cattle-admin
- namespace: cattle-system
- ---
- kind: ClusterRoleBinding
- apiVersion: rbac.authorization.k8s.io/v1
- metadata:
- name: cattle-crb
- namespace: cattle-system
- subjects:
- - kind: ServiceAccount
- name: cattle-admin
- namespace: cattle-system
- roleRef:
- kind: ClusterRole
- name: cluster-admin
- apiGroup: rbac.authorization.k8s.io
- ---
- apiVersion: v1
- kind: Secret
- metadata:
- name: cattle-keys-ingress
- namespace: cattle-system
- type: Opaque
- data:
- tls.crt: # ssl cert for ingress. If selfsigned, must be signed by same CA as cattle server
- tls.key: # ssl key for ingress. If selfsigned, must be signed by same CA as cattle server
- ---
- apiVersion: v1
- kind: Secret
- metadata:
- name: cattle-keys-server
- namespace: cattle-system
- type: Opaque
- data:
- cert.pem: # ssl cert for cattle server.
- key.pem: # ssl key for cattle server.
- cacerts.pem: # CA cert used to sign cattle server cert and key
- ---
- apiVersion: v1
- kind: Service
- metadata:
- namespace: cattle-system
- name: cattle-service
- labels:
- app: cattle
- spec:
- ports:
- - port: 80
- targetPort: 80
- protocol: TCP
- name: http
- - port: 443
- targetPort: 443
- protocol: TCP
- name: https
- selector:
- app: cattle
- ---
- apiVersion: extensions/v1beta1
- kind: Ingress
- metadata:
- namespace: cattle-system
- name: cattle-ingress-http
- annotations:
- nginx.ingress.kubernetes.io/proxy-connect-timeout: "30"
- nginx.ingress.kubernetes.io/proxy-read-timeout: "1800" # Max time in seconds for ws to remain shell window open
- nginx.ingress.kubernetes.io/proxy-send-timeout: "1800" # Max time in seconds for ws to remain shell window open
- spec:
- rules:
- - host: # FQDN to access cattle server
- http:
- paths:
- - backend:
- serviceName: cattle-service
- servicePort: 80
- tls:
- - secretName: cattle-keys-ingress
- hosts:
- - # FQDN to access cattle server
- ---
- kind: Deployment
- apiVersion: extensions/v1beta1
- metadata:
- namespace: cattle-system
- name: cattle
- spec:
- replicas: 1
- template:
- metadata:
- labels:
- app: cattle
- spec:
- serviceAccountName: cattle-admin
- containers:
- - image: rancher/rancher:master
- imagePullPolicy: Always
- name: cattle-server
- ports:
- - containerPort: 80
- protocol: TCP
- - containerPort: 443
- protocol: TCP
- volumeMounts:
- - mountPath: /etc/rancher/ssl
- name: cattle-keys-volume
- readOnly: true
- volumes:
- - name: cattle-keys-volume
- secret:
- defaultMode: 420
- secretName: cattle-keys-server
diff --git a/src/rke-yml/5-node-passthrough.yml b/src/rke-yml/5-node-passthrough.yml
deleted file mode 100644
index 9031a42bccd..00000000000
--- a/src/rke-yml/5-node-passthrough.yml
+++ /dev/null
@@ -1,118 +0,0 @@
-# default k8s version: v1.8.9-rancher1-1
-# default network plugin: flannel
-
-nodes:
- - address: # hostname or IP to access nodes
- user: # root user (usually 'root')
- role: [controlplane,etcd,worker] # K8s roles for node
- ssh_key_path: # path to PEM file
- - address:
- user:
- role: [controlplane,etcd,worker]
- ssh_key_path:
- - address:
- user:
- role: [etcd,worker]
- ssh_key_path:
- - address:
- user:
- role: [etcd,worker]
- ssh_key_path:
- - address:
- user:
- role: [etcd,worker]
- ssh_key_path:
-
-ingress:
- provider: nginx
- extra_args:
- enable-ssl-passthrough: ""
-
-addons: |-
- ---
- kind: Namespace
- apiVersion: v1
- metadata:
- name: cattle-system
- ---
- kind: ServiceAccount
- apiVersion: v1
- metadata:
- name: cattle-admin
- namespace: cattle-system
- ---
- kind: ClusterRoleBinding
- apiVersion: rbac.authorization.k8s.io/v1
- metadata:
- name: cattle-crb
- namespace: cattle-system
- subjects:
- - kind: ServiceAccount
- name: cattle-admin
- namespace: cattle-system
- roleRef:
- kind: ClusterRole
- name: cluster-admin
- apiGroup: rbac.authorization.k8s.io
- ---
- apiVersion: v1
- kind: Service
- metadata:
- namespace: cattle-system
- name: cattle-service
- labels:
- app: cattle
- spec:
- ports:
- - port: 80
- targetPort: 80
- protocol: TCP
- name: http
- - port: 443
- targetPort: 443
- protocol: TCP
- name: https
- selector:
- app: cattle
- ---
- apiVersion: extensions/v1beta1
- kind: Ingress
- metadata:
- namespace: cattle-system
- name: cattle-ingress-http
- annotations:
- nginx.ingress.kubernetes.io/proxy-connect-timeout: "30"
- nginx.ingress.kubernetes.io/proxy-read-timeout: "1800" # Max time in seconds for ws to remain shell window open
- nginx.ingress.kubernetes.io/proxy-send-timeout: "1800" # Max time in seconds for ws to remain shell window open
- nginx.ingress.kubernetes.io/ssl-passthrough: "true" # Enable ssl-passthrough to backend.
- spec:
- rules:
- - host: # FQDN to access cattle server
- http:
- paths:
- - backend:
- serviceName: cattle-service
- servicePort: 443
- ---
- kind: Deployment
- apiVersion: extensions/v1beta1
- metadata:
- namespace: cattle-system
- name: cattle
- spec:
- replicas: 1
- template:
- metadata:
- labels:
- app: cattle
- spec:
- serviceAccountName: cattle-admin
- containers:
- - image: rancher/rancher:master
- imagePullPolicy: Always
- name: cattle-server
- ports:
- - containerPort: 80
- protocol: TCP
- - containerPort: 443
- protocol: TCP
diff --git a/src/rke-yml/7-node-certificate.yml b/src/rke-yml/7-node-certificate.yml
deleted file mode 100644
index 636059271b0..00000000000
--- a/src/rke-yml/7-node-certificate.yml
+++ /dev/null
@@ -1,153 +0,0 @@
-# default k8s version: v1.8.9-rancher1-1
-# default network plugin: flannel
-nodes:
- - address: # hostname or IP to access nodes
- user: # root user (usually 'root')
- role: [controlplane,etcd,worker] # K8s roles for node
- ssh_key_path: # path to PEM file
- - address:
- user:
- role: [controlplane,etcd,worker]
- ssh_key_path:
- - address:
- user:
- role: [etcd,worker]
- ssh_key_path:
- - address:
- user:
- role: [etcd,worker]
- ssh_key_path:
- - address:
- user:
- role: [etcd,worker]
- ssh_key_path:
- - address:
- user:
- role: [etcd,worker]
- ssh_key_path:
- - address:
- user:
- role: [etcd,worker]
- ssh_key_path:
-
-addons: |-
- ---
- kind: Namespace
- apiVersion: v1
- metadata:
- name: cattle-system
- ---
- kind: ServiceAccount
- apiVersion: v1
- metadata:
- name: cattle-admin
- namespace: cattle-system
- ---
- kind: ClusterRoleBinding
- apiVersion: rbac.authorization.k8s.io/v1
- metadata:
- name: cattle-crb
- namespace: cattle-system
- subjects:
- - kind: ServiceAccount
- name: cattle-admin
- namespace: cattle-system
- roleRef:
- kind: ClusterRole
- name: cluster-admin
- apiGroup: rbac.authorization.k8s.io
- ---
- apiVersion: v1
- kind: Secret
- metadata:
- name: cattle-keys-ingress
- namespace: cattle-system
- type: Opaque
- data:
- tls.crt: # ssl cert for ingress. If selfsigned, must be signed by same CA as cattle server
- tls.key: # ssl key for ingress. If selfsigned, must be signed by same CA as cattle server
- ---
- apiVersion: v1
- kind: Secret
- metadata:
- name: cattle-keys-server
- namespace: cattle-system
- type: Opaque
- data:
- cert.pem: # ssl cert for cattle server.
- key.pem: # ssl key for cattle server.
- cacerts.pem: # CA cert used to sign cattle server cert and key
- ---
- apiVersion: v1
- kind: Service
- metadata:
- namespace: cattle-system
- name: cattle-service
- labels:
- app: cattle
- spec:
- ports:
- - port: 80
- targetPort: 80
- protocol: TCP
- name: http
- - port: 443
- targetPort: 443
- protocol: TCP
- name: https
- selector:
- app: cattle
- ---
- apiVersion: extensions/v1beta1
- kind: Ingress
- metadata:
- namespace: cattle-system
- name: cattle-ingress-http
- annotations:
- nginx.ingress.kubernetes.io/proxy-connect-timeout: "30"
- nginx.ingress.kubernetes.io/proxy-read-timeout: "1800" # Max time in seconds for ws to remain shell window open
- nginx.ingress.kubernetes.io/proxy-send-timeout: "1800" # Max time in seconds for ws to remain shell window open
- spec:
- rules:
- - host: # FQDN to access cattle server
- http:
- paths:
- - backend:
- serviceName: cattle-service
- servicePort: 80
- tls:
- - secretName: cattle-keys-ingress
- hosts:
- - # FQDN to access cattle server
- ---
- kind: Deployment
- apiVersion: extensions/v1beta1
- metadata:
- namespace: cattle-system
- name: cattle
- spec:
- replicas: 1
- template:
- metadata:
- labels:
- app: cattle
- spec:
- serviceAccountName: cattle-admin
- containers:
- - image: rancher/rancher:master
- imagePullPolicy: Always
- name: cattle-server
- ports:
- - containerPort: 80
- protocol: TCP
- - containerPort: 443
- protocol: TCP
- volumeMounts:
- - mountPath: /etc/rancher/ssl
- name: cattle-keys-volume
- readOnly: true
- volumes:
- - name: cattle-keys-volume
- secret:
- defaultMode: 420
- secretName: cattle-keys-server
diff --git a/src/rke-yml/7-node-passthrough.yml b/src/rke-yml/7-node-passthrough.yml
deleted file mode 100644
index a7b29da8bdf..00000000000
--- a/src/rke-yml/7-node-passthrough.yml
+++ /dev/null
@@ -1,125 +0,0 @@
-# default k8s version: v1.8.9-rancher1-1
-# default network plugin: flannel
-nodes:
- - address: # hostname or IP to access nodes
- user: # root user (usually 'root')
- role: [controlplane,etcd,worker] # K8s roles for node
- ssh_key_path: # path to PEM file
- - address:
- user:
- role: [controlplane,etcd,worker]
- ssh_key_path:
- - address:
- user:
- role: [etcd,worker]
- ssh_key_path:
- - address:
- user:
- role: [etcd,worker]
- ssh_key_path:
- - address:
- user:
- role: [etcd,worker]
- ssh_key_path:
- - address:
- user:
- role: [etcd,worker]
- ssh_key_path:
- - address:
- user:
- role: [etcd,worker]
- ssh_key_path:
-
-ingress:
- provider: nginx
- extra_args:
- enable-ssl-passthrough: ""
-
-addons: |-
- ---
- kind: Namespace
- apiVersion: v1
- metadata:
- name: cattle-system
- ---
- kind: ServiceAccount
- apiVersion: v1
- metadata:
- name: cattle-admin
- namespace: cattle-system
- ---
- kind: ClusterRoleBinding
- apiVersion: rbac.authorization.k8s.io/v1
- metadata:
- name: cattle-crb
- namespace: cattle-system
- subjects:
- - kind: ServiceAccount
- name: cattle-admin
- namespace: cattle-system
- roleRef:
- kind: ClusterRole
- name: cluster-admin
- apiGroup: rbac.authorization.k8s.io
- ---
- apiVersion: v1
- kind: Service
- metadata:
- namespace: cattle-system
- name: cattle-service
- labels:
- app: cattle
- spec:
- ports:
- - port: 80
- targetPort: 80
- protocol: TCP
- name: http
- - port: 443
- targetPort: 443
- protocol: TCP
- name: https
- selector:
- app: cattle
- ---
- apiVersion: extensions/v1beta1
- kind: Ingress
- metadata:
- namespace: cattle-system
- name: cattle-ingress-http
- annotations:
- nginx.ingress.kubernetes.io/proxy-connect-timeout: "30"
- nginx.ingress.kubernetes.io/proxy-read-timeout: "1800" # Max time in seconds for ws to remain shell window open
- nginx.ingress.kubernetes.io/proxy-send-timeout: "1800" # Max time in seconds for ws to remain shell window open
- nginx.ingress.kubernetes.io/ssl-passthrough: "true" # Enable ssl-passthrough to backend.
- spec:
- rules:
- - host: # FQDN to access cattle server
- http:
- paths:
- - backend:
- serviceName: cattle-service
- servicePort: 443
- ---
- kind: Deployment
- apiVersion: extensions/v1beta1
- metadata:
- namespace: cattle-system
- name: cattle
- spec:
- replicas: 1
- template:
- metadata:
- labels:
- app: cattle
- spec:
- serviceAccountName: cattle-admin
- containers:
- - image: rancher/rancher:master
- imagePullPolicy: Always
- name: cattle-server
- ports:
- - containerPort: 80
- protocol: TCP
- - containerPort: 443
- protocol: TCP