初识kubernetes1——安装K8S集群

网友投稿 238 2022-10-21

初识kubernetes1——安装K8S集群

一、背景介绍

出于技能储备与技术的热爱,近期开始学习K8S,由于网上的许多部署资料较老,按照手册进行部署会经常卡住,所以本系列文章算是个人学习过程中的笔记,记录了马哥与汪洋老师视频学习中的过程。需要强调一点:所有的视频和资料都有滞后性,由于K8S更新很快,所以命令与部署时用到的资源地址经常发生变动,这也是对照老手册部署失败的原因,最好的方式还是github上看,闲言少叙,步入正题。

二、部署前准备工作

网络拓扑

本次采用3节点部署,分别是1个master节点和2个node节点,拓扑如下图所示:

名称

地址

节点网络

192.168.200.0/24

Service网络

10.96.0.0/12

Pod网络

10.244.0.0/16

设置系统主机名以及 Host 文件的相互解析(以master为例)

hostnamectl set-hostname master1 #同时修改完hosts文件并同步给node1&2

安装依赖包

yum install -y conntrack ntpdate ntp ipvsadm ipset iptables curl sysstat libseccomp wget vim net-tools git

4.设置防火墙为 Iptables 并设置空规则

systemctl stop firewalld && systemctl disable firewalldyum -y install iptables-services && systemctl start iptables && systemctl enable iptables && iptables -F && service iptables save

关闭 SELINUX

swapoff -a && sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstabsetenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

调整内核参数

cat > kubernetes.conf <

将master节点设为时间服务器,并让node节点去向master同步时间

#修改master节点配置文件/etc/chrony.conf server ntp1.aliyun.com iburstserver ntp2.aliyun.com iburstserver ntp3.aliyun.com iburst #修改node节点配置文件/etc/chrony.conf server 192.168.200.243 iburst #所以节点重新加载配置systemctl daemon-reload && systemctl restart chronyd

关闭系统不需要服务

systemctl stop postfix && systemctl disable postfix

设置 rsyslogd 和 systemd journald

mkdir /var/log/journal # 持久化保存日志的目录mkdir /etc/systemd/journald.conf.dcat > /etc/systemd/journald.conf.d/99-prophet.conf <

升级系统内核为 5.4188

CentOS 7.x 系统自带的 3.10.x 内核存在一些 Bugs,导致运行的 Docker、Kubernetes 不稳定

yum install -y #安装elrepo的yum源yum --enablerepo=elrepo-kernel install -y kernel-lt #设置开机从新内核启动grub2-set-default 'CentOS Linux (5.4.188-1.el7.elrepo.x86_64) 7 (Core)' #在/boot/grub2/grub.cfg中查看内核版本

kube-proxy开启ipvs的前置条件

modprobe br_netfiltercat > /etc/sysconfig/modules/ipvs.modules <

安装Docker软件

yum install -y yum-utils device-mapper-persistent-data lvm2yum-config-manager \ --add-repo \ yum install -y docker-ce## 创建 /etc/docker 目录mkdir /etc/docker# 配置 daemon.mkdir -p /etc/docker && touch /etc/docker/daemon.jsoncat > /etc/docker/daemon.json <

三、安装K8S集群

添加yum源

cat < /etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=install -y --nogpgcheck kubelet kubeadm kubectl systemctl enable kubelet

初始化master节点

kubeadm init --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16 --kubernetes-version=v1.23.5 | tee kubeadm-init.log #将安装过程文件生成日志,便于后期查看 mkdir -p $HOME/.kubecp -i /etc/kubernetes/admin.conf $HOME/.kube/config

部署flannel网络插件

kubectl apply -f join 192.168.200.147:6443 --token 8klv7f.6cabeg9ape62eshw --discovery-token-ca-cert-hash sha256:42319bf3e55592952a7d960ff17cc41ed428f2c1750a77672917280e998b9218

至此,操作完成,验证结果:

[root@master1 ]# kubectl get nodeNAME STATUS ROLES AGE VERSIONmaster1 Ready control-plane,master 95m v1.23.5node1 Ready 84m v1.23.5node2 Ready 84m v1.23.5[root@master1 ]# kubectl get pod -n kube-systemNAME READY STATUS RESTARTS AGEcoredns-64897985d-46gch 1/1 Running 2 (74m ago) 95mcoredns-64897985d-bvqcj 1/1 Running 2 (74m ago) 95metcd-master1 1/1 Running 2 (74m ago) 96mkube-apiserver-master1 1/1 Running 2 (74m ago) 96mkube-controller-manager-master1 1/1 Running 2 (74m ago) 96mkube-flannel-ds-d7dqn 1/1 Running 2 (74m ago) 93mkube-flannel-ds-kpbr5 1/1 Running 2 (74m ago) 84mkube-flannel-ds-nscwv 1/1 Running 2 (74m ago) 84mkube-proxy-f9c5j 1/1 Running 2 (74m ago) 84mkube-proxy-vf8sg 1/1 Running 2 (74m ago) 95mkube-proxy-zs9xx 1/1 Running 2 (74m ago) 84mkube-scheduler-master1 1/1 Running 2 (74m ago) 96m

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:#yyds干货盘点#Docker分层设计要点
下一篇:Java9版本新特性同一个Jar支持多JDK版本运行
相关文章

 发表评论

暂时没有评论,来抢沙发吧~