安装环境简介

宿主机:mac pro 2015
三台虚拟机harbor:(高可用docker 仓库)、k8s-master、k8s-node(centos7最好的运行环境,最好4.4以上,因为docker大量依赖命名空间、overlay文件系统)

  • 搭建虚拟机网络:VMware Fusion的偏好设置中,点选网络新建,选择mac宿主机链接该网络,网段设置为192.168.111.0,同时新建虚拟机master(192.168.111.10),node(192.168.111.20)
  • 网络配置:在原有配置上添加一下配置,记得修改BOOTPROTO=static

    IPADDR=192.168.111.10
    GATEWAY=192.168.111.2
    DNS1=192.168.111.2
    DNS2=114.114.114.114
    
    在/Library/Preferences/VMware\ Fusion目录中找到自己对应网卡的目录,查看gateway地址。这一步必须正确,否则无法连接外网。
    
  • 如果有自己的代理(--),可以通过koolshare作为网关(kubeadm放在gce里,国内访问不了),如果没有可以直接导入下载好的镜像
    k8s-网络.jpg

安装过程注意事项

  • 为了磁盘读写性能,选择单个文件,作为虚拟机硬盘
  • 注意命名,和硬盘存储位置
  • 网络选择自己创建的网络
  • 磁盘选择100g,防止导入镜像的时候不够用
  • 内存4g(harbor 2g足够)
  • 可以选择双核
  • 选择最小化安装

k8s安装配置

  • hostnamectl set-hostname master ,并配置host 。大型环境通过dns配置相互之间的host访问。
  • 安装依赖yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wget vim net-tools git
  • 设置防火墙systemctl stop firewalld && systemctl disable firewalld
  • 安装iptables服务并清空iptables规则 yum -y install iptables-services && systemctl start iptables && systemctl enable iptables && iptables -F && service iptables save
  • 关闭selinux swapoff -a && sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab关闭交换内存,并将fstab文件中swap相关的注释掉。k8s安装的时候会检测交换区是否关闭,因为这样会影响性能。setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config.

调整内核参数,优化k8s

一下配置除了开启网桥和关闭ipv6是必须参数,其他都是优化性质的配置。

  cat > kubernetes.conf  <<EOF
  net.bridge.bridge-nf-call-iptables=1 #必备开启网桥 必须,否则报错
  net.bridge.bridge-nf-call-ip6tables=1#必备开启网桥
  net.ipv4.ip_forward=1
  net.ipv4.tcp_tw_recycle=0
  vm.swappiness=0 # 禁止使用 swap 空间,只有当系统 OOM 时才允许使用它
  vm.overcommit_memory=1 # 不检查物理内存是否够用vm.panic_on_oom=0 # 开启 OOM
  fs.inotify.max_user_instances=8192
  fs.inotify.max_user_watches=1048576
  fs.file-max=52706963
  fs.nr_open=52706963
  net.ipv6.conf.all.disable_ipv6=1 #关闭ipv6
  net.netfilter.nf_conntrack_max=2310720
  EOF
  cp kubernetes.conf  /etc/sysctl.d/kubernetes.conf
  sysctl -p /etc/sysctl.d/kubernetes.conf #刷新让生效

调整系统时区

timedatectl set-timezone Asia/Shanghai# 设置系统时区为中国/上海
timedatectl set-local-rtc 0# 将当前的 UTC 时间写入硬件时钟
systemctl restart rsyslogsystemctl restart cron# 重启依赖于系统时间的服务
systemctl stop postfix && systemctl disable postfix # 关闭不需要的服务

文章目录