在每個節點安裝依賴工具
ubuntu 16.04 執行以下指令碼:
# 文件中指令碼預設均以root使用者執行
apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y
# 安裝python2
apt-get install python2.7
# ubuntu16.04可能需要配置以下軟連線
ln -s /usr/bin/python2.7 /usr/bin/python
在deploy節點安裝及準備ansible
# ubuntu 16.04
apt-get install git python-pip -y
# centos 7
yum install git python-pip -y
# pip安裝ansible(國內如果安裝太慢可以直接用pip阿里雲加速)
#pip install pip --upgrade
#pip install ansible
pip install pip --upgrade -i --trusted-host mirrors.aliyun.com
pip install --no-cache-dir ansible -i --trusted-host mirrors.aliyun.com
在deploy節點配置免密碼登陸
ssh-copy-id $ips #$ips為所有節點位址包括自身,按照提示輸入yes 和root密碼
在deploy節點編排k8s安裝
git clone
mkdir -p /etc/ansible
mv kubeasz/* /etc/ansible
tar zxvf k8s.193.tar.gz
mv bin/* /etc/ansible/bin
cd /etc/ansible
cp example/hosts.m-masters.example hosts
# 根據上文實際規劃修改此hosts檔案
vi hosts
驗證ansible安裝
ansible all
-m ping
如果配置正確可以看到類似輸出:則成功
192.168
.1.42 | success =>
192.168
.1.43 | success =>
192.168
.1.44 | success =>
安裝
# 一步安裝
ansible-playbook 90.setup.yml
建立 ca 配置檔案 ca-config.json.j2
,
"profiles":
}}}
建立 ca 證書簽名請求ca-csr.json.j2
,
"names": [
]}
生成ca 證書和私鑰
cfssl gencert -initca ca-csr
.json | cfssljson -bare ca
生成 kubeconfig 配置檔案
kubectl使用~/.kube/config 配置檔案與kube-apiserver進行互動,且擁有管理 k8s集群的完全許可權,準備kubectl使用的admin 證書簽名請求 admin-csr.json.j2
,
"names": [
]}
生成 kube-proxy.kubeconfig 配置檔案
建立 kube-proxy 證書請求
,
"names": [
]}
安裝haproxy
配置haproxyhaproxy.cfg.j2
global
log /dev/log
local
0log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin
stats timeout 30
s user haproxy
group haproxy
daemon
nbproc 1
defaults
log global
timeout connect
5000
timeout client 50000
timeout server 50000
listen kube-master
bind
0.0.0.0:}
mode tcp
option tcplog
balance source
server s1 } check inter 10000 fall 2 rise 2 weight 1
server s2 } check inter 10000 fall 2 rise 2 weight 1
安裝keepalived
配置keepalived主節點 keepalived-master.conf.j2
global_defs
vrrp_script check-haproxy
vrrp_instance vi-kube-master }
virtual_router_id
}advert_int 3
track_script
virtual_ipaddress }
}}
配置keepalived備節點 keepalived-backup.conf.j2
global_defs
vrrp_instance vi-kube-master }
virtual_router_id
}advert_int 3
virtual_ipaddress }
}}
啟動 keepalived 和 haproxy 後驗證
systemctl status haproxy # 檢查程序狀態
journalctl -u haproxy # 檢查程序日誌是否有報錯資訊
systemctl status keepalived # 檢查程序狀態
journalctl -u keepalived # 檢查程序日誌是否有報錯資訊
netstat -antlp|grep
8443
# 檢查tcp埠是否監聽
K8s部署prometheus監控K8s細節
prometheus 一些配置檔案可以再github上找到。部署 root kube prometheus manifests 目錄下所有檔案 部署 root kube prometheus manifests setup 目錄下所有檔案 要注意的是自己要建立乙個工作空間 如果報錯執行下面語句 部署...
k8s集群部署 docker部署k8s安裝篇
1 安裝docker 緊接著配置乙個穩定 stable 的倉庫 倉庫配置會儲存到 etc yum.repos.d docker ce.repo檔案中 yum config manager add repo 更新yum安裝的相關docke軟體包 安裝docker ce yum update y yum...
單機部署k8s
安裝docker ce systemctl enable docker systemctl start docker 修改cgroup driver 為systemd 預設為cgroups echo kubelet kubeadm extra args cgroup driver systemd e...