k8s搭建部署--三个节点服务器(超详细)

本文档详细介绍了如何在三个节点上搭建Kubernetes集群,包括Docker环境准备、kubeadm、kubelet和kubectl的安装、Centos和Ubuntu的系统配置、节点的加入以及Flannel网络插件的部署。最后,通过创建nginx pod进行测试,确保集群正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

k8s搭建部署--三个节点服务器

 docker环境准备

 安装kubeadm,kubelet和kubectl

    Centos添加kubernetes YUM软件源    

    ubuntu修改源

 master主机执行

 node节点执行

部署flannel

查看集群状态  

测试


k8s搭建部署--三个节点服务器

#建议:先全部在一台master上执行完成集群的安装,最后node节点再加入集群

#硬件环境的要求:
    cpu:2c
    memory:4G/2G
#软件环境的要求:


# docker环境准备

准备4台虚拟机(centos,一台master,三台node)并运行以下脚本:
    
    #!/bin/bash
    
    #解决依赖关系
   

yum install -y yum-utils zlib zlib-devel openssl openssl-devel pcre pcre-devel gcc gcc-c++ autoconf automake make  psmisc  lsof  net-tools vim python3 


    #关闭防火墙
 

   systemctl stop  firewalld
   systemctl disable  firewalld


    #关闭selinux
    setenforce 0   #临时关闭
    #永久关闭
    sed -i  '/^SELINUX/ s/enforcing/disabled/' /etc/selinux/config

# 安装docker
## 卸载旧版本

    yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-engine


               

docker版本

```
[root@k8s-master ~]# docker version
Client: Docker Engine - Community
 Version:           20.10.8
 API version:       1.41
 Go version:        go1.16.6
 Git commit:        3967b7d
 Built:             Fri Jul 30 19:53:39 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.8
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.6
```

## 安装yum-utils软件包(提供yum-config-manager 实用程序),配置加速源

    

yum install -y yum-utils
    yum-config-manager \
            --add-repo \
                http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

## 安装docker,设置开机自启
  

 yum install -y docker-ce docker-ce-cli containerd.io
    systemctl start docker
    systemctl enable docker

## 配置 Docker使用systemd作为默认Cgroup驱动

每台服务器上都要操作,master和node上都要操作

  

 cat <<EOF > /etc/docker/daemon.json
    {
       "exec-opts": ["native.cgroupdriver=systemd"]
    }
    EOF


    #重启docker
    systemctl restart docker
## 关闭swap分区,每台服务器都需要操作

    swapoff -a # 临时
    sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab #永久
## 重新命名主机,在所有主机上上添加如下命令,修改hosts文件

    hostnamectl set-hostname master
    
    hostnamectl set-hostname node1
    
    hostnamectl set-hostname node2
## 修改主机名后使用su - root重新登陆

每台机器上的/etc/hosts文件都需要修改

    

su  - root
    
    cat >> /etc/hosts << EOF 
    192.168.0.17 master
    192.168.0.89 node1
    192.168.0.11 node2
    192.168.0.19 node3
    EOF

# 安装kubeadm,kubelet和kubectl

kubeadm --》k8s的管理程序--》在master上运行的--》建立整个k8s集群,背后是执行了大量的脚本,帮助我们去启动k8s

kubelet --》在node节点上用来管理容器的--》管理docker,告诉docker程序去启动容器
            master和node通信用的--》管理docker,告诉docker程序去启动容器
一个在集群中每个节点(node)上运行的代理。 它保证容器(containers)都 运行在 Pod 中。

kubectl --》在master上用来给node节点发号施令的程序,用来控制node节点的,告诉它们做什么事情的,是命令行操作的工具

    集群里的每台服务器都需要安装
    
    # Centos添加kubernetes 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
    

    ubuntu修改源


    #====
    ubuntu里修改源,使用阿里云的源,参考文档
    https://blog.youkuaiyun.com/wangyijieonline/article/details/105360138
    #===ubuntu系统里
    安装kubelet,kubeadm,kubectl
    添加apt key以及源(所有主机)
    
    #下载相关软件
    sudo apt update && sudo apt install -y apt-transport-https curl
    
    #下载apt-key.gpg
    curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
    
    #添加k8s的阿里云的源
    echo "deb https://mirrors.aliyun.com/kubernetes/ap

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值