使用 Docker 在單一節點上安裝 Rancher
Docker 安裝僅支援開發和測試環境。對於生產環境,請在 Kubernetes 叢集上安裝 Rancher。
Rancher 可以透過執行單一 Docker 容器來安裝。
在此安裝場景中,您將在單一 Linux 主機上安裝 Docker,然後使用單一 Docker 容器在您的主機上部署 Rancher。
僅建議在開發和測試環境中使用 Docker 安裝 Rancher。將 Rancher 遷移至高可用性叢集的能力取決於 Rancher 版本:
Rancher 備份操作器可用於將 Rancher 從單一 Docker 容器安裝遷移至高可用性 Kubernetes 叢集上的安裝。有關詳細資訊,請參閱將 Rancher 遷移到新叢集的文件。
Rancher 的特權存取
當 Rancher 伺服器部署在 Docker 容器中時,會在容器內安裝本地 Kubernetes 叢集供 Rancher 使用。由於 Rancher 的許多功能以部署的形式執行,並且在容器內執行容器需要特權模式,因此您需要使用 --privileged 選項安裝 Rancher。
作業系統、Docker、硬體和網路要求
確保您的節點符合一般安裝要求。
1. 佈建 Linux 主機
根據我們的要求佈建單一 Linux 主機以啟動您的 Rancher 伺服器。
2. 選擇 SSL 選項並安裝 Rancher
出於安全考量,使用 Rancher 時需要 SSL(Secure Sockets Layer)。SSL 保護所有 Rancher 網路通訊的安全,例如登入或與叢集互動時。
- 使用代理?請參閱 HTTP 代理設定
- 設定自訂 CA 根憑證以存取您的服務?請參閱自訂 CA 根憑證
- 完成離線安裝?請參閱離線環境:Docker 安裝
- 記錄 Rancher API 的所有交易?請參閱 API 稽核
從以下選項中選擇:
- 選項 A:預設 Rancher 產生的自簽憑證
- 選項 B:使用您自己的憑證(自簽)
- 選項 C:使用您自己的憑證(由認可的 CA 簽署)
- 選項 D:Let's Encrypt 憑證
- 選項 E:本機通道,無憑證
選項 A:預設 Rancher 產生的自簽憑證
如果您在開發或測試環境中安裝 Rancher,而身分驗證不是問題,請使用 Rancher 產生的自簽憑證安裝 Rancher。此安裝選項省去了自己產生憑證的麻煩。
登入您的主 機並執行以下指令:
docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
--privileged \
rancher/rancher:latest
選項 B:使用您自己的憑證(自簽)
在開發或測試環境中,您的團隊將存取您的 Rancher 伺服器,請建立自簽憑證以與您的安裝一起使用,以便您的團隊可以驗證他們正在連線到您的 Rancher 實例。
建立憑證後,執行以下 Docker 指令以安裝 Rancher。使用 -v 旗標並提供憑證的路徑以將其掛載到容器中。
| 佔位符 | 描述 |
|---|---|
<CERT_DIRECTORY> | 包含憑證檔案的目錄路徑。 |
<FULL_CHAIN.pem> | 完整憑證鏈的路徑。 |
<PRIVATE_KEY.pem> | 憑證私密金鑰的路徑。 |
<CA_CERTS.pem> | 憑證授權單位憑證的路徑。 |
登入您的主機並執行以下指令:
docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
-v /<CERT_DIRECTORY>/<FULL_CHAIN.pem>:/etc/rancher/ssl/cert.pem \
-v /<CERT_DIRECTORY>/<PRIVATE_KEY.pem>:/etc/rancher/ssl/key.pem \
-v /<CERT_DIRECTORY>/<CA_CERTS.pem>:/etc/rancher/ssl/cacerts.pem \
--privileged \
rancher/rancher:latest
選項 C:使用您自己的憑證(由認可的 CA 簽署)
在公開應用程式的生產環境中,您將使用由認可的 CA 簽署的憑證,以便您的使用者群不會遇到安全警告。
不建議在生產環境中使用 Docker 安裝。這些說明僅供測試和開發用途。
- 憑證檔案必須為 PEM 格式。
- 在您的憑證檔案中,包含認可的 CA 提供的所有中繼憑證。以您的憑證排在最前,後面跟著中繼憑證的順序排列憑證。有關範例,請參閱憑證疑難排解。
取得憑證後,執行以下 Docker 指令。
- 使用
-v旗標並提供憑證的路徑以將其掛載到容器中。因為您的憑證由認可的 CA 簽署,所以不需要掛載額外的 CA 憑證檔案。 - 使用
--no-cacerts作為容器的參數以停用 Rancher 產生的預設 CA 憑證。
| 佔位符 | 描述 |
|---|---|
<CERT_DIRECTORY> | 包含憑證檔案的目錄路徑。 |
<FULL_CHAIN.pem> | 完整憑證鏈的路徑。 |
<PRIVATE_KEY.pem> | 憑證私密金鑰的路徑。 |
登入您的主機並執行以下指令:
docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
-v /<CERT_DIRECTORY>/<FULL_CHAIN.pem>:/etc/rancher/ssl/cert.pem \
-v /<CERT_DIRECTORY>/<PRIVATE_KEY.pem>:/etc/rancher/ssl/key.pem \
--privileged \
rancher/rancher:latest \
--no-cacerts
選項 D:Let's Encrypt 憑證
Let's Encrypt 對請求新憑證提供速率限制。因此,請限制建立或銷毀容器的頻率。有關更多資訊,請參閱 Let's Encrypt 關於速率限制的文件。
對於生產環境,您也可以選擇使用 Let's Encrypt 憑證。Let's Encrypt 使用 http-01 挑戰來驗證您對網域的控制權。您可以透過將要用於 Rancher 存取的主機名稱(例如 rancher.mydomain.com)指向執行 Rancher 的機器的 IP 來確認您控制該網域。您可以透過在 DNS 中建立 A 記錄將主機名稱綁定到 IP 位址。
不建議在生產環境中使用 Docker 安裝。這些說明僅供測試和開發用途。
- Let's Encrypt 是網際網路服務。因此,此選項不能在內部/離線網路中使用。
- 在您的 DNS 中建立一筆記錄,將您的 Linux 主機 IP 位址綁定到您要用於 Rancher 存取的主機名稱(例如
rancher.mydomain.com)。 - 在您的 Linux 主機上開啟連接埠
TCP/80。Let's Encrypt http-01 挑戰可以來自任何來源 IP 位址,因此連接埠TCP/80必須對所有 IP 位址開放。
滿足先決條件後,您可以執行以下指令使用 Let's Encrypt 憑證安裝 Rancher。
| 佔位符 | 描述 |
|---|---|
<YOUR.DNS.NAME> | 您的網域位址 |
登入您的主機並執行以下指令:
docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
--privileged \
rancher/rancher:latest \
--acme-domain <YOUR.DNS.NAME>
選項 E:本機通道,無憑證
如果您在開發或測試環境中安裝 Rancher,且您有正在執行的本機通道解決方案(例如 ngrok),請避免產生憑證。此安裝選項不需要憑證。
- 您將在參數中使用
--no-cacerts以停用 Rancher 產生的預設 CA 憑證。
登入您的主機並執行以下指令:
docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
--privileged \
rancher/rancher:latest \
--no-cacerts
進階選項
在單一節點上使用 Docker 安裝 Rancher 時,可以啟用幾個進階選項:
- 自訂 CA 憑證
- API 稽核日誌
- TLS 設定
- 離線環境
- 持久化資料
- 在同一節點上執行
rancher/rancher和rancher/rancher-agent
詳情請參閱此頁面。
疑難排解
有關常見問題和疑難排解提示,請參閱此頁面。
下一步是什麼?
- 建議: 查看單一節點備份和還原。雖然您目前沒有需要備份的任何資料,但我們建議在定期使用 Rancher 後建立備份。
- 建立 Kubernetes 叢集:佈建 Kubernetes 叢集。