使用ansible安裝方案晕鹊,不需要配置翻墻盏触,使用的是阿里云的鏡像
安裝pip,ansible,Jinja2 (centos環(huán)境)
安裝pip
get-pip.py腳本下載地址 https://bootstrap.pypa.io/get-pip.py
python get-pip.py
安裝 ansible
sudo pip install ansible
sudo pip install netaddr
sudo yum install -y git
安裝Jinja2組件
sudo pip install --upgrade Jinja2
- 生成密鑰/公鑰(在每個(gè)節(jié)點(diǎn)上)
ssh-keygen -t rsa
選擇一個(gè)機(jī)器做為發(fā)布機(jī)器吓肋,綁定信任關(guān)系,允許該機(jī)器無(wú)密碼訪問(wèn)其他節(jié)點(diǎn)機(jī)器,也需要把本機(jī)配置公鑰
例如:
Master A:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXOG416HAhiKraB/vjTbz5bHw0b1ayc95KUmOxS0JKM01x7Jy7sRfPfQ0K9Je7T/nifLIH/UmFLNFzAxnlWjQcM+iMyfgOvlpfYKSJx+uwD2t6bBkhIJ1/rqx2fBPt8uRxQspQosx2CSxbaadsfsdadfdsbZ5KhVsgVlSCyqacjrX0CR3RjcL2t/Lsyt7I7nMJl4Po37O2uHShPjIrxi7ZkRtpn2sG/l6YSIGkLrBl4Gqph/K/MF9hgsQsROf6imm+quT8Py2f/6v+smsUsd/kfZGZJVDsk65M2hMiBbjNmAPYRS/G7emr958oCkTao771hkeg7h8l8X+7f+p3A9 centos@ip-172-31-29-37.ap-southeast-1.compute.internal
node B
將A 機(jī)器的公鑰 cat ~/.ssh/id_rsa.pub 拷貝后添加到 B機(jī)器的authorized_keys 中
如果有多個(gè)節(jié)點(diǎn)依次添加
- 下載kubespray,該代碼是在 kubespray 基礎(chǔ)上修改gcr鏡像為阿里云
git clone https://github.com/maomaotp/k8s-kubespray.git
- 修改集群配置信息
cd kubespray
cp inventory/inventory.example inventory/inventory
inventory 示例 該示例配置了2個(gè)節(jié)點(diǎn)哟沫,可以隨時(shí)擴(kuò)展
node1 ansible_ssh_host=172.31.1.1 ansible_user=centos
node2 ansible_ssh_host=172.31.1.2 ansible_user=centos
[kube-master]
node1
[etcd]
node1
[kube-node]
node2
[k8s-cluster:children]
kube-node
kube-master
7. 啟動(dòng)集群
`ansible-playbook -i inventory/inventory cluster.yml -b -v --private-key=~/.ssh/id_rsa`
8. 添加節(jié)點(diǎn)
`ansible-playbook -i inventory/inventory scale.yml -b -v --private-key=~/.ssh/id_rsa`
11. 安裝完成后的 kubectl config文件路徑 /root/.kube/config
### ansible inventory 配置文件介紹
* kube-node: 運(yùn)行的kubernetes 的節(jié)點(diǎn), 運(yùn)行業(yè)務(wù)容器
* kube-master: kubernetes 的組件運(yùn)行的節(jié)點(diǎn)
* etcd: etcd 服務(wù)運(yùn)行的節(jié)點(diǎn)锌介,etcd是kubernetes 的存儲(chǔ)服務(wù)
### 不能使用swap 分區(qū)嗜诀, 否則節(jié)點(diǎn)不能正常運(yùn)行