所有节点安装Docker/kubeadm/kubelet/kubectl
Kubernetes默认CRI(容器运行时)为Docker,因此先安装Docker。
第一步 安装Docker
$ wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
$ yum -y install docker-ce-19.03.13 -y
$ systemctl enable docker && systemctl start docker
$ docker --version
Docker version 18.06.1-ce, build e68fc7a
配置加速器加速下载 (目的是:通过docker下载镜像的时候速度更快)
$ cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
EOF
接下来安装:kubeadm/kubelet/kubectl
第二步 添加k8s阿里云YUM软件源
目的是:到时候下载k8s相关组件的时候才能找到下载源
$ cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
1) 安装kubeadm,kubelet和kubectl
由于版本更新频繁,这里指定版本号部署:
$ yum install -y kubelet-1.19.4 kubeadm-1.19.4 kubectl-1.19.4
$ systemctl enable kubelet
查看kubeadm,kubelet和kubectl有没有安装成功
yum list installed | grep kubelet
yum list installed | grep kubeadm
yum list installed | grep kubectl
kubelet:运行再cluster所有节点上,负责启动pod和容器;
kubeadm:用于初始化cluster的一个工具;
kubectl:kubectl是kubernetes的命令行工具,通过kubectl可以部署和管理应用,查看各种资源,创建,和删除和更新组件;
2) 部署kubernetes master主节点(这一步是在master节点上操作)
kubeadm init --apiserver-advertise-address=master主机的ip --image-repository
registry.aliyuncs.com/google_containers --kubernetes-version v1.19.4 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16
如果这行命令再执行的时候出现错误的话,重启一下centos即可(执行reboot命令重启)
3)在成功安装完kubernetes之后,会提示成功安装
然后依次执行下面的两条命令
上面这三条命令执行完之后,可以使用kubectl get nodes进行查看
类似的查看命令:
- kubectl get nodes
- kubectl get services
- kubectl get deployment
- kubectl get pods
- kubectl describe pods pod的名字 #查看pod的详情
- kubectl delete deployment 控制器的名字 #删除控制器
- kubectl delete pod pod的名字 #删除pod
下面这条命令是在非master主机上执行
执行上面命令之后,在master主机上执行kuberctl get nodes,可以看到node节点加入到了master里面
但是这两个节点status都是NotReady,原因是没有安装网络通信插件,两个节点之间不能通信
4)部署网络插件
下载kube-flannel.yml文件
wget -c https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
如果上面的命令执行失败,说明网络不好,可以使用本地文件上传到linux上,然后执行
kubectl apply -f kube-flannel.yml
然后再次执行kubectl get node命令,status显示ready说明集群环境搭建成功