当前位置: 首页 > news >正文

k8s 安装 kubernetes安装教程 虚拟机安装k8s centos7安装k8s kuberadmin安装k8s k8s工具安装 k8s安装前配置参数

k8s采用master, node1, node2 。三台虚拟机安装的一主两从,机器已提前安装好docker。下面是机器配置,k8s安装过程,以及出现的问题与解决方法

  虚拟机全部采用静态ip, master 30机器, node1 31机器, node2 32机器

                                       机器ip 192.168.164.30   # master

                                                   192.168.164.31   # node1

                                                   192.168.164.31   # node2

机器配置:

                 2核2g

 k8s安装步骤

1. 关闭防火墙(三节点都配置):

 systemct] stop firewal1d	# 永久systemct] disable firewal1d 

2.关闭selinux(三台节点都配置):

#永久 选择一个即可,永久删除,毕竟是虚拟机
sed -i 's/enforcing/disabled/'  /etc/selinux/config
setenforce 0 #临时

3.关闭swap(三台节点都配置):

#临时
swapoff -a # 永久
sed -ri  's/.*swap.*/#&/'  /etc/fstab

4.设置hostname(三台节点分别配置)

# master节点, 名字随意也可以叫master,与后面的配置 对应即可
hostnamectl  set-hostname  k8smaster####
#### 注意下面是在其他节点输入命令
##### node1 节点:
hostnamectl set-hostname k8snode1#node2 节点
hostnamectl set-hostname k8snode2

5.master节点 添加hosts配置

cat >> /etc/hosts << EOF
192.168.164.30 k8smaster
192.168.164.31 k8snode1
192.168.164.32 k8snode2
EOF

6.将桥接的IPv4流量传递到iptables的链(三台节点都配置):

cat  >  /etc/sysctl.d/k8s.conf  <<  EOF 
net.bridge.bridge-nf-ca11-ip6tables = 1
net.bridge.bridge-nf-ca11-iptables = 1
EOF
#配置生效
sysctl  --system 

7. 虚拟机同步时间(三台节点都配置):

# yum仓库安装插件
yum install  ntpdate -y#同步
ntpdate time.windows.com

8.yum仓库配置k8s(三台节点都配置):

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

 更新yum(三台都输入):

   yum update -y

9. 安装kuberadmin(三台节点都配置) :

yum install -y  kubelet-1.18.0  kubeadm-1.18.0  kubect1-1.18.0
# systemctl 管理 kubelet
systemctl  enable  kubelet

10. 修改网络配置(三台节点都配置):


#在/etc/sysctl.conf中添加参数:    
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1# 报错并退出后,执行sysctl -p 时刷新sysctl -p

11. 修改网络配置参数(三台节点都配置):

#文件内容为0,表示禁止数据包转发,1表示允许
cat /proc/sys/net/ipv4/ip_forward
# vi编辑参数 0修改为1  允许数据包转发

 12. 加载ip_vs模块

for i in $(ls /usr/lib/modules/$(uname -r)/kernel/net/netfilter/ipvs|grep -o "^[^.]*");do echo $i; /sbin/modinfo -F filename $i >/dev/null 2>&1 && /sbin/modprobe $i;done

 13. 清空iptables 规则(不关闭则报错)

iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X

12. master节点配置,启动kubeadm:

# 第一个参数,修改为自己的虚拟机ip,不知道的ifconfig,查看
kubeadm init --apiserver-advertise-address=192.168.164.30 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.18.0 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16

 13. 报错都给找不到报错信息了。查看报错信息修改即可,比如设置:

      /proc/sys/net/bridge中的文件bridge-nf-call-iptables 设置为1 ,再启动上面12的命令

成功如下:

 master 成功信息:

 14. 截图中需要输入的命令,再次配置环境

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

15.  部署cni网络插件 master节点输入命令:

# cli网络配置   超时之类的就多试几次, 实在不行,就找人下载下来,文件上传到服务器,然后kubectl apply -f 下载地址
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

 16. 成功之后,等待自动安装成功,时间有点长 kubectl get nodes 查看节点是否ready

# 查看是否成功, 成功则全是running
kubectl get pods -n kube-system

      

  查看节点是否ready

 kubectl get nodes 

 16. 安装成功!使用nginx验证:

# 创建nginx
kubectl create deployment nginx --image=nginx# 查看是否running
kubectl get pods

 

成功后,设置暴露端口:

kubectl expose deployment nginx --port=80 --type=NodePort# 查看映射
kubectl get pod,svc

k8s安装成功, 测试成功。k8s使用 kubeadm安装成功!

注:

      如何关闭集群:

                            systemctl stop kubelet

                            使用上述命令,在node1,node2, master节点依次关闭服务

http://www.lryc.cn/news/149534.html

相关文章:

  • 2023年高教社杯数学建模思路 - 案例:感知机原理剖析及实现
  • OTFS-ISAC雷达部分最新进展(含matlab仿真+USRP验证)
  • Cell | 超深度宏基因组!复原消失的肠道微生物
  • Centos7 设置代理方法
  • Android versions (Android 版本)
  • LNMP 平台搭建(四十)
  • pcie 6.0/7.0相对pcie 5.0的变化有哪些?
  • 百度Apollo:自动驾驶技术的未来应用之路
  • C++之std::distance应用实例(一百八十八)
  • 中国建筑出版传媒许少辉八一新书乡村振兴战略下传统村落文化旅游设计日
  • 基于java Swing 和 mysql实现的购物管理系统(源码+数据库+说明文档+运行指导视频)
  • 2023.9 - java - static 关键字
  • SpringCloud学习笔记(十二)_Zipkin全链路监控
  • Java 多线程系列Ⅱ(线程安全)
  • const用法详解
  • 【LeetCode75】第四十二题 删除二叉搜索数中的节点
  • c++:QT day2 信号和槽
  • 16 Linux之JavaEE定制篇-搭建JavaEE环境
  • AI人员打闹监测识别算法
  • 如何使用CRM系统进行精细化管理客户?
  • 20230829工作心得:如何把大List 切割为多个小List?
  • 基于YOLOV8模型的阶梯和工人目标检测系统(PyTorch+Pyside6+YOLOv8模型)
  • Nginx特性应用及载装
  • vue3+ts组件通信
  • 基于卷积优化算法优化的BP神经网络(预测应用) - 附代码
  • 《论文阅读18》JoKDNet
  • buuctf [CISCN 2019 初赛]Love Math
  • GraphQL渗透测试案例及防御办法
  • Hive SQL 优化大全(参数配置、语法优化)
  • go锁-waitgroup