K8s集群搭建(kubeadm方案)

发布时间:2024-08-07 点击:110
系统运维
k8s集群搭建(kubeadm方案)
1、最少3台centos
a、至少2核cpu 2g内存 20g硬盘
b、必须在同一网段
本示例中分配为:
master:10.170.0.7worker1:10.170.0.8worker2:10.170.0.92、ip addr确认是否有分配到ipv4地址。没有的话nmtui,automatically connect打上勾
3、用ssh连接
4、禁用防火墙,
systemctl stop firewalld & systemctl disable firewalld5、禁用selinux
sed -i s/selinux=enforcing/selinux=disabled/ /etc/selinux/configsetenforce 0 6、禁用swap
a、swapoff -a b、vi /etc/fstab,注释掉swap7、重启服务器,使其生效。
reboot8、添加k8s源,建议使用阿里或者163的
cat <<eof > /etc/yum.repos.d/kubernetes.repo[kubernetes]name=kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/enabled=1gpgcheck=1repo_gpgcheck=1gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpgeof9、安装kubelet、kubeadm、kubectl
yum install -y kubectl kubeadm kubectl10、kube-proxy开启ipvs
vi /etc/sysctl.d/k8s.confvm.swappiness = 0net.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1net.ipv4.ip_forward = 1modprobe br_netfiltersysctl -p /etc/sysctl.d/k8s.confcat > /etc/sysconfig/modules/ipvs.modules <<eof#!/bin/bashmodprobe -- ip_vsmodprobe -- ip_vs_rrmodprobe -- ip_vs_wrrmodprobe -- ip_vs_shmodprobe -- nf_conntrack_ipv4eofchmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4接下来还需要确保各个节点上已经安装了ipset软件包
yum install -y ipset。 为了便于查看ipvs的代理规则,最好安装一下管理工具
yum install -y ipvsadm。
11、安装docker
yum install -y dockersystemctl start docker & systemctl enable docker12、设置开机启动kubelet
systemctl enable kubelet13、修改hostname(非常重要,如果hostname相同会导致问题)
hostnamectl set-hostname xxxx14、初始化master节点
kubeadm init --kubernetes-version=v1.15.3 --apiserver-advertise-address=10.170.0.7 --pod-network-cidr=10.170.0.0/16 --service-cidr=172.20.0.0/16现在最新版的为:1.15.3,在执行时,若版本出错,错误的信息中,会提示。
如果出现timeout是因为docker无法自动获取到images导致的,可以两种方式解决
a、手动去pull并修改标签
b、修改docker源的方式来解决
15、手动pull images
docker pull mirrorgooglecontainers/kube-apiserver:v1.15.3docker pull mirrorgooglecontainers/kube-controller-manager:v1.15.3docker pull mirrorgooglecontainers/kube-scheduler:v1.15.3docker pull mirrorgooglecontainers/kube-proxy:v1.15.3docker pull mirrorgooglecontainers/pause:3.1docker pull mirrorgooglecontainers/etcd:3.2.24docker pull coredns/coredns:1.2.6docker tag mirrorgooglecontainers/kube-proxy:v1.13.0 k8s.gcr.io/kube-proxy:v1.15.3docker tag mirrorgooglecontainers/kube-scheduler:v1.13.0 k8s.gcr.io/kube-scheduler:v1.15.3docker tag mirrorgooglecontainers/kube-apiserver:v1.13.0 k8s.gcr.io/kube-apiserver:v1.15.3docker tag mirrorgooglecontainers/kube-controller-manager:v1.15.3 k8s.gcr.io/kube-controller-manager:v1.13.0docker tag mirrorgooglecontainers/etcd:3.2.24 k8s.gcr.io/etcd:3.2.24docker tag coredns/coredns:1.2.6 k8s.gcr.io/coredns:1.2.6docker tag mirrorgooglecontainers/pause:3.1 k8s.gcr.io/pause:3.1请注意版本号的问题,若是已更新,请相应的变更 。
16、修改docker源
kubeadm init --image-repository=mirrorgooglecontainers17、重新执行第15步
18、启动成功之后可以看到集群已经启动成功,并且生成了worker加入集群的指令,只要在worker上执行即可加入集群
kubeadm join 10.170.0.7:6443 --token xrhtyd.b61v0mzuu6cea8qg \\\\ --discovery-token-ca-cert-hash sha256:2e5cb96ef0be0e791acb923cf371303b13bda4613b4fd6d11a59bc17a7f8c3dd 19、执行如下指令
mkdir -p $home/.kubesudo cp -i /etc/kubernetes/admin.conf $home/.kube/configsudo chown $(id -u):$(id -g) $home/.kube/config20、这时候输入kubectl get cs 就可以查看服务的运行情况,确保都在正常运行
21、安装network addon(采用官方推荐的flannel方案,其中pod网段必须与之前init的时候设置的pod-network-cidr一致)
yum install -y wgetwget https://raw.githubusercontent.com/coreos/flannel/master/documentation/kube-flannel.yml && kubectl apply -f kube-flannel.yml22、将worker join至master
至此集群已搭建完毕,这时候可以通过kubectl get nodes来查看各节点运行情况
安装prometheus
1、在各个节点下载docker对应镜像
docker pull prom/node-exporterdocker pull prom/prometheus:v2.0.0docker pull grafana/grafana:4.2.02、以daemonset方式部署node-export组件
vi n

2345安全卫士卸载不了怎么办 2345安全卫士卸载方法
商标注册有多少类
MySQL数据库复制的几个常用拓扑结构
服务器托管河北云主机多少钱一台
无法提交资料-备案平台
APACHE支持.htaccess伪静态重写出错 No input file specified的解决方案
3月阿里云企业采购云服务器降价
gpu云服务器报价帮助文档