开发者社区 > 博文 > k8s环境搭建
分享
  • 打开微信扫码分享

  • 点击前往QQ分享

  • 点击前往微博分享

  • 点击复制链接

k8s环境搭建

  • sh****
  • 2023-12-28
  • IP归属:北京
  • 199浏览

    设置 hostname

     hostnamectl set-hostname k21-master
     vi /etc/hosts

    关闭 Swap

    如果不关闭,默认配置的 kubelet 将无法启动

    swapoff -a
    sed -i 's/.*swap.*/#&/' /etc/fstab

    禁用 SELINUX

    setenforce 0
    sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinux
    sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
    sed -i "s/^SELINUX=permissive/SELINUX=disabled/g" /etc/sysconfig/selinux
    sed -i "s/^SELINUX=permissive/SELINUX=disabled/g" /etc/selinux/config

    关闭并设置开机关闭查看服务状态

    systemctl stop firewalld.service
    systemctl disable firewalld.service
    systemctl status firewalld.service

    创建/etc/sysctl.d/k8s.conf 文件

    cat >>/etc/sysctl.d/k8s.conf<< OFF 
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    OFF
    
    ​#执行如下命令使修改生效
    modprobe br_netfilter
    sysctl -p /etc/sysctl.d/k8s.conf

    加载 ipvs 模块

    modprobe -- ip_vs
    modprobe -- ip_vs_rr
    modprobe -- ip_vs_wrr
    modprobe -- ip_vs_sh
    modprobe -- nf_conntrack_ipv4
    lsmod | grep ip_v
    lsmod | grep ip_vs
    lsmod | grep nf_conntrack_ipv4
    
    yum install -y ipvsadm ipset

    Docker 安装

    step 1: 安装必要的一些系统工具

    yum install -y yum-utils device-mapper-persistent-data lvm2

    Step 2: 设置 stable 镜像 aliyun 仓库

    yum-config-manager --add-repo  https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    Step 3:更新 yum 软件包索引

    yum makecache fast

    Step 4:查看目前官方仓库的 docker 版本

    yum list docker-ce.x86_64 --showduplicates |sort -r #从高到低列出 Docker-ce 的版本

    Step 5:安装

    yum install docker-ce-20.10.8 docker-ce-cli-20.10.8 containerd.io-1.4.10 -y –-allowerasing
    
    # 启动
    systemctl start docker
    systemctl enable docker --now

    Step 6: 设置 Docker 镜像加速器

    修改 docker 配置以适应 kubelet

    mkdir -p /etc/docker
         tee /etc/docker/daemon.json <<-'EOF'
    {
     "registry-mirrors": ["https://7pjglktv.mirror.aliyuncs.com"],
     "exec-opts": ["native.cgroupdriver=systemd"]
    }
    EOF
    
    systemctl daemon-reload;systemctl restart docker

    kubeadm, Kubelet, Kubectl 安装

    kubeadm 是 kubernetes 的集群安装工具,能够快速安装 kubernetes 集群。

    • kubeadm init 启动一个 Kubernetes 主节点
    • kubeadm join 启动一个 Kubernetes 工作节点并且将其加入到集群
    • kubeadm upgrade 更新一个 Kubernetes 集群到新版本
    • kubeadm config 如果你使用 kubeadm v1.7.x 或者更低版本,需要对你的集群做一些 kubeadm upgrade 配置以便使用
    • kubeadm token 使用 kubeadm join 来管理令牌
    • kubeadm reset 还原之前使用变
    • kubeadm version 打印出 kubeadm 版本
    • kubeadm alpha 预览一组可用的新功能以便从社区搜集反馈

    添加yum源

    cat <<EOF > /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
    enabled=1
    gpgcheck=1
    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

    yum安装

    yum install kubeadm-1.21.5 kubectl-1.21.5 kubelet-1.21.5 -y
    kubectl version
    systemctl daemon-reload
    systemctl start kubelet.service
    systemctl enable kubelet.service
    systemctl status kubelet.service

    集群安装-master

    kubeadm init --kubernetes-version=v1.21.5  --apiserver-advertise-address=192.168.18.80   --image-repository registry.aliyuncs.com/google_containers  --service-cidr=10.10.0.0/16 --pod-network-cidr=10.20.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

    添加网路

    kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

    work节点初始化

    work 节点的配置,相对 master 来说简单许多,只需要规划好节点的名称即可

    设置一个机器名为work1

    hostnamectl set-hostname k21-work1
    # 配置对应的 ip
    vi /etc/hosts

    加入集群

    kubeadm join 192.168.18.80:6443 --token xxxxxxxxxxxxxxxx \
    	--discovery-token-ca-cert-hash sha256:4xxxxxx

    查看集群

    文章数
    7
    阅读量
    463