k8s摸索之kubeadm快速部署
阿新 • • 發佈:2020-07-24
一、虛擬機器配置
1、在WMware裡裝上3臺虛擬機器,CentOS7最小化系統,配置好獨立IP,截圖如下:
2、修改虛擬機器網絡卡配置,然後啟動網絡卡,再檢視ip已經固定
#vi /etc/sysconfig/network-scripts/ifcfg-ens33 BOOTPROTO=static ONBOOT=yes NM_CONTROLLED=yes IPADDR=192.168.126.100 NETMASK=255.255.255.0 GATEWAY=192.168.126.2 DNS1=114.114.114.119 DNS2=114.114.115.119 #啟動網絡卡 ifup ens33 #關閉網絡卡 ifdown ens33
二、叢集部署
以下均需在所以節點上配置
1、關閉防火牆
systemctl stop firewalld
systemctl disable firewalld
2、關閉selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config setenforce 0
3、關閉swap
swapoff -a # 臨時關閉 sed -ri 's/.*swap.*/#&/' /etc/fstab #永久關閉
4、修改主機名字和配置hosts
#修改主機名字 hostnamectl set-hostname 名字 #vi /etc/hosts192.168.126.100 k8s-master 192.168.126.101 k8s-node1 192.168.126.102 k8s-node2
5、將橋接的IPv4流量傳遞到iptables的鏈
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
6、安裝docker,https://docs.docker.com/engine/install/centos/
7、安裝kubeadm,kubelet和kubectl
yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
systemctl enable kubelet #設定開機自啟
8、部署master,在master上操作,首先檢視kubeadm初始化需要的映象版本,由於訪問不了谷歌的映象需要改會國內的
# 檢視映象版本
kubeadm config images list
方法1:此時可以一個一個下載需要的映象,再用docker tag命令改成對應的名稱,或者用下面shell指令碼:
#!/bin/bash set -e KUBE_VERSION=v1.18.6 KUBE_PAUSE_VERSION=3.2 ETCD_VERSION=3.4.3-0 CORE_DNS_VERSION=1.6.7 GCR_URL=k8s.gcr.io ALIYUN_URL=registry.cn-hangzhou.aliyuncs.com/google_containers images=(kube-proxy:${KUBE_VERSION} kube-scheduler:${KUBE_VERSION} kube-controller-manager:${KUBE_VERSION} kube-apiserver:${KUBE_VERSION} pause:${KUBE_PAUSE_VERSION} etcd:${ETCD_VERSION} coredns:${CORE_DNS_VERSION}) for imageName in ${images[@]} ; do docker pull $ALIYUN_URL/$imageName docker tag $ALIYUN_URL/$imageName $GCR_URL/$imageName docker rmi $ALIYUN_URL/$imageName done
然後發現阿里雲映象沒有那麼高版本映象,乾脆把kubelet、kubectl、kubeadm降低版本
yum remove kubelet kubeadm kubectl yum install -y kubelet-1.15.0 kubeadm-1.15.0 kubectl-1.15.0
再從8開始
方法2:初始化的時候改映象源
9、初始化
kubeadm init \ --apiserver-advertise-address=192.168.126.100 \ --image-repository registry.aliyuncs.com/google_containers \ --kubernetes-version v1.15.0 \ --service-cidr=10.1.0.0/16 \ --pod-network-cidr=10.244.0.0/16
10、配置kubectl,直接按照第一個框內的內容來,為了使用便捷,啟用kubectl命令的自動補全功能
echo "source <(kubectl completion bash)" >> ~/.bashrc
11、安裝pod網路外掛,可按中文文件來
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
12、加入node就按第二個紅框的內容