mirror of
https://github.com/rancher/rancher-docs.git
synced 2026-09-12 20:17:13 +00:00
+5
-1
@@ -8,7 +8,11 @@ pluralizeListTitles = false
|
||||
|
||||
enableRobotsTXT = true
|
||||
pygmentsCodeFences = true
|
||||
pygmentsCodeFencesGuessSyntax = true
|
||||
|
||||
PygmentsStyle = "native"
|
||||
|
||||
#pygmentsCodeFencesGuessSyntax = true
|
||||
|
||||
|
||||
[permalinks]
|
||||
inside-pages = "/:filename/"
|
||||
|
||||
@@ -95,7 +95,7 @@ Use RKE with the new `rancher-cluster-restore.yml` configuration and restore the
|
||||
rke etcd snapshot-restore --name <snapshot>.db --config ./rancher-cluster-restore.yml
|
||||
```
|
||||
|
||||
> **NOTE:** RKE will create an `etcd` container with the restored database on the "target node". This container will not complete the `etcd` initialization and stay in a running state until the cluster brought up in the next step.
|
||||
> **Note:** RKE will create an `etcd` container with the restored database on the "target node". This container will not complete the `etcd` initialization and stay in a running state until the cluster brought up in the next step.
|
||||
|
||||
### 5. Bring Up the Cluster
|
||||
|
||||
|
||||
@@ -28,6 +28,6 @@ kubectl create clusterrolebinding tiller \
|
||||
helm init --service-account tiller
|
||||
```
|
||||
|
||||
> NOTE: This `tiller` install has full cluster access, which should be acceptable if the cluster is dedicated to Rancher server. Check out the [helm docs](https://docs.helm.sh/using_helm/#role-based-access-control) for restricting `tiller` access to suit your security requirements.
|
||||
> **Note:** This `tiller` install has full cluster access, which should be acceptable if the cluster is dedicated to Rancher server. Check out the [helm docs](https://docs.helm.sh/using_helm/#role-based-access-control) for restricting `tiller` access to suit your security requirements.
|
||||
|
||||
### [Next: Install Rancher]({{< baseurl >}}/rancher/v2.x/en/installation/ha//helm-rancher/)
|
||||
@@ -35,9 +35,9 @@ Rancher server is designed to be "secure by default" and requires SSL/TLS config
|
||||
|
||||
There are three options for the source of the certificate.
|
||||
|
||||
* `rancher` - (Default) Use Rancher generated CA/Certificates.
|
||||
* `letsEncrypt` - Use [LetsEncrypt](https://letsencrypt.org/) to issue a cert.
|
||||
* `secret` - Configure a Kubernetes Secret with your certificate files.
|
||||
1. `rancher` - (Default) Use Rancher generated CA/Certificates.
|
||||
2. `letsEncrypt` - Use [LetsEncrypt](https://letsencrypt.org/) to issue a cert.
|
||||
3. `secret` - Configure a Kubernetes Secret with your certificate files.
|
||||
|
||||
<br\>
|
||||
|
||||
@@ -73,11 +73,11 @@ helm install rancher-stable/rancher \
|
||||
|
||||
Create Kubernetes Secrets from your own certificates for Rancher to use.
|
||||
|
||||
> NOTE: The common name for the cert will need to match the `hostname` option or the ingress controller will fail to provision the site for Rancher.
|
||||
> **Note:** The common name for the cert will need to match the `hostname` option or the ingress controller will fail to provision the site for Rancher.
|
||||
|
||||
Set `hostname` and `ingress.tls.source=secret`
|
||||
|
||||
> NOTE: If you are using a Private CA signed cert, add `--set privateCA=true`
|
||||
> **Note:** If you are using a Private CA signed cert, add `--set privateCA=true`
|
||||
|
||||
```
|
||||
helm install rancher-stable/rancher \
|
||||
|
||||
@@ -74,11 +74,11 @@ Add the `rancherImage` to point to your private registry image and `imagePullSec
|
||||
|
||||
If you wish to terminate the SSL/TLS on a load-balancer external to the Rancher cluster (ingress), use the `--tls=external` option and point your load balancer at port http 80 on all of the rancher cluster nodes.
|
||||
|
||||
> NOTE: If you are using a Private CA signed cert, add `--set privateCA=true` and see [Adding TLS Secrets - Private CA Signed - Additional Steps]({{< baseurl >}}/rancher/v2.x/en/installation/ha/helm-rancher/tls-secrets/#private-ca-signed---additional-steps) to add the CA cert for Rancher.
|
||||
> **Note:** If you are using a Private CA signed cert, add `--set privateCA=true` and see [Adding TLS Secrets - Private CA Signed - Additional Steps]({{< baseurl >}}/rancher/v2.x/en/installation/ha/helm-rancher/tls-secrets/#private-ca-signed---additional-steps) to add the CA cert for Rancher.
|
||||
|
||||
Your load balancer must support long lived websocket connections and will need to insert proxy headers so Rancher can route links correctly.
|
||||
|
||||
> NOTE: The `tls=external` option will expose the Rancher interface on http port 80. Clients that are allowed to connect directly to the Rancher cluster will not be encrypted. We recommend that you restrict direct access at the network level to just your load balancer.
|
||||
> **Note:** The `tls=external` option will expose the Rancher interface on http port 80. Clients that are allowed to connect directly to the Rancher cluster will not be encrypted. We recommend that you restrict direct access at the network level to just your load balancer.
|
||||
|
||||
#### Required headers
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@ kubectl -n cattle-namespace logs -f rancher-784d94f59b-vgqzh
|
||||
|
||||
Use your browser to check the certificate details. If it says the Common Name is "Kubernetes Ingress Controller Fake Certificate", something may have gone wrong with reading or issuing your SSL cert.
|
||||
|
||||
> Note: if you are using LetsEncrypt to issue certs it can sometimes take a few minuets to issue the cert.
|
||||
> **Note:** if you are using LetsEncrypt to issue certs it can sometimes take a few minuets to issue the cert.
|
||||
|
||||
#### cert-manager issued certs (Rancher Generated or LetsEncrypt)
|
||||
|
||||
|
||||
@@ -13,18 +13,18 @@ Using the sample below create the `rancher-cluster.yml` file. Replace the IP Add
|
||||
|
||||
```yaml
|
||||
nodes:
|
||||
- address: 165.227.114.63
|
||||
internal_address: 172.16.22.12
|
||||
user: ubuntu
|
||||
role: [controlplane,worker,etcd]
|
||||
- address: 165.227.116.167
|
||||
internal_address: 172.16.32.37
|
||||
user: ubuntu
|
||||
role: [controlplane,worker,etcd]
|
||||
- address: 165.227.127.226
|
||||
internal_address: 172.16.42.73
|
||||
user: ubuntu
|
||||
role: [controlplane,worker,etcd]
|
||||
- address: 165.227.114.63
|
||||
internal_address: 172.16.22.12
|
||||
user: ubuntu
|
||||
role: [controlplane,worker,etcd]
|
||||
- address: 165.227.116.167
|
||||
internal_address: 172.16.32.37
|
||||
user: ubuntu
|
||||
role: [controlplane,worker,etcd]
|
||||
- address: 165.227.127.226
|
||||
internal_address: 172.16.42.73
|
||||
user: ubuntu
|
||||
role: [controlplane,worker,etcd]
|
||||
```
|
||||
|
||||
#### Common RKE nodes: options
|
||||
|
||||
@@ -12,4 +12,4 @@ To restore Rancher follow the procedure detailed here: [Restoring Backups — Hi
|
||||
|
||||
Restoring a snapshot of the Rancher Server cluster will revert Rancher to the version and state at the time of the snapshot.
|
||||
|
||||
> **NOTE:** Managed cluster are authoritative for their state. This means restoring the rancher server will not revert workload deployments or changes made on managed clusters after the snapshot was taken.
|
||||
> **Note:** Managed cluster are authoritative for their state. This means restoring the rancher server will not revert workload deployments or changes made on managed clusters after the snapshot was taken.
|
||||
|
||||
@@ -10,18 +10,22 @@
|
||||
|
||||
<div class="row m-t-sm">
|
||||
|
||||
<aside class="col-sm-3 col-xs-12 p-l-0">
|
||||
<aside class="col-md-3 col-xs-12 p-l-0">
|
||||
{{ partial "docs-side-nav.html" . }}
|
||||
</aside>
|
||||
|
||||
<article class="{{ if ($.Scratch.Get "showSidebar") }} col-sm-6 {{else}} col-md-9 p-l-lg {{end}} col-xs-12">
|
||||
<article class="{{ if ($.Scratch.Get "showSidebar") }}col-sm-6{{else}}col-md-9 p-l-lg {{end}}col-xs-12">
|
||||
|
||||
{{ with .Params.Title }}
|
||||
<h1 class="m-t-0">{{ . }}</h1>
|
||||
<hr/>
|
||||
{{end}}
|
||||
|
||||
<div class="main-content">
|
||||
<div class="main-content docs-body">
|
||||
<!-- this is a test -->
|
||||
<!-- {{ partial "page-nav.html" . }} -->
|
||||
<!-- end test -->
|
||||
|
||||
{{ .Content }}
|
||||
|
||||
{{ $paginator := .Scratch.Get "paginator" }}
|
||||
|
||||
+3
-1
@@ -1,2 +1,4 @@
|
||||
User-agent: *
|
||||
Disallow: {{ if ne (getenv "HUGO_ENV") "production" }}/{{ end }}
|
||||
Disallow: {{ if ne (getenv "HUGO_ENV") "production" }}/{{ end }}
|
||||
|
||||
Sitemap: https://rancher.com/sitemap.xml
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<div class="tab">
|
||||
<input id="{{ .Get "id" }}" type="checkbox" name="tabs">
|
||||
<div class="accordion">
|
||||
<input id="{{ .Get "id" }}" type="checkbox" name="accordion">
|
||||
<label for="{{ .Get "id" }}">{{ .Get "label" }}</label>
|
||||
<div class="tab-content">
|
||||
<div class="accordion-content">
|
||||
{{ .Inner }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+55
-17
@@ -30,12 +30,13 @@ const bootstrapDocsSearch = function() {
|
||||
autofocus: true,
|
||||
loadingIndicator: true,
|
||||
container: '#search-box',
|
||||
placeholder: 'Search Docs...',
|
||||
placeholder: 'Search Blog, Events, etc...',
|
||||
magnifier: false,
|
||||
reset: true,
|
||||
})
|
||||
);
|
||||
|
||||
|
||||
search.addWidget(
|
||||
instantsearch.widgets.infiniteHits({
|
||||
container: '#hits',
|
||||
@@ -49,26 +50,61 @@ const bootstrapDocsSearch = function() {
|
||||
|
||||
search.start();
|
||||
|
||||
$(window).on('keyup', e => {
|
||||
if (e.which === 27 && $('.container-search').hasClass('open')) {
|
||||
$('.container-search').toggleClass('open');
|
||||
$('.overlay-search').toggleClass('open');
|
||||
$(document).on('click', '.search-open', (e) => {
|
||||
let wrapperId = $(e.currentTarget).data('launch-id');
|
||||
let wrapper = $(`#${wrapperId}`);
|
||||
|
||||
let content = wrapper.find('div.content');
|
||||
|
||||
const modal = new tingle.modal({
|
||||
closeMethods: ['overlay', 'button', 'escape'],
|
||||
closeLabel: "Close",
|
||||
|
||||
onOpen: () => {
|
||||
console.log('Search opened');
|
||||
},
|
||||
|
||||
onClose: () => {
|
||||
console.log('Search closed');
|
||||
},
|
||||
|
||||
beforeClose: () => {
|
||||
content.detach()
|
||||
wrapper.append(content);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
// set content
|
||||
content.detach();
|
||||
modal.setContent(content[0]);
|
||||
|
||||
// add a button
|
||||
let label = wrapper.find('.footer-button-label').data('footer-label');
|
||||
if ( label ) {
|
||||
modal.addFooterBtn(label, 'tingle-btn tingle-btn--primary', function() {
|
||||
// here goes some logic
|
||||
modal.close();
|
||||
});
|
||||
}
|
||||
|
||||
modal.open();
|
||||
setTimeout(function() {
|
||||
$('#search-box').focus();
|
||||
}, 50);
|
||||
});
|
||||
|
||||
$('header').on('click', '#button-search', () => {
|
||||
//mobile nav toggle
|
||||
$(document).ready(function() {
|
||||
$("body").addClass("js");
|
||||
var $menu = $("#menu"),
|
||||
$menulink = $(".menu-link");
|
||||
|
||||
let container = $('.container-search');
|
||||
let overlay = $('.overlay-search');
|
||||
|
||||
container.toggleClass('open');
|
||||
overlay.toggleClass('open');
|
||||
|
||||
if (container.hasClass('open')) {
|
||||
$('input#search-box').focus();
|
||||
}
|
||||
|
||||
overlay.css({top: 120});
|
||||
$menulink.click(function() {
|
||||
$menulink.toggleClass("active");
|
||||
$menu.toggleClass("active");
|
||||
return false;
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -88,3 +124,5 @@ $(document).ready(() => {
|
||||
bootstrapDocsSearch();
|
||||
bootstrapIdLinks();
|
||||
});
|
||||
|
||||
|
||||
|
||||
@@ -62,66 +62,3 @@
|
||||
display: none;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
|
||||
//accordion
|
||||
.tab {
|
||||
position: relative;
|
||||
margin-bottom: 1px;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
border: solid $border thin;
|
||||
|
||||
input {
|
||||
position: absolute;
|
||||
opacity: 0;
|
||||
z-index: -1;
|
||||
}
|
||||
label {
|
||||
position: relative;
|
||||
display: block;
|
||||
padding: $spacer-xs;
|
||||
background: lighten($bg-default,4%);
|
||||
border: solid 1px $border;
|
||||
font-size: 2rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.tab-content {
|
||||
display: none;
|
||||
overflow: hidden;
|
||||
background: #fff;
|
||||
-webkit-transition: max-height .35s;
|
||||
-o-transition: max-height .35s;
|
||||
transition: max-height .35s;
|
||||
padding: $spacer-sm;
|
||||
}
|
||||
|
||||
/* :checked */
|
||||
input:checked~.tab-content {
|
||||
display: block;
|
||||
}
|
||||
/* Icon */
|
||||
label::after {
|
||||
position: absolute;
|
||||
right: $spacer-xs;
|
||||
top: $spacer-xs;
|
||||
display: block;
|
||||
text-align: center;
|
||||
-webkit-transition: all .35s;
|
||||
-o-transition: all .35s;
|
||||
transition: all .35s;
|
||||
}
|
||||
input[type=checkbox]+label::after {
|
||||
content: "+";
|
||||
}
|
||||
input[type=radio]+label::after {
|
||||
content: "\25BC";
|
||||
}
|
||||
input[type=checkbox]:checked+label::after {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
input[type=radio]:checked+label::after {
|
||||
transform: rotateX(180deg);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user