一、kube-proxy开启ipvs的前置条件
//1、加载netfilter模块 modprobe br_netfilter //2、添加配置文件 cat > /etc/sysconfig/modules/ipvs.modules <<EOF #!/bin/bash modprobe -- ip_vs modprobe -- ip_vs_rr modprobe -- ip_vs_wrr modprobe -- ip_vs_sh modprobe -- nf_conntrack_ipv4 EOF //3、赋予权限并引导 chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules &&lsmod | grep -e ip_vs -e nf_conntrack_ipv4
二、安装docker软件
//1、docker依赖 yum install -y yum-utils device-mapper-persistent-data lvm2 //2、导入阿里云的docker-ce仓库 yum-config-manager \ --add-repo \http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo //3、更新系统安装docker-ce yum update -y && yum install -y docker-ce //4、uname -r 检测版本,再设置版本,后又重启reboot grub2-set-default "CentOS Linux (4.4.182-1.el7.elrepo.x86_64) 7 (Core)" //5、启动 systemctl start docker //6、开机自启 systemctl enable docker //7、配置deamon cat > /etc/docker/daemon.json <<EOF { "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" } } EOF //8、创建目录存放docker配置文件 mkdir -p /etc/systemd/system/docker.service.d //9、重启docker systemctl daemon-reload && systemctl restart docker && systemctl enable docker
三、安装Kubeadm(主从配置)
//1、导入阿里云的YUM仓库 cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF //2、在每个节点安装kubeadm(初始化工具)、kubectl(命令行管理工具)、kubelet(与docker的cri交互创建容器) yum -y install kubeadm-1.15.1 kubectl-1.15.1 kubelet-1.15.1 // 3、k8s开机自启.kubelet需要与容器接口进行交互启动容器,而k8s通过Kubeadm安装出来以后都是以pod方式存在,也就是底层以容器的方式运行,所以一定要开机自启 systemctl enable kubelet.service
四、初始化主节点(master)
1、导入镜像
Xshell rz命令
kubeadm-basic.images.tar.gz
2、解压
tar -zxvf kubeadm-basic.images.tar.gz
3、导入,创建文件load-images.sh
4、编辑load-images.sh
5、赋予权限并执行
6、复制到其他节点
scp -r kubeadm-basic.images load-images.sh root@k8s-node01:/root/
节点导入 ./load-images.sh
7、初始化节点
//显示init默认的初始化文件,并打印出来到kubeadm-config.yaml文件中 kubeadm config print init-defaults > kubeadm-config.yaml
8、获得了kubeadm的初始化模板,并修改
8.1 ip地址修改,不知道自己的ifconfig
8.2版本号修改
8.3、添加pod网段:podSubnet: "10.244.0.0/16"
8.4、修改默认的调度方式
--- apiVersion: kubeproxy.config.k8s.io/v1alpha1 kind: KubeProxyConfiguration featureGates: SupportIPVSProxyMode: true mode: ipvs
9、指定从那个yaml文件进行初始化安装,自动颁发证书,并将所有信息写入到kubeadm-init.log
kubeadm init --config=kubeadm-config.yaml --experimental-upload-certs | tee kubeadm-init.log
10、查看kubeadm-init.log
11、查看证书
12、成功后根据日志提示操作
13、查看节点
五、部署网络
其他随笔:
拷贝镜像到其他文件 scp -r kubeadm-basic.images load-images.sh root@k8s-node01:/root/ wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml 节点加入集群 kubeadm join 192.168.100.179:6443 --token abcdef.0123456789abcdef \ --discovery-token-ca-cert-hash sha256:2bb6e02e45b59bdba86e0478b60d984730995924379c2973a4049a601316689f //查看日志 vim kubeadm-init.log //查看节点信息 kubectl get pod -n kube-system kubectl get pod -n kube-system -w //监视 kubectl get pod -n kube-system -o wide // 详细信息 //存放文件 mv install-k8s / /usr/local/ nmtui命令调出修改窗口
链接:https://www.bilibili.com/video/av66617940/?p=7