k8s集群初体验

本文详细介绍了如何在三台2核4G的CentOS7机器上搭建k8s集群,包括关闭防火墙和SELinux,禁用swap,设置主机名,配置hosts,调整网络设置,安装并配置时间同步,添加k8syum源,卸载旧版本,安装指定版本的kubelet、kubeadm和kubectl,以及初始化master节点,安装flannel网络插件,最后加入node节点。
摘要由CSDN通过智能技术生成

搭建k8s集群,准备三台2核4g的虚拟机(内存至少2g以上),操作系统选择用centos 7以上版本,先在三台机器上装
好docker。

在三台机器上都执行如下命令操作:
1.关闭防火墙

systemctl stop firewalld

2.关闭selinux

sed -i 's/enforcing/disabled/' /etc/selinux/config

3.关闭swap

vim /etc/fstab
注释掉swap这一行
systemctl reboot
重启生效
free ‐m #查看下swap交换区是否都为0,如果都为0则swap关闭成功

4.给三台机器分别设置主机名

hostnamectl set‐hostname <hostname>
第一台:k8s-master
第二台:k8s-node1
第三台:k8s-node2

5.在 k8s‐master机器添加hosts,执行如下命令,ip需要修改成你自己机器的ip

cat >> /etc/hosts << EOF
192.168.1.128 k8s-master
192.168.1.129 k8s-node1
192.168.1.130 k8s-node2
EOF

6.将桥接的IPv4流量传递到iptables

cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge‐nf‐call‐ip6tables = 1
net.bridge.bridge‐nf‐call‐iptables = 1
EOF

sysctl --system #生效 

7.设置时间同步

yum install ntpdate ‐y
ntpdate time.windows.com

8.添加k8s 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=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum‐key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm‐package‐key.gpg
EOF

9.如果之前安装过k8s,先卸载旧版本

yum remove ‐y kubelet kubeadm kubectl

10.查看可以安装的版本

yum list kubelet ‐‐showduplicates | sort ‐r

11.安装kubelet、kubeadm、kubectl 指定版本,我们使用kubeadm方式安装k8s集群

yum install ‐y kubelet‐1.18.0 kubeadm‐1.18.0 kubectl‐1.18.0

12.开机启动kubelet

systemctl enable kubelet
systemctl start kubelet

以上步骤分别在三台机器上执行完毕后,再接着执行下面的步骤:

在k8s-master机器上执行初始化操作(里面的第一个ip地址就是k8s-master机器的ip,改成你自己机器的,后面两
个ip网段不用动)

kubeadm init ‐‐apiserver‐advertise‐address=192.168.1.128 ‐‐image‐repository registry.aliyuncs.c
om/google_containers ‐‐kubernetes‐version v1.18.0 ‐‐service‐cidr=10.96.0.0/12 ‐‐pod‐network‐cidr=1
0.244.0.0/16

执行完结果如下图:在这里插入图片描述

在k8s-master机器上执行如下命令:

mkdir ‐p $HOME/.kube
sudo cp ‐i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id ‐u):$(id ‐g) $HOME/.kube/config

查看kubectl是否能正常使用

kubectl get nodes

安装pod网络插件

下载flannel插件的yml

wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

修改kube-flannel.yml中的镜像仓库地址为国内源

sed -i ‘s/quay.io/quay-mirror.qiniu.com/g’ kube-flannel.yml

安装网络插件

kubectl apply -f kube-flannel.yml

在所有k8s node机器执行一下命令:

kubeadm join 192.168.1.128:6443 --token 1dl2hu.pkfpe9bs80lfxraq \
    --discovery-token-ca-cert-hash sha256:3e53560754f6862f6314d2aa1a5d07c43dab2e9adba061366fab54d534c0838d 

在k8s-master机器执行查看节点命令

kubectl get nodes

在这里插入图片描述
刚刚安装的三个k8s节点都已经准备就绪,大功告成!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值