系統資訊
| 角色 | 系統 | CPU Core | 記憶體 | 主機名稱 | ip | 安裝組件 |
|---|---|---|---|---|---|---|
| master | 18.04.1-Ubuntu | 4 | 8G | master | 192.168.0.107 | kubectl,kube-apiserver,kube-controller-manager,kube-scheduler,etcd,flannald |
| slave | 18.04.1-Ubuntu | 4 | 4G | slave | 192.168.0.114 | docker,flannald,kubelet,kube-proxy,coredns |
k8s&docker版本
| 軟體 | 版本 |
|---|---|
| k8s | 1.17.2 |
| etcd | v3.3.18 |
| coredns | 1.6.6(docker鏡像) |
| Flanel | v0.11.0 |
| docker | 18.09 |
安裝前準備(主節點和從節點都需要執行)
-
關閉swap
sudo swapoff -a sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab -
配置常用軟體安裝源
在/etc/apt/sources.list.d/ 追加system.list檔案,內容如下deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted deb http://mirrors.aliyun.com/ubuntu/ bionic universe deb http://mirrors.aliyun.com/ubuntu/ bionic-updates universe deb http://mirrors.aliyun.com/ubuntu/ bionic multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-updates multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse執行
sudo apt-get update -
創建作業目錄
mkdir -p /opt/k8s/{bin,work} /etc/{kubernetes,etcd}/cert -
將 /opt/k8s/bin追加到$PATH中
echo 'PATH=/opt/k8s/bin:$PATH' >>/root/.bashrc source /root/.bashrc -
安裝ssh服務,并設定root可以執行
apt install openssh-server #編輯/etc/ssh/sshd_config檔案,在#PermitRootLogin prohibit-password下追加PermitRootLogin yes ,重啟ssh服務 systemctl restart ssh.service -
安裝依賴工具包
apt install -y ipvsadm ipset curl jq socat -
設定主機名
cat >> /etc/hosts <<EOF 192.168.0.107 master 192.168.0.114 slave EOF -
添加節點信任關系,只用在master節點上執行
ssh-keygen -t rsa ssh-copy-id [email protected]
創建CA根證書和秘鑰(在master節點上執行)
-
安裝cfssl工具集
cd /opt/k8s/work wget https://github.com/cloudflare/cfssl/releases/download/v1.4.1/cfssl_1.4.1_linux_amd64 cp cfssl_1.4.1_linux_amd64 /opt/k8s/bin/cfssl wget https://github.com/cloudflare/cfssl/releases/download/v1.4.1/cfssljson_1.4.1_linux_amd64 cp cfssljson_1.4.1_linux_amd64 /opt/k8s/bin/cfssljson wget https://github.com/cloudflare/cfssl/releases/download/v1.4.1/cfssl-certinfo_1.4.1_linux_amd64 cp cfssl-certinfo_1.4.1_linux_amd64 /opt/k8s/bin/cfssl-certinfo chmod +x /opt/k8s/bin/* -
創建CA組態檔
cd /opt/k8s/work cat > ca-config.json <<EOF { "signing": { "default": { "expiry": "87600h" }, "profiles": { "kubernetes": { "usages": [ "signing", "key encipherment", "server auth", "client auth" ], "expiry": "87600h" } } } } EOF- signing:表示該證書可用于簽名其它證書(生成的 ca.pem 證書中 CA=TRUE);
- server auth:表示 client 可以用該該證書對 server 提供的證書進行驗證;
- client auth:表示 server 可以用該該證書對 client 提供的證書進行驗證;
- expiry : "87600h":證書有效期設定為 10 年;
-
創建證書簽名請求檔案
cd /opt/k8s/work cat > ca-csr.json <<EOF { "CN": "kubernetes", "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN", "ST": "NanJing", "L": "NanJing", "O": "k8s", "OU": "system" } ], "ca": { "expiry": "87600h" } } EOF -
生成證書
cd /opt/k8s/work cfssl gencert -initca ca-csr.json | cfssljson -bare ca ls ca* -
安裝證書
cd /opt/k8s/work cp ca*.pem ca-config.json /etc/kubernetes/cert # 分發到從節點 export node_ip=192.168.0.114 scp ca*.pem ca-config.json root@${node_ip}:/etc/kubernetes/cert/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/31170.html
標籤:其他
