ITOO系統 K8s部署(一)

2021-08-20 19:20:43 字數 3742 閱讀 7668

在每個節點安裝依賴工具

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...