1.准备工作
1)如果使用虚拟机搭建,则需要安装Vmware,以及启动三个Ubuntu虚拟机,并配置好ip,使三个虚拟机能够互相通信。
2)如果使用服务器搭建,装好ubuntu系统,配置好ip,使三个机器能够互相通信即可。
2.搭建kubernetes
1)安装包
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
2)添加Docker官方的GPG
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
3)添加Docker源
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
4)添加代理
vi /etc/apt/apt.conf
在文件中加入:
Acquire::http::proxy "http://username:password@server_ip:port/";
Acquire::https::proxy "https://username:password@server_ip:port/";
Acquire::ftp::proxy "ftp://username:password@server_ip:port/";
Acquire::socks::proxy "socks://username:password@server_ip:port/";
其中username和password是代理账号和密码,server_ip是代理服务器地址,port是代理服务器端口。
5)安装Docker
sudo apt-get update
sudo apt-get install docker-ce=18.06.0~ce~3-0~ubuntu
6)添加GPG
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
若该命令不成功或者执行时间太长则进入其中的链接,下载apt-key.gpg, 然后执行如下命令:
apt-key add apt-key.gpg
7)添加源
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF
8)下载kubelet kubeadm kubectl组件
apt-get update
apt-get install -y kubelet kubeadm kubectl
9)假设三个节点的ip为IP1, IP2, IP3,这里选择IP1为master节点,选择IP2,IP3为子节点。在master上执行初始化命令
kubeadm init --kubernetes-version=v1.12.2 --pod-network-cidr=10.244.0.0/16
如果要使用flannel网络,--pod-network-cidr=10.244.0.0/16必须要有。如提示镜像无法下载,则需要手动下载镜像。
10)根据初始化成功信息提示的命令在master上执行部分操作。(注意,此时应切换到普通用户)
11)在子节点上执行命令,加入master节点,该命令在master初始化成功信息的最后几行,以kubeadm join开头。
12)在master上执行
kubectl get nodes
如果显示如下结果,则成功
无论这里node1,node2是Ready,还是NotReady,都是节点加入成功了。
13)如果子节点是NotReady,执行
kubectl get pods -owide --all-namespaces
查看有哪些pod未成功Running,查出原因,修复即可。pod未成功Running原因很多,后续再继续补充。