Kubernetes下载 K8S官网下载最新版本即可Kubernetes前期准备工作 关闭防火墙systemctldisablenowfirewalld 关闭selinux和开机自启动setenforce0vietcsysconfigselinux修改内容SELINUXdisabled 关闭swapswapoffasysctlwvm。swappiness0 vietcfstab 如果感觉centos8使用的同步时间不习惯,可安装ntpdateyuminstallyntpdate 服务器同步时间lnsfusrsharezoneinfoAsiaShanghaietclocaltimeechoAsiaShanghaietctimezonentpdatetime2。aliyun。com开机自启动crontabe5ntpdatetime2。aliyun。comvietcrc。localntpdatetime2。aliyun。com 配置limit临时设置ulimitSHn65535永久设置vietcsercuritylimit。confsoftnofile65535hardnofile65535 选一台Master节点设置免钥登录其他节点且需要单独一台kubectl服务器sshkeygentrsaforiink8smaster01k8smaster02k8smaster03k8snode01k8snode02;dosshcopyidi。sshidrsa。done 配置使用的是国内仓库源,将其复制到所有节点gitclonehttps:github。comdotbalok8shainstall。gitcatEOFetcyum。repos。dkubernetes。repo〔kubernetes〕nameKubernetesbaseurlhttp:mirrors。aliyun。comkubernetesyumreposkubernetesel7x8664enabled1gpgcheck0repogpgcheck0gpgkeyhttp:mirrors。aliyun。comkubernetesyumdocyumkey。gpghttp:mirrors。aliyun。comkubernetesyumdocrpmpackagekey。gpgEOF安装ipvsadmyuminstallipvsadmipsetsysstatconntracklibseccompy 所有节点配置ipv模块modprobeipvsmodprobeipvsrrmodprobeipvswrrmodprobeipvsshmodprobenfconntrackipv4 IPVS开机自启动vietcmodulesload。dipvs。confipvsipvsrripvswrripvsshnfconntrackipv4iptablesipsetxtsetiptsetiptrpfilteriptREJECTipipsystemctlenablenowsystemdmodulesload。service 验证ipvs是否加载lsmodgrepeipvsenfconntrackipv4创建k8s。conf文件cdetcsysctl。dvimk8s。confnet。bridge。bridgenfcallip6tables1net。bridge。bridgenfcalliptables1net。ipv4。ipforward1vm。swappiness0使得配置文件生效modprobebrnetfiltersysctlpetcsysctl。dk8s。confKubernetes高可用集群的环境要求 主机名 IP地址 说明 k8smaster01 192。168。2。XX0 master节点 k8smaster02 192。168。2。XX1 master节点 k8smaster03 192。168。2。XX2 master节点 k8smasterlb 192。168。2。XX5 keepalived虚拟IP k8snode01 192。168。2。XX3 worker节点 k8snode02 192。168。2。XX4 worker节点kubeadm组件安装查看kubeadm、kubectl、kubelet版本yumlistkubeadmshowduplicatesyumlistkubectlshowduplicatesyumlistkubeletshowduplicatesyuminstallkubeadmy安装最新版本且依赖的组件也会安装修改pause默认镜像DOCKERCGROUPS(dockerinfogrepCgroupDrivercutdf4)catetcsysconfigkubeletEOFKUBELETKUBEADMARGScgroupdriverDOCKERCGROUPSpodinfracontainerimageregistry。cnhangzhou。aliyuncs。comgooglecontainerspause:3。1EOF kubelet开机自启动systemctldaemonreloadsystemctlenablenowkubelet高可用组件安装k8smaster01、k8smaster02、k8smaster03安装即可yuminstallykeepalivedhaproxyvietchaproxyhaproxy。cfgglobalmaxconn2000ulimitn16384log127。0。0。1local0errstatstimeout30sdefaultslogglobalmodehttpoptionhttplogtimeoutconnect5000timeoutclient50000timeoutserver50000timeouthttprequest15stimeouthttpkeepalive15sfrontendmonitorinbind:33305modehttpoptionhttplogmonitorurimonitorlistenstatsbind:8006modehttpstatsenablestatshideversionstatsuristatsstatsrefresh30sstatsrealmHaproxyStatisticsstatsauthadmin:adminfrontendk8smasterbind0。0。0。0:16443bind127。0。0。1:16443modetcpoptiontcplogtcprequestinspectdelay5sdefaultbackendk8smasterbackendk8smastermodetcpoptiontcplogoptiontcpcheckbalanceroundrobindefaultserverinter10sdowninter5srise2fall2slowstart60smaxconn250maxqueue256weight100serverk8smaster01192。168。2。200:6443checkserverk8smaster02192。168。2。201:6443checkserverk8smaster03192。168。2。202:6443checkvietckeepalivedkeepalived。confglobaldefs{routeridLVSDEVEL}vrrpscriptchkapiserver{scriptetckeepalivedcheckapiserver。shinterval2weight5fall3rise2}vrrpinstanceVI1{stateMASTER一主(MASTER)两从(BACKUP)interfaceens33mcastsrcip192。168。2。200所在主机IP192。168。2。200、192。168。2。201、192。168。2。202virtualrouterid51priority100需修改100、101、102advertint2authentication{authtypePASSauthpassK8S}virtualipaddress{192。168。2。205}trackscript{chkapiserver}}k8smaster01、k8smaster02、k8smaster03配置健康检查vietckeepalivedcheckapiserver。sh!binbasherr0forkin(seq15)docheckcode(pgrepkubeapiserver)if〔〔checkcode〕〕;thenerr(exprerr1)sleep5continueelseerr0breakfidoneif〔〔err!0〕〕;thenechosystemctlstopkeepalivedusrbinsystemctlstopkeepalivedexit1elseexit0fi启动haproxy和keepalivedsystemctlenablenowhaproxysystemctlenablenowkeepalivedKubeadm集群初始化只有master01和初始化的时候才使用vikubeadmconfig。yaml