差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

兩邊的前次修訂版 前次修改
下次修改
前次修改
tech:rancher [2020/10/01 14:06] – [開始使用 Rancher 環境] jonathan_tsaitech:rancher [2021/01/23 09:32] (目前版本) – [安裝 PHP 應用程式環境] jonathan
行 1: 行 1:
 +====== 測試 Rancher 佈署 K8S ======
 +  * 主機共四台 : Ubuntu 18.04.5 
 +  * 統一使用者為 localadmin , 並更到最新版<code sh>
 +sudo useradd -s /bin/bash -d /home/localadmin/ -m -G sudo localadmin
 +sudo passwd localadmin 
 +sudo -i
 +apt-get update
 +apt upgrade
 +reboot
 +</code>
 +  * 安裝 Docker <code sh>
 +sudo apt install docker.io
 +</code>
 +  * 更改 Node Hostname<code sh>
 +sudo vi /etc/cloud/cloud.cfg</code><file>
 +:
 +preserve_hostname: true
 +:
 +</file>Exp. 第一台: pve-dev1<code sh>
 +hostnamectl set-hostname pve-dev1
 +</code>
 +  * 更改 Node IP, Exp. 第一台:192.168.11.204 <code sh>
 +sudo vi /etc/netplan/00-installer-config.yaml</code><file>
 +network:
 +  ethernets:
 +    ens18:
 +      addresses: [192.168.11.204/24]
 +      gateway4: 192.168.11.1
 +      nameservers:
 +        addresses: [8.8.8.8,8.8.4.4]
 +      dhcp4: no
 +  version: 2
 +</file>
 +  * 重新開機讓 hostname 與 IP 生效 <code sh>
 +sudo reboot
 +</code>
 +<note>
 +  * 如果要 IP 立即生效可以使用以下語法 <code sh>
 +sudo netplan apply
 +</code>
 +  * 如果要測試更改 IP 是否正常, 120 秒自動改回, 可使用以下語法 <code sh>
 +sudo netplan try
 +</code>
 +</note>
  
 +===== 安裝 Rancher Cluster 環境 =====
 +  * 安裝程序 <code sh>
 +WORK_DIR=/home/localadmin
 +mkdir $WORK_DIR/rancher
 +chmod 755 $WORK_DIR/rancher
 +sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 -v $WORK_DIR/rancher:/var/lib/rancher rancher/rancher 
 +</code>
 +  * 使用 Web 介面產生針對 Node2-N 的 docker 命令來進行 K8S 環境建立 Exp. http://192.168.11.204
 +    - 設定 admin 密碼
 +    - 確認 Rancher 之後網址 (讓之後 Node2-N 可以使用)
 +    - Add Cluster -> From existing nodes -> 設定 Cluster 名稱 Exp. MyDevOps -> Next -> Node Role [V]etcd  [V]Control Plane [V]Worker
 +    - 複製底下 Docker 語法 Exp. <code sh>sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.4.7 --server https://192.168.11.204 --token krbkc4knrj.......................................frzt --ca-checksum 009caed0ea.......................................9bb3c2cca13e1f --etcd --controlplane --worker 
 +</code>
 +    - 至 Node2-N 執行上面 Docker 語法
 +  * 加入後就可以在 Web 介面看到類似以下的 Node 狀態 {{:tech:註解_2020-09-03_202559.png|}}
 +
 +===== 開始使用 Rancher 環境 =====
 +  * Node1 安裝 kubectl <code sh>
 +sudo snap install kubectl --classic
 +kubectl version --client
 +</code><cli>
 +Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.0", GitCommit:"e19964183377d0ec2052d1f1fa930c4d7575bd50", GitTreeState:"clean", BuildDate:"2020-09-30T19:31:27Z", GoVersion:"go1.15.2", Compiler:"gc", Platform:"linux/amd64"}
 +</cli>
 +  * 建立 ~/.kube/config 設定檔
 +    * 透過 Rancher 管理網頁 -> 選擇要操作的 Cluster Exp.iii-devops -> 點 Kubeconfig File {{:tech:螢幕擷取畫面_2020-10-01_140245.png}}
 +    * 將內容複製貼入 ~/.kube/config
 +    * 執行 <code sh>kubectl get all</code>應該可以出現類似以下畫面<cli>
 +NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
 +service/kubernetes   ClusterIP   10.43.0.1    <none>        443/TCP   19h
 +</cli>
 +
 +
 +===== 參考網址 =====
 +  * https://rancher.com/docs/rancher/v2.x/en/cluster-admin/cluster-access/kubectl/
 +  * https://rancher.com/blog/2020/deploy-php-application/
 +  * https://hub.docker.com/_/php
 +
 +{{tag>rancher k8s iiidevops}}