搭建单master、单workNode节点k8s集群。

参考链接:https://blog.csdn.net/networken/article/details/84991940

本文完全根据  https://blog.csdn.net/networken/article/details/84991940进行操作,文字基本来源于原文,图片部门来自本人搭建过程中的实验过程。

选取自己的masterNode1和node1结点,作为实验过程中的机器。

1、删除原有的集群结点

kubectl drain node1 --delete-local-data --force --ignore-daemonsets

kubectl delete node node1

2、更改主机名、更改hosts文件

3、关闭防火墙和selinux
systemctl stop firewalld && systemctl disable firewalld
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config && setenforce 0
4、关闭swap

swapoff -a

yes | cp /etc/fstab /etc/fstab_bak

cat /etc/fstab_bak |grep -v swap > /etc/fstab

5、配置时间同步

6、修改iptables相关参数

cat <<EOF >  /etc/sysctl.d/k8s.conf
vm.swappiness = 0
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
执行命令使得配置生效

modprobe br_netfilter

sysctl -p /etc/sysctl.d/k8s.conf

7、加载ipvs相关模块

由于ipvs已经加入到了内核的主干,所以为kube-proxy开启ipvs的前提需要加载以下的内核模块:
在所有的Kubernetes节点执行以下脚本:

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

#执行脚本
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4

上面脚本创建了/etc/sysconfig/modules/ipvs.modules文件,保证在节点重启后能自动加载所需模块。 使用lsmod | grep -e ip_vs -e nf_conntrack_ipv4命令查看是否已经正确加载所需的内核模块。
接下来还需要确保各个节点上已经安装了ipset软件包。 为了便于查看ipvs的代理规则,最好安装一下管理工具ipvsadm。

# yum install ipset ipvsadm -y

8、安装docker(之前的帖子已经安装了,在此不做赘述)

9、安装kubeadm、kubelet、kubectl

官方安装文档可以参考:
https://kubernetes.io/docs/setup/independent/install-kubeadm/

kubelet 在群集中所有节点上运行的核心组件, 用来执行如启动pods和containers等操作。
kubeadm 引导启动k8s集群的命令行工具,用于初始化 Cluster。
kubectl 是 Kubernetes 命令行工具。通过 kubectl 可以部署和管理应用,查看各种资源,创建、删除和更新各种组件。

#配置kubernetes.repo的源,由于官方源国内无法访问,这里使用阿里云yum源
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

#在所有节点上安装kubelet、kubeadm 和 kubectl
yum install -y kubelet kubeadm kubectl
#安装指定版本
#yum list --showduplicates kubeadm --disableexcludes=kubernetes

#启动kubelet服务
systemctl enable kubelet && systemctl start kubelet

10、部署master结点。

Master节点执行初始化:注意这里执行初始化用到了- -image-repository选项,指定初始化需要的镜像源从阿里云镜像仓库拉取。

kubeadm init --apiserver-advertise-address=192.168.92.56 image-repository registry.aliyuncs.com/google_containers
    --kubernetes-version v1.13.1
    --pod-network-cidr=10.244.0.0/16
初始化命令说明:



原文地址:https://www.cnblogs.com/maowuyu-xb/p/11889918.html