本篇内容主要讲解“如何使用kubeadm方式快速安装Kubernetes”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用kubeadm方式快速安装Kubernetes”吧!
Kubeadm安装
kubeadm是Kubernetes官方提供的用于快速安装Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验kubeadm可以学习到Kubernetes官方在集群配置上一些新的最佳实践。
安装Docker ce
Docker安装 每个机器都需要装
环境准备
编辑hosts对应关系
cat <<EOF >>/etc/hosts 192.168.37.61 Smile1 192.168.37.62 Smile2 192.168.37.63 Smile3 EOF
关闭防火墙
systemctl stop firewalld.service systemctl disable firewalld.service
禁用SELINUX
sudo setenforce 0 sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
关闭swap
swapoff -a sed -i 's/.*swap.*/#&/' /etc/fstab
配置内核参数添加如下内容
cat > /etc/sysctl.d/k8s.conf <<EOF net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF
配置K8S的yum源
cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF
安装kubelet、kubeadm、kubectl
yum makecache fast yum install -y kubelet kubeadm kubectl
调整启动方式
kubelet的启动环境变量要与docker的cgroup-driver驱动一样
docker info | grep -i cgroup Cgroup Driver: cgroupfs --> 运行命令显示
docker的cgroup-driver是cgroupfs,而k8s默认是systemd 修改docker的cgroup-driver
vim /etc/docker/daemon.json 加入内容 : { "exec-opts": ["native.cgroupdriver=systemd"] }
最终文件内容
{ "registry-mirrors": [ "https://dockerhub.azk8s.cn", "https://reg-mirror.qiniu.com" ], "exec-opts": ["native.cgroupdriver=systemd"] }
重启Docker
systemctl restart docker systemctl status docker
启动kubelet服务
systemctl enable kubelet.service systemctl start kubelet.service
配置Master节点
进行kubernetes集群初始化
Master节点执行命令 : kubeadm init –kubernetes-version=1.15.0 \ –apiserver-advertise-address=192.168.37.61 \ –image-repository=gcr.azk8s.cn/google_containers \ –pod-network-cidr=10.244.0.0/16
–token-ttl 0
–kubernetes-version : 指定版本号 –apiserver-advertise-address : 指定主机地址 其中设置image-repository这一步很重要,kubeadm默认从官网k8s.grc.io下载所需镜像,国内无法访问,因此需要指定阿里云或者是其他国内镜像仓库地址。
定义POD的网段为: 10.244.0.0/16,
初始化成功后会返回如下信息
//这个返回信息三条命令是配置kubectl工具的命令 mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config // 这个返回信息是配置Node节点的命令 kubeadm join 192.168.98.230:6443 --token dexs09.ftjp7y7obq6a3t6n \ --discovery-token-ca-cert-hash sha256:4aace846f8a6c381902592049591152fd7250b63e500e370a4b64902d202f7f2
配置kubectl工具
运行初始化成功后返回的三条命令
部署pod的网络
有很多种选择参考 我们选择的是flannel,其它的几种可能会有问题
wget https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml //在kube-flannel.yml里面默认的镜像下载地址是quay.io,国内无法访问,这里替换所有的quay.io为 quay-mirror.qiniu.com sed -i "s/quay.io/quay-mirror.qiniu.com/g" kube-flannel.yml
执行安装命令
kubectl apply -f kube-flannel.yml
查看运行状态
kubectl get pod --all-namespaces -o wide
确保所有的pod都处在运行状态
部署Node节点
将所有的node节点加入到kubernets集群
//在Node节点上执行(这个命令就是集群初始化之后的返回信息) kubeadm join 192.168.98.230:6443 --token dexs09.ftjp7y7obq6a3t6n \ --discovery-token-ca-cert-hash sha256:4aace846f8a6c381902592049591152fd7250b63e500e370a4b64902d202f7f2
最后检测集群各节点的运行状态
kubectl get nodes
再次查看各个pod的状态,确保都是处于Runing状态
kubectl get pod --all-namespaces -o wide
如果有问题,重新配置Master
kubeadm reset
到此,相信大家对“如何使用kubeadm方式快速安装Kubernetes”有了更深的了解,不妨来实际操作一番吧!这里是云搜网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!