~阿弥陀佛~

人生能有多少天是按照自己的想法去活着

K8S集群安装1

环境准备

1.      Vmware14.x

2.      centos7 .6

3.      1主控2节点:自定义  4 4G内存 100G磁盘     虚拟磁盘类型SCSI  注意将虚拟机磁盘存储为单个文件。 网络连接仅主机

4.      Harbor 12G  100G磁盘  网络连接仅主机

5.      软路由:24G  20G磁盘   客户机操作系统microsoft windows koolshare国内软路由的开源项目默认密码koolshare,固件类型BIOS 虚拟磁盘类型选择IDE  网络连接仅主机和NAT双网卡, 注意网络接口-WAN物理网络设置中的桥接关闭,将LAN基本设置中的IPV4地址设置为虚拟机网段路由地址

系统初始化

网络

vi   /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=static

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=ens33

UUID=b2aad6ef-490c-468e-ba66-a785994319a4

DEVICE=ens33

ONBOOT=yes

IPADDR=192.168.66.21

NETMASK=255.255.255.0

GATEWAY=192.168.66.1

DNS1=192.168.66.1

DNS2=114.114.114.114

 

主机名(大型环境中有DNS解析无需hosts

hostnamectl  set-hostname master-1  node-1 node-2master1

vi /etc/hosts  node-1 node-2master1

192.168.66.10 master-1

192.168.66.20 node-1

192.168.66.21 node-2

 

配置163 yum

 wget http://mirrors.163.com/.help/CentOS7-Base-163.repo

cp CentOS7-Base-163.repo /etc/yum.repos.d/  (拷贝到各个节点依次执行以下步骤)

 cd /etc/yum.repos.d/

 mv CentOS-Base.repo CentOS-Base.repo.bak

mv CentOS7-Base-163.repo CentOS-Base.repo

yum clean all   &&   yum makecache  &&  yum update

  

安装依赖包

yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wget vim net-tools git

 

设定防火墙为iptables清空规则

systemctl stop firewalld && systemctl disable firewalld

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   (关闭虚拟内存 ,安装K8S初始化时会检测SWAP分区是否关闭,因为它认为如果没有关闭的话容器极有可能会在虚拟内存中去运行会大大降低其工作效率)

setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

 

 

 

针对K8S调整内核参数(红色区域为必备参数开启网桥模式)

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

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

#将当前的 UTC时间写入硬件时钟

timedatectl set-local-rtc 0

#重启依赖于系统时间的服务

systemctl restart rsyslog

systemctl restart crond

 

关闭系统不需要的服务(邮件服务)

systemctl stop postfix && systemctl disable postfix

 

 

设置 rsyslogd systemd journald(在cent7后因为它的引导方式改为了systemd,因此会有两个日志系统同时在工作,syslogjournald,此处使用journald

mkdir /var/log/journal #持久化保存日志的目录

mkdir /etc/systemd/journald.conf.d #创建配置文件存放目录

cat > /etc/systemd/journald.conf.d/99-prophet.conf <<EOF

[Journal]

#持久化保存到磁盘

Storage=persistent

#压缩历史日志

Compress=yes

SyncIntervalSec=5m

RateLimitInterval=30s

RateLimitBurst=1000

#最大占用空间 10G

SystemMaxUse=10G

#单日志文件最大 200M

SystemMaxFileSize=200M

#日志保存时间 2

MaxRetentionSec=2week

#不将日志转发到 syslog,所有日志由journald保存管理,减轻系统压力

ForwardToSyslog=no

EOF

systemctl restart systemd-journald

 

 

升级系统内核为4.44

Cent7.x系统自带的3.10.x内核存在一些bug,导致运行的dockerkubernetes不稳定

 

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

#安装完成后检/boot/grub2/grub.cfg对应内menuentry中是否包initrd16配置,如果没有,再安装一次!

yum –enablerepo=elrepo-kernel install y kernel-lt

#设置开机从新内核启

grub2-set-default 'CentOS Linux (4.4.189-1.el7.elrepo.x86_64) 7 (Core)'

Next Post

Previous Post

Leave a Reply

© 2021 ~阿弥陀佛~

ICP备案号: 京ICP备19038630号

版权所有@ 王力翔

耗时 0.196 秒 | 查询 41 次 | 内存 22.46 MB