提纲:
一.环境准备
二.部署前操作
借助ntp服务设置各节点的时间同步
通过DNS完成各节点名称解析,测试环境主机,测试用hosts文件代替
配置ssh免密登入
关闭各节点iptables和firewalld服务
禁用SELinux
禁用Swap设备
打开iptables桥接功能及路由转发
三.部署k8s集群
部署docker
部署kubernetes
配置Master节点初始化
在master安装flannel插入
Node节点加入
在master上查看
系统 | 主机名 | ip |
---|---|---|
Centos7.5 | master | 4X.5X.44.101 |
Centos7.5 | node01 | 4X.5X.38.116 |
Centos7.5 | node02 | 4X.5X.39.27 |
借助ntp服务设置各节点的时间同步
下载
yum -y install chrony
启动
systemctl start chronyd && systemctl enable chronyd
检测
chronyc sources
通过DNS完成各节点名称解析,测试环境主机,测试用hosts文件代替
hostnamectl set-hostname master
同理设置node01、node02
配置各节点hosts
配置master配置ssh免密登入。
ssh-keygen -t rsa
ssh-copy-id node01
ssh-copy-id node02
如有firewalld服务或iptables规则关闭各节点iptables和firewalld服务
systemctl stop firewalld && systemctl disable firewalld
iptables -F
禁用SELinux
关闭临时
setenforce 0
永久关闭
/etc/sysconfig/selinux 中改SELINUX=disabled
禁用Swap设备
检查
swapoff -a
free
打开iptables桥接功能及路由转发
各节点开启桥接。
sysctl -a |grep bridge过滤bridge不存在就用下面命令加载br_netfilter modprobe br_netfilter cat >> /etc/sysctl.d/k8s.conf << EOF net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 EOF sysctl -p /etc/sysctl.d/k8s.conf
各节点开启转发。
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.confsysctl -p
部署docker
获取yum、安装、开启。
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo yum -y install docker-cesystemctl enable docker && systemctl start docker docker --version
部署kubernetes
获取yum。
cat > /etc/yum.repos.d/kubernetes.repo << EOF [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。
yum -y install kubelet kubectl kubeadm systemctl enable kubelet
配置Master节点初始化
部署(由于访问k8s源达不到,用阿里源)。
kubeadm version #查看安装的版本 kubeadm init --kubernetes-version="v1.20.5" --pod-network-cidr=10.244.0.0/16 --image-repository registry.aliyuncs.com/google_containers #根据上面版本填写
保存初始化中信息,方便节点加入。
执行初始化中提示必要步骤
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl查看节点状态。
kubectl get nodes
在master中安装flannel插入
根据上图,状态是NotReady,安装flannel插件
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml如果wget下载有问题就用其他方法把yml文件下载下来 kubectl apply -f kube-flannel.yml
用kubectl查看状态是否变化为Ready。
kubectl get nodes
Node节点加入
将 master初始中保存的 kueadm join ip:6443 --token **
复制到node01、node02中执行
在master上查看
查看节点是否加入。
kubectl get nodes
查看pod资源状态(Running正常)。
kubectl get pod -n kube-system
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。