- ubuntu版本 18.04(VMware 创建的虚拟机 数量2 双核2G)
- docker版本 18.09
- k8s版本 1.15.0
准备工作
设置root用户密码并切换
sudo passwd root #初始化root密码
su root # 切换root账户
添加k8s的阿里源
apt-get update && apt-get install -y apt-transport-https
apt upgrade -y
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
tee /etc/apt/sources.list.d/kubernetes.list <<-'EOF'
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
apt-get update
关闭 swap,不关闭的话, k8s 会报错
swapoff -a
vim /etc/fstab # 注释掉 # /swapfile none swap sw 0 0
开始安装
安装docker
apt install docker-ce=5:18.09.5~3-0~ubuntu-bionic -y
# 更换阿里源 一定要把your_code换成你自己阿里云的
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://{your_code}.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
安装kubelet kubeadm kubectl
apt install kubelet=1.15.0-00 kubeadm=1.15.0-00 kubectl=1.15.0-00 -y
修改host文件
vim /etc/hosts
在文件末尾添加
192.168.133.133 master
192.168.133.134 node1
IP和主机名要与你自己的一致
初始化
kubeadm config images pull --image-repository=registry.aliyuncs.com/google_containers
kubeadm init \
--apiserver-advertise-address=192.168.133.137 \
--image-repository registry.aliyuncs.com/google_containers \
--pod-network-cidr=10.244.0.0/16
--apiserver-advertise-address: k8s 中的主要服务apiserver的部署地址,填自己的管理节点 ip
--image-repository: 拉取的 docker 镜像源,因为初始化的时候kubeadm会去拉 k8s 的很多组件来进行部署,所以需要指定国内镜像源,下不然会拉取不到镜像。
--pod-network-cidr: 这个是 k8s 采用的节点网络,因为我们将要使用flannel作为 k8s 的网络,所以这里填10.244.0.0/16就好
--kubernetes-version: 这个是用来指定你要部署的 k8s 版本的,一般不用填,不过如果初始化过程中出现了因为版本不对导致的安装错误的话,可以用这个参数手动指定。
--ignore-preflight-errors: 忽略初始化时遇到的错误,比如说我想忽略 cpu 数量不够 2 核引起的错误,就可以用--ignore-preflight-errors=CpuNum。错误名称在初始化错误时会给出来。
设置环境变量
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
部署pods网络
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
# 如无法连接,更改vim /etc/hosts
# 加入 151.101.76.133 raw.githubusercontent.com
kubectl apply -f kube-flannel.yml
# 将worker node加入到master 这个在节点机操作,这个命令是master主机初始化完成后的那最后几行
kubeadm join 192.168.133.137:6443 --token h5wsay.11hmwrhqb3a7bmog \
--discovery-token-ca-cert-hash
sha256:cde88b9ea849b768155b23d9ac73a91c620666b8ae356237ae6b023da2a8eb68
# 查看节点
kubectl get nodes
查看结果
NAME STATUS ROLES AGE VERSION
node1 Ready <none> 7m32s v1.15.0
yun Ready master 15m v1.15.0
结语
但脑袋依然是一片浆糊
。
参考链接
网友评论