无锡腾讯云服务器电话 小伙伴儿们,如果觉得文章干货满满,欢迎加入公众号【编程识堂】,更多干货等你们来哦! 硬件安装要求 注:由于我资源有限,下面只是模拟集群,生产环···
无锡腾讯云服务器电话
小伙伴儿们,如果觉得文章干货满满,欢迎加入公众号【编程识堂】,更多干货等你们来哦!
硬件安装要求
注:由于我资源有限,下面只是模拟集群,生产环境,各位小伙伴请合理安排好资源
临时演示集群节点
master192.168.150.128node1192.168.150.129node2192.168.150.130node3192.168.150.131Centos安装
centos下载地址
推荐大家使用centos7.6以上版本。
下载地址http://mirrors.aliyun.com/centos/7/isos/x86_64/查看centos系统版本命令:cat/etc/centos-release修改虚拟机为固定ip 修改 IPADDR=192.168.150.131vi/etc/sysconfig/network-scripts/ifcfg-ens33DEFROUTE=yesONBOOT=yesIPADDR=192.168.150.128NETMASK=255.255.255.0GATEWAY=192.168.150.2DNS1=192.168.150.2重启系统网络systemctlrestart network配置阿里云yum源
1.下载安装wgetyuminstall -y wget2.备份默认的yummv/etc/yum.repos.d /etc/yum.repos.d.backup3.设置新的yum目录mkdir-p /etc/yum.repos.d4.下载阿里yum配置到该目录中,选择对应版本wget-O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo5.更新epel源为阿里云epel源mv/etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backupmv/etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epeltesting.repo.backupwget-O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo6.重建缓存yumclean allyummakecache7.看一下yum仓库有多少包yumrepolistyumupdate升级系统内核
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm yum--enablerepo=elrepo-kernel install -y kernel-ltgrep initrd16 /boot/grub2/grub.cfg grub2-set-default0reboot查看centos系统内核命令
uname-runame-a查看CPU命令
lscpu查看内存命令
freefree-h查看硬盘信息
fdisk-lcentos7系统配置
关闭防火墙
注:生产环境勿关
systemctlstop firewalldsystemctldisable firewalld关闭selinux
sed-is/SELINUX=enforcing/SELINUX=disabled/g/etc/sysconfig/selinux setenforce0网桥过滤
vi /etc/sysctl.conf net.bridge.bridge-nf-call-ip6tables =1net.bridge.bridge-nf-call-iptables =1net.bridge.bridge-nf-call-arptables =1net.ipv4.ip_forward=1net.ipv4.ip_forward_use_pmtu =0生效命令 sysctl--system查看效果 sysctl -a|grep"ip_forward"开启IPVS
阿里云登录服务器配置
安装IPVSyum -y install ipset ipvsdm编译ipvs.modules文件vi /etc/sysconfig/modules/ipvs.modules文件内容如下!/bin/bashmodprobe -- ip_vs modprobe -- ip_vs_rr modprobe -- ip_vs_wrr modprobe -- ip_vs_sh modprobe -- nf_conntrack_ipv4赋予权限并执行chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules &&lsmod | grep -e ip_vs -e nf_conntrack_ipv4重启电脑,检查是否生效reboot lsmod | grep ip_vs_rr报错:
原因是:安装K8S需要配置ipvs功能,但是在进行配置时会报错modprobe: FATAL: Module nf_conntrack_ipv4 not found.
这是因为使用了高内核,较如博主就是使用了5.2的内核,一般教程都是3.2的内核。在高版本内核已经把nf_conntrack_ipv4替换为nf_conntrack了。所以正确配置应该如下
vi /etc/sysconfig/modules/ipvs.modules文件内容如下!/bin/bashmodprobe -- ip_vs modprobe -- ip_vs_rr modprobe -- ip_vs_wrr modprobe -- ip_vs_sh modprobe -- nf_conntrack赋予权限并执行chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules &&lsmod | grep -e ip_vs -e nf_conntrack同步时间
避免集群中时间不同步导致问题
安装软件yum -yinstallntpdate向阿里云服务器同步时间ntpdate time1.aliyun.com删除本地时间并设置时区为上海rm -rf /etc/localtimeln-s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime查看时间date-R ||date命令补全
安装bash-completionyum-y install bash-completion bash-completion-extras使用bash-completionsource/etc/profile.d/bash_completion.sh关闭swap分区
注:安装k8s集群,官方建议关闭swapoff
临时关闭:swapoff -a永久关闭:vi /etc/fstab将文件中的/dev/mapper/centos-swap这行代码注释掉/dev/mapper/centos-swap swap swap defaults 0 0确认swap已经关闭:若swap行都显示 0 则表示关闭成功free -mhosts配置
vi/etc/hosts文件内容如下:cat<docker安装
docker安装及使用在之前文章已详细介绍了,请参考:Docker容器虚拟化技术
修改Cgroup Driver
购买云服务器怎么使用
只需另外修改docker配置
修改cgroupdriver是为了消除安装k8s集群时的告警
vi/etc/docker/daemon.json修改daemon.json,新增:"exec-opts": ["native.cgroupdriver=systemd"]重启docker服务:systemctl daemon-reload systemctl restart docker查看修改后状态:dockerinfo| grep Cgroupkubeadm安装
新建repo文件vi/etc/yum.repos.d/kubernates.repoyum -y makecache[kubernetes]name=Kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=0repo_gpgcheck=1gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpghttps://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg更新缓存yumclean allyum-y makecache4验证源是否可用yumlist | grep kubeadm如果提示要验证yum-key.gpg是否可用,输入y。查找到kubeadm。显示版本查看k8s版本yumlist kubelet --showduplicates | sort -r安装k8s-1.17.5yuminstall -y kubelet-1.17.5 kubeadm-1.17.5 kubectl-1.17.5设置kubelet
增加配置信息
如果不配置kubelet,可能会导致K8S集群无法启动。为实现docker使用的cgroupdriver与kubelet使用的cgroup的一致性。vi /etc/sysconfig/kubelet KUBELET_EXTRA_ARGS="--cgroup-driver=systemd"设置开机启动
systemctlenablekubelet初始化镜像
如果是第一次安装k8s,手里没有备份好的镜像,可以执行如下操作 。
查看安装集群需要的镜像
kubeadm config imageslist编写执行脚本
mkdir -p /datacd/data vi images.sh!/bin/bash下面的镜像应该去除"k8s.gcr.io"的前缀,版本换成kubeadm config images list命令获取到的版本images=( kube-apiserver:v1.17.5 kube-controller-manager:v1.17.5 kube-scheduler:v1.17.5 kube-proxy:v1.17.5 pause:3.1 etcd:3.4.3-0 coredns:1.6.5 )forimageNamein${images[@]};dodocker pull registry.cnhangzhou.aliyuncs.com/google_containers/$imageNamedocker tag registry.cnhangzhou.aliyuncs.com/google_containers/$imageNamek8s.gcr.io/$imageNamedocker rmi registry.cnhangzhou.aliyuncs.com/google_containers/$imageNamedone执行脚本
给脚本授权chmod+ximages.sh 执行脚本 ./images.sh保存镜像
dockersave -o k8s.1.17.5.tar k8s.gcr.io/kube-proxy:v1.17.5 k8s.gcr.io/kube-apiserver:v1.17.5 k8s.gcr.io/kube-controller-manager:v1.17.5 k8s.gcr.io/kube-scheduler:v1.17.5 k8s.gcr.io/coredns:1.6.5 k8s.gcr.io/etcd:3.4.3-0 k8s.gcr.io/pause:3.1导入镜像
导入master节点镜像tar包
dockerload-ik8s.1.17.5.tar导入node节点镜像tar包
docker save -o k8s.1.17.5.node.tar k8s.gcr.io/kube-proxy:v1.17.5 k8s.gcr.io/pause:3.1node节点需要kube-proxy:1.17.5 和pause:3.1,2个镜像scp k8s.1.17.5.node.tar root@192.168.150.129:/data/scp k8s.1.17.5.node.tar root@192.168.150.130:/data/scp k8s.1.17.5.node.tar root@192.168.150.131:/data/docker load -i k8s.1.17.5.node.tar初始化集群
配置k8s集群网络
calico官网地址
官网下载地址: 放在data目录下https://docs.projectcalico.org/v3.14/manifests/calico.yamlgithub地址:https://github.com/projectcalico/calico镜像下载:dockerpull calico/cni:v3.14.2dockerpull calico/pod2daemon-flexvol:v3.14.2dockerpull calico/node:v3.14.2dockerpull calico/kube-controllers:v3.14.2配置hostname:hostnamectlset-hostname masterbashhostnamectlset-hostname node1bashhostnamectlset-hostname node2bashhostnamectlset-hostname node3bash初始化集群信息:calico网络
kubeadminit --apiserver-advertise-address=192.168.150.128--kubernetes-version1.17.5--service-cidr=10.1.0.0/16--pod-network-cidr=10.81.0.0/16Master执行配置命令
mkdir-p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudochown$(id -u):$(id -g) $HOME/.kube/confignode节点加入集群信息
kubeadmjoin192.168.150.128:6443--tokengu7zbw.cmiwgrxyfuqnyssz--discovery-token-ca-cert-hashsha256:4b9385612d588e210e54e880b8cea958ee904b263e5e08a710a661d1a5d5bbac注:status 一直NotReady是因为网络没准备好
kubectlapply-fcalico.yamlkubectl命令自动补全
echo"source <(kubectl completion bash)">> ~/.bash_profilesource~/.bash_profile卸载集群
删除pod
kubectldeletenode--all清空KS8集群设置
kubeadmreset卸载通过yum安装的组件
yumerase -y kubelet kubectl kubeadm kubernetes-cniyumclean allyumremove kube*删除文件
rm-rf ~/.kube/rm-rf /etc/kubernetes/rm-rf /etc/systemd/system/kubelet.service.drm-rf /etc/systemd/system/kubelet.servicerm-rf /usr/bin/kube*rm-rf /etc/cnirm-rf /opt/cnirm-rf /var/lib/etcdrm-rf /var/etcd删除k8s镜像
查看镜像dockerimages删除对应的k8s容器镜像dockerrmi -f xxxx魔兽世界云服务器下载
您好:云优数据云计算 www.yunyoushuju.cn 2核2G6M最低19.9元/月 欢迎开机

发表评论
最近发表
标签列表