k8s 环境搭建以及虚拟机准备

水深无声 2023-03-05 09:47 61阅读 0赞

虚拟机准备

配置静态IP地址

参考 https://tenten.blog.csdn.net/article/details/103684856

  1. # 首先需要配置静态IP
  2. master1 10.0.10.100 192.168.56.100
  3. worker1 10.0.10.100 192.168.56.101
  4. worker2 10.0.10.100 192.168.56.102
  5. # 两个网卡配置,可能名字会不同,配置以master为例
  6. vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
  7. vi /etc/sysconfig/network-scripts/ifcfg-enp0s8

ifcfg-enp0s3

  1. TYPE="Ethernet"
  2. PROXY_METHOD="none"
  3. BROWSER_ONLY="no"
  4. BOOTPROTO="static" # 固定ip ,不要dhcp, 不然新建重启 ip可能会变。
  5. DEFROUTE="yes"
  6. IPV4_FAILURE_FATAL="no"
  7. IPV6INIT="yes"
  8. IPV6_AUTOCONF="yes"
  9. IPV6_DEFROUTE="yes"
  10. IPV6_FAILURE_FATAL="no"
  11. IPV6_ADDR_GEN_MODE="stable-privacy"
  12. NAME="enp0s3"
  13. UUID="94a0a894-91f8-4c72-9465-5c6227d5e100"
  14. DEVICE="enp0s3"
  15. ONBOOT="yes"
  16. IPADDR=10.0.10.100
  17. NETMASK=255.255.255.0
  18. GATEWAY=10.0.10.1

ifcfg-enp0s8

  1. TYPE=Ethernet
  2. PROXY_METHOD=none
  3. BROWSER_ONLY=no
  4. BOOTPROTO=static
  5. DEFROUTE=yes
  6. IPV4_FAILURE_FATAL=no
  7. IPV6INIT=yes
  8. IPV6_AUTOCONF=yes
  9. IPV6_DEFROUTE=yes
  10. IPV6_FAILURE_FATAL=no
  11. IPV6_ADDR_GEN_MODE=stable-privacy
  12. NAME=enp0s8
  13. UUID=4110ba38-9872-4a80-9bd8-4ec2d7c83100
  14. DEVICE=enp0s8
  15. ONBOOT=yes
  16. IPADDR=192.168.56.100
  17. NETMASK=255.255.255.0
  18. GATEWAY=192.168.56.1

修改主机名

  1. # 修改主机名为 master, 其他机器master改为worker1 worker2
  2. hostnamectl set-hostname master
  3. # 验证
  4. hostname

主机名解析

  1. vim /etc/hosts
  2. 192.168.56.100 master1
  3. 192.168.56.101 worker1
  4. 192.168.56.102 worker2
  5. # ping worker1 验证

关闭防火墙

  1. systemctl stop firewalld
  2. systemctl disable firewalld
  3. # 验证
  4. firewall-cmd --state
  5. # 输出以下内容则成功关闭防火墙
  6. not running

修改 SELINUX

  1. setenforce 0
  2. sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

关闭swap分区

  1. vim /etc/fstab
  2. # 将swap一行注释掉,然后重启服务器
  3. # /dev/mapper/centos-swap swap swap defaults 0 0
  4. # 重启后进行验证, swap 所有参数变为0则正常
  5. free -m

主机时间同步

  1. # 下载时间同步工具
  2. yum -y install ntpdate
  3. # 与阿里云进行时间同步
  4. ntpdate time1.aliyun.com
  5. # 将时间同步放入定时任务中,每小时执行一次
  6. 0 */1 * * * ntpdate time1.aliyun.com
  7. # 编辑
  8. crontab -e
  9. # 查看
  10. crontab -l

添加网桥过滤的方法

  1. # 添加网桥过滤及地址转发
  2. vim /etc/sysctl.d/k8s.conf
  3. net.bridge.bridge-nf-call-ip6tables = 1
  4. net.bridge.bridge-nf-call-iptables = 1
  5. net.ipv4.ip_forward = 1
  6. vm.swappiness = 0
  7. # 加载 网桥过滤模块
  8. modprobe br_netfilter
  9. # 验证
  10. lsmod | grep br_netfilter
  11. # 刷新配置
  12. sysctl -p /etc/sysctl.d/k8s.conf
  13. net.bridge.bridge-nf-call-ip6tables = 1
  14. net.bridge.bridge-nf-call-iptables = 1
  15. net.ipv4.ip_forward = 1
  16. vm.swappiness = 0

开启ipvs

  1. # 安装软件
  2. yum -y install ipset ipvsadm
  3. # 加载需要加载的模块,因为太多,所以写在一起
  4. cat > /etc/sysconfig/modules/ipvs.modules << EOF
  5. modprobe -- ip_vs
  6. modprobe -- ip_vs_rr
  7. modprobe -- ip_vs_wrr
  8. modprobe -- ip_vs_sh
  9. modprobe -- nf_conntrack_ipv4
  10. EOF
  11. # 权限
  12. chmod 755 /etc/sysconfig/modules/ipvs.modules
  13. # 执行
  14. bash /etc/sysconfig/modules/ipvs.modules
  15. # 验证
  16. lsmod | grep -e ip_vs -e nf_conntrack_ipv4

安装docker-ce

  1. # 如果你之前安装过 docker,请先删掉
  2. sudo yum remove docker docker-common docker-selinux docker-engine
  3. # 安装一些依赖
  4. sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  5. # 下载docker源 /etc/yum.repos.d/docker-ce.repo
  6. wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
  7. # 把软件仓库地址替换为 TUNA:
  8. sudo sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
  9. # 安装
  10. sudo yum makecache fast
  11. sudo yum install docker-ce
  12. # 查看可按照的docker版本
  13. yum list docker-ce.x86_64 --showduplicates | sort -r
  14. # 安装指定版本
  15. yum -y install --setopt=obsoletes=0 docker-ce-18.06.3.ce-3.e17
  16. systemctl start docker
  17. systemctl enable docker
  18. docker version
  19. vim /usr/lib/systemd/system/docker.service
  20. # 将下面修改,删掉-H 以及以后的内容
  21. ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
  22. ExecStart=/usr/bin/dockerd
  23. # 修改
  24. vim /etc/docker/daemon.json
  25. {
  26. "exec-opts": ["native.cgroupdriver=systemd"]
  27. }

安装k8s

配置 Kubernetes 镜像

  1. cat <<EOF > /etc/yum.repos.d/kubernetes.repo
  2. [kubernetes]
  3. name=Kubernetes
  4. baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
  5. enabled=1
  6. gpgcheck=1
  7. repo_gpgcheck=1
  8. gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
  9. https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
  10. EOF
  11. # 查看kubeadm源是否可用,会提示key, y确认即可
  12. yum list | grep kubeadm

安装kubeadm kubelet kubectl

  1. # 安装 kubeadm kubelet kubectl
  2. yum install -y kubeadm-1.18.6-0 kubelet-1.18.6-0 kubectl-1.18.6-0
  3. # 修改cgroup 保持与docker一致
  4. vim /etc/sysconfig/kubelet
  5. KUBELET_EXTRA_ARGS="--cgroup-driver=systemd"
  6. # 开启自启动
  7. systemctl enable kubelet

发表评论

表情:
评论列表 (有 0 条评论,61人围观)

还没有评论,来说两句吧...

相关阅读

    相关 K8S 集群环境

    一、安装虚拟机 我这里使用的是VMware和CentOS8,按照以下博客安装即可,我网络选择的是NAT模式,然后磁盘分区选择自动,其他一致。 [https://www