创建K8s集群
通过kubeadm的方式创建k8s集群
·
创建K8s集群记录
前几天使用minikube搭建了一个学习的k8s环境,觉得差点意思,所以有学习了下使用kubeadm的方式来搭建k8s集群,好记性不如乱笔头,记录一下自己的爬坑过程
kubeadm环境准备
-
管理防火墙
# 二选一即可 systemctl stop firewalld systemctl disable firewalld
-
关闭selinux
# 二选一即可 * sed -i 's/enforcing/disabled/' /etc/selinux/config #永久 * setenforce 0 #临时
-
关闭swap(k8s禁止虚拟内存以提高性能)
# 二选一即可 sed -ri 's/.*swap.*/#&/' /etc/fstab #永久 swapoff -a #临时
-
在master节点添加hosts
cat >> /etc/hosts << EOF 192.168.172.134 k8smaster 192.168.172.135 k8snode # 只有一个节点的时候,该行可以省略 EOF
-
设置网桥参数
cat > /etc/sysctl.d/k8s.conf << EOF net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF
-
让上一步骤生效
sysctl --system #生效
-
时间同步
yum install ntpdate -y ntpdate time.windows.com
安装步骤
-
安装docker,此处不再赘述,直接去docker官网查阅文档即可,然后配置阿里云代理镜像仓库
-
添加k8s的阿里云YUM源
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
-
安装 kubeadm,kubelet 和 kubectl
yum install kubelet-1.19.4 kubeadm-1.19.4 kubectl-1.19.4 -y systemctl enable kubelet.service
-
查看是否安装成功
yum list installed | grep kubelet yum list installed | grep kubeadm yum list installed | grep kubectl
-
部署Kubernetes Master主节点
kubeadm init --apiserver-advertise-address=主节点id --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
5.1 如果上述步骤执行失败了,需要更改配置,并且先执行如下命令,再次执行kubeadm init …
kubeadm reset
5.2 成功如下图所示
-
接下来在master机器上执行
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
-
查看节点情况,如下图所示[由于本次只有一台linux服务器,所有只有master节点]
kubectl get nodes
-
把node节点加入Kubernetes master[单台的情况可直接跳过该步骤]
kubeadm join 10.255.237.120:6443 --token m3lhfe.qpyrfr66bkgbhejp \ --discovery-token-ca-cert-hash sha256:6931417070157e0913fc2868159aaf4bfeef644be29472c8879d9347d0d1a70a
上述命名会在在kubeadm init …执行成功的时候打印在控制台,可在步骤5.2截图的红框查看
-
部署网络查件,下载kube-flannel.yml
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
如果服务器下载不了,可以通过本地下载kube-flannel.yml传到服务器去执行
-
应用kube-flannel.yml文件得到运行时容器
kubectl apply -f kube-flannel.yml #在master机器上执行
-
再次查看节点状态
kubectl get nodes
status依然为notReady,说明还没有就绪,需要等一会儿,然后再次查看,变成ready了,如下图
-
至此,我们的k8s就搭建好了
更多推荐
已为社区贡献2条内容
所有评论(0)