适合新手的K8s完整部署教程

1、环境准备

  1、VM16pro

  2、centos7

2、先安装三台虚拟机,这里不做额外的叙述,要确保三台机器都可联网,同时记住三台机器的IP地址

  使用命令:nmcli,会有如下图的提示

 记住三台机器的IP地址。如果是新手的话,其实不用去固定IP,先去试试怎么部署都可以!

3、Centos7 需要重新设置镜像源,不然得话安装的时候会失败

  1、备份原来镜像源

  mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

  2、更换阿里云的镜像源

  wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

  3、构建yum 元数据缓存

  yum clean all
  yum makecache

4、开始部署(开始之前建议都切换到root权限进行操作,使用命令:su -)

  1、三台机器都需要执行以下操作

    a:安装epel-release源

    yum -y install epel-release

    b:关于防火墙和selinx,避免与docker容器的防火墙规则出现冲突

    systemctl stop firewalld
    systemctl disable firewalld
    setenforce 0

  2、开始部署master主机,可随意选择一台作为根主机

    a:安装etcd和kubernetes-master

    yum install etcd
    yum install kubernetes-master

    b:编辑/etc/etcd/etcd.conf文件

    vi /etc/etcd/etcd.conf

      编辑如下:

      ETCD_NAME=default
      ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
      ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
      ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379"

    c:编辑/etc/kubernetes/apiserver文件

    vi /etc/kubernetes/apiserver

    编辑如下:  

      KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"
      KUBE_API_PORT="--port=8080"
      KUBELET_PORT="--kubelet-port=10250"
      KUBE_ETCD_SERVERS="--etcd-servers=http://127.0.0.1:2379"
      KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"
      KUBE_ADMISSION_CONTROL="--admission-                         control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"
      KUBE_API_ARGS=""

    d:启动并设置开机启动etcd、kube-apiserver、kube-controller-manager、kube-scheduler等服务    

    for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler;
    do systemctl restart SERVICES;    systemctlenableSERVICES;
    systemctl status $SERVICES ;
    done

    这段代码需完整复制到命令行进行执行

    e:etcd中定义flannel网络

    etcdctl mk /atomic.io/network/config '{"Network":"172.17.0.0/16"}'

  3、以下操作在node1和node2节点进行操作

    1、yum安装flannel和kubernetes-node

    yum install -y flannel
    yum install -y kubernetes-node

    2、为flannel网络指定etcd服务

      a:修改 /etc/sysconfig/flanneld文件

      vi /etc/sysconfig/flanneld

      修改如下(如果没有的话就新增上去):

      FLANNEL_ETCD="http://192.168.146.129:2379"
      FLANNEL_ETCD_KEY="/atomic.io/network"
      注意:这里的192.168.146.129是我们的master主机的IP

      b:修改/etc/kubernetes/config文件  

      vi /etc/kubernetes/config

      修改如下:

      KUBE_LOGTOSTDERR="--logtostderr=true"
      KUBE_LOG_LEVEL="--v=0"
      KUBE_ALLOW_PRIV="--allow-privileged=false"
      KUBE_MASTER="--master=http://192.168.146.129:8080"

      c:修改对应node的配置文件/etc/kubernetes/kubelet

      Node1的修改如下:

        KUBELET_ADDRESS="--address=0.0.0.0"
        KUBELET_PORT="--port=10250"
        KUBELET_HOSTNAME="--hostname-override=192.168.146.30" #修改成Node1的IP
        KUBELET_API_SERVER="--api-servers=http://192.168.146.29:8080" #指定Master节点的 API Server
        KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest"
        KUBELET_ARGS=""

      Node2:修改如下:

      KUBELET_ADDRESS="--address=0.0.0.0"
      KUBELET_PORT="--port=10250"
      KUBELET_HOSTNAME="--hostname-override=192.168.146.28" #修改成Node2的IP
      KUBELET_API_SERVER="--api-servers=http://192.168.146.29:8080" #指定Master节点的 API Server
      KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest"
      KUBELET_ARGS=""

    3、在Node1和Node2上同时执行以下代码进行启动kube-proxy,kebelet,docker,flanneld等服务,并且设置开机启动

    for SERVICES in kube-proxy kubelet docker flanneld;
    do systemctl restart SERVICES;    systemctlenableSERVICES;
    systemctl status $SERVICES;
    done

    以上代码需要复制到命令行中完整执行

5、进行验证

  1、在Master节点上执行

   kubectl get node

  会出现以下内容,表示部署完毕~

至此一个简易的k8s 集群就部署完毕了,因为这个一个新手教程所以没有其他的东西在里面,适合完全不懂的人进行练手,如果你觉得还不错的话麻烦点个赞吧~蟹蟹啦

 


__EOF__

  • 本文作者: 松林.net之路
  • 本文链接: https://www.cnblogs.com/QsFavour/p/18626833
  • 关于博主: 评论和私信会在第一时间回复。或者直接私信我。
  • 版权声明: 除特殊说明外,转载请注明出处~[知识共享署名-相同方式共享 4.0 国际许可协议]
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • posted @   松林-Q  阅读(987)  评论(0编辑  收藏  举报
    相关博文:
    阅读排行:
    · DeepSeek-R1本地部署如何选择适合你的版本?看这里
    · 传国玉玺易主,ai.com竟然跳转到国产AI
    · 揭秘 Sdcb Chats 如何解析 DeepSeek-R1 思维链
    · 自己如何在本地电脑从零搭建DeepSeek!手把手教学,快来看看! (建议收藏)
    · C# 深度学习:对抗生成网络(GAN)训练头像生成模型
    点击右上角即可分享
    微信分享提示