K8S集群搭建(v1.23.6)
k8s集群搭建
·
1. 环境准备
1.1 设置主机名
服务器名称 | 服务器IP | 角色 |
---|---|---|
k8s-master | ip1 | master |
k8s-node1 | ip2 | node |
k8s-node2 | ip3 | node |
1.2主机名与IP地址解析(所有主机)
vim /etc/hosts
加入以下内容
ip1 k8s-master
ip2 k8s-node1
ip3 k8s-node2
1.3 关闭防火墙(所有主机)
关闭防火墙firewalld
systemctl disable firewalld
systemctl stop firewalld
firewall-cmd --state
1.4 SELINUX配置(所有主机)
修改SELinux配置需要重启操作系统。
1.5 时间同步配置(所有主机)
ntpdate time1.aliyun.com
crontab -e
输入
0 */1 * * * /usr/sbin/ntpdate time1.aliyun.com >> /dev/null 2>&1 &
1.6 关闭SWAP分区(所有主机)
修改完成后需要重启操作系统,如不重启,可临时关闭,命令为swapoff -a
永远关闭swap分区,需要重启操作系统
vim /etc/fstab
注释
#/dev/mapper/centos-swap swap swap defaults 0 0
1.7升级操作系统内核
- 导入elrepo gpg key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
- 安装elrepo YUM源仓库
yum -y install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
- 安装kernel-ml版本,ml为长期稳定版本,lt为长期维护版本
yum --enablerepo="elrepo-kernel" -y install kernel-ml.x86_64
- 设置grub2默认引导为0
grub2-set-default 0
- 重新生成grub2引导文件
grub2-mkconfig -o /boot/grub2/grub.cfg
- 更新后,需要重启,使用升级的内核生效。
reboot
- 重启后,需要验证内核是否为更新对应的版本
uname -r
1.8内核配置
- 添加网桥过滤及内核转发配置文件
vim /etc/sysctl.d/k8s.conf
添加
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0
加载网桥过滤及内核转发配置文件
sysctl -p /etc/sysctl.d/k8s.conf
- 加载br_netfilter模块
##加载br_netfilter模块
modprobe br_netfilter
##查看是否加载
lsmod | grep br_netfilter
2.安装docker
–自行安装
本次安装版本:Docker version 1.13.1
3.安装kubeadm,kubelet和kubectl
3.1添加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
3.2 安装kubeadm,kubelet和kubectl
yum install -y kubelet-1.23.6-0 kubeadm-1.23.6-0 kubectl-1.23.6-0
systemctl start kubelet
systemctl enable kubelet
3.3 部署k8s的master和node节点
- 主节点
sudo kubeadm init --apiserver-advertise-address=主机ip --image-repository registry.aliyuncs.com/google_containers
--service-cidr=10.96.0.0/16 --pod-network-cidr=192.168.0.0/16 --kubernetes-version=v1.23.6
执行完命令后,会生成【 kubeadm join …】命令用于node节点的加入,记录下来,用于根节点加入主节点
-
根节点
执行 kubeadm join … -
主节点执行以下命令
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
- 主节点执行
kubectl get nodes
,可查看所有节点
4.部署calico网络组件(主节点)
安装参考网址:
https://projectcalico.docs.tigera.io/about/about-calico
- 获取calico.yaml
wget https://docs.projectcalico.org/manifests/calico.yaml
- 修改calico.yml,修改命名空间(可选)
(1) ###文件最上面添加
---
apiVersion: v1
kind: Namespace
metadata:
name: calico-system
labels:
name: calico-system
(2) 修改所有kube-system为 calico-system
- 创建calico
kubectl create -f calico.yaml
- 监视calico-sysem命名空间中pod运行情况
watch kubectl get pods -n calico-system #watch kubectl get pods -n kube-system
等待直到每个pod状态都为Running.
5.安装可视化管理工具kubord
sudo docker run -d --restart=unless-stopped --name=kuboard -p 8888:80/tcp -p 10081:10081/tcp KUBOARD_ENDPOINT="http://yourip:8888" -e KUBOARD_AGENT_SERVER_TCP_PORT="10081" -v /root/kuboard-data:/data
eipwork/kuboard:v3 在浏览器输入 http://your-host-ip:8888 即可访问 Kuboard v3.x 的界面,
登录方式:
用户名: admin 密 码: Kuboard123
更多推荐
已为社区贡献2条内容
所有评论(0)