温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎样搭一个K8s集群

发布时间:2021-12-16 09:59:09 来源:亿速云 阅读:142 作者:柒染 栏目:云计算

怎样搭一个K8s集群,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

在公司一直用的现成的kubernetes环境,封装的组件很多,这次尝试自己搭一个轻量级的环境,踩了好多坑。
前置要求:
    两台主机,可以是云服务器、虚拟机,网络要互通,内存最好大于  2GB,主机上都要提前安装Docker。

下面我使用的两台主机。

主机名(centos)    
ip    
角色    
guozhao-50    
192.168.9.50    
Master    
guozhao-51    
192.168.9.51    
slave    


搭建过程


1、首先在两台主机配置阿里云镜像源地址


#进入root用户 sudo su #配置镜像地址 cat </etc/yum.repos.d/kubernetes.repo [kubernetes]name=Kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=1repo_gpgcheck=1gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpgEOF

2、设置两台主机SELinux为disable,设置swap进禁用

   
   
   #禁用SELinux
    setenforce 0
    #禁用swap,由于启动swap会产生性能问题,所以k8s默认禁用swap
    sed -ri 's/.*swap.*/#&/' /etc/fstab
    swapoff -a


3、在两台主机分别安装kubeadm,kubelet,kubectl

yum install -y kubelet kubeadm kubectl

4、两台主机设置开机自启


   
   
   systemctl enable kubelet.service


5、创建集群


   
   
   
#在准备作为master节点的主机运行命令    kubeadm init \      --kubernetes-version=v1.19.0 \      --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers \      --pod-network-cidr=10.24.0.0/16 \      --ignore-preflight-errors=Swap    
   # --kubernetes-version 指定版本    # --image-repository 由于墙的问题,使用阿里云的镜像地址    # --pod-network-cidr 设置pod区间,不设置也可正常工作    # --ignore-preflight-errors 如果预检出现错误可以忽略      

 

此时可以看到各个组件已经启动起来了


 怎样搭一个K8s集群

如果上一步出现错误,需要重置kubeadm

   
   
   kubeadm reset


6、但是此时kubectl命令行不能用,需要将kubeconfig复制到指定位置


   
   
   #切回普通用户
    su centos
    #拷贝文件
    mkdir ~/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config

此时查看集群信息
   
   
   kubectl get node

怎样搭一个K8s集群

可以看到是NotReady,原因是没有准备CNI网络插件

7、安装CNI网络插件


   
   
   #这里安装的weave
    kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

怎样搭一个K8s集群

等待安装完成。

稍候再查看master,状态为Ready

怎样搭一个K8s集群


8、node节点的加入


   
   
   #首先在master获取token,在master执行
    kubeadm token list
    #如果token已经过期,体现为找不到token,执行以下命令生成token
    kubeadm token create #生成token

怎样搭一个K8s集群

在master获取ca证书sha256编码hash值

   
   
   openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'


怎样搭一个K8s集群

在slave上执行kubeadm join


   
   
   sudo su #进入root用户
    kubeadm join <master-ip:port> \ #master-ip:port为kubeconfig文件的ip和port
    --token  <token> \ #上一步的token
    --discovery-token-ca-cert-hash sha256:<hash>#上一步的hash

查看终端

怎样搭一个K8s集群


   
   
   注:如果遇到下图错误执行命令
    echo "1" >/proc/sys/net/bridge/bridge-nf-call-iptables

怎样搭一个K8s集群

9、在node节点使用kubeconfig

将master节点的kubeconfig文件复制到slave节点普通用户的~/.kube下

10、查看节点情况
   
   
   #开始可能会出现node节点NotReady,等待镜像拉取完毕会变为Ready
    kubectl get node

怎样搭一个K8s集群

此时一主一从的k8s集群已经搭建完毕。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI