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

k8s 集群搭建的一些坑

k8s集群部署的时候会遇到很多的坑,即使看网上的文档也可能遇到各种的坑。

安装准备

1、虚拟机两台(ip按自己的网络环境相应配置)(master/node)

192.168.100.215 k8s-master
192.168.100.216 k8s-node1
2、关闭防火墙(master/node)

systemctl stop firewalld
systemctl disable firewalld
3、关闭selinux(master/node)
setenforce 0 # 临时关闭
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config # 永久关闭
4、关闭swap(master/node)
swapoff -a # 临时关闭;关闭swap主要是为了性能考虑
free # 可以通过这个命令查看swap是否关闭了
sed -ri ‘s/.swap./#&/’ /etc/fstab # 永久关闭
5、添加主机名与IP对应的关系(master/node)
$ vim /etc/hosts
#添加如下内容:
192.168.100.215 k8s-master
192.168.100.216 k8s-node1
#保存退出
6、修改主机名(master/node)
#k8s-master
[root@localhost ~] hostname
localhost.localdomain
[root@localhost ~] hostname k8s-master ##临时生效
[root@localhost ~] hostnamectl set-hostname k8s-master ##重启后永久生效
#k8s-node1
[root@localhost ~] hostname
localhost.localdomain
[root@localhost ~] hostname k8s-node1 ##临时生效
[root@localhost ~] hostnamectl set-hostname k8s-node1 ##重启后永久生效
7、桥接设置(master/node)
$ cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
$ sysctl --system
p.s.

以上几步最好照着都执行一下,以免后面报一大堆错。

安装docker

这一步需要注意docker版本与k8s版本对照关系,否则执行master初始化的时候会报错。

部署Kubernetes (master)

kubeadm init
kubeadm init
–apiserver-advertise-address=192.168.100.215
–image-repository registry.aliyuncs.com/google_containers
–kubernetes-version v1.18.0
–service-cidr=10.1.0.0/16
–pod-network-cidr=10.244.0.0/16

执行命令会出现可能一些告警,需要处理一下

cgroupfs切换为systemd

[WARNING IsDockerSystemdCheck]: detected “cgroupfs” as the Docker cgroup driver. The recommended driver is “systemd”. Please follow the guide at https://kubernetes.io/docs/setup/cri/

解决方案:
新建daemon.json切换为systemd

mkdir /etc/docker/
cat > /etc/docker/daemon.json << EOF
{
“registry-mirrors”: [“https://gqs7xcfd.mirror.aliyuncs.com”,“https://hub-mirror.c.163.com”],
“exec-opts”: [“native.cgroupdriver=systemd”],
“log-driver”: “json-file”,
“log-opts”: {
“max-size”: “100m”
},
“storage-driver”: “overlay2”
}
EOF

Docker 与k8s版本不兼容

[WARNING SystemVerification]: this Docker version is not on the list of validated versions: 24.0.7. Latest validated version: 19.03

解决方案:
删除旧版本的docker
sudo yum remove docker-ce
sudo rm -rf /var/lib/docker

安装兼容版本的docker
yum -y install docker-ce-19.03.9-3.el7 docker-ce-cli-19.03.9-3.el7
systemctl enable docker
systemctl start docker

在两台Node节点上执行join命令

kubeadm join 192.168.200.128:6443 --token 29f2jw.4lczl18ymfnzcax7
–discovery-token-ca-cert-hash sha256:57e05025b3a40415cd9297e089f0439f265a6e5df46ff1b431e017f326b313

cannot stat ‘/etc/kubernetes/admin.conf’

从master节点拷贝过来。

# master节点执行
[root@master ~]# scp /etc/kubernetes/admin.conf root@192.168.247.137:/etc/kubernetes/admin.conf
The authenticity of host '192.168.247.137 (192.168.247.137)' can't be established.
ECDSA key fingerprint is SHA256:oj2gG+nDvkzbS+IggsOxKVwMTVP2zxClBoNEPXmHvzk.
ECDSA key fingerprint is MD5:fa:f6:9a:89:1a:4a:54:63:fe:3d:70:88:c4:a4:4d:ea.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.247.137' (ECDSA) to the list of known hosts.
root@192.168.247.137's password: 
admin.conf                                                                    100% 5451     3.5MB/s   00:00    # node节点执行
[root@slave2 ~]# echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
[root@slave2 ~]# source ~/.bash_profile
[root@slave2 ~]# chown $(id -u):$(id -g) $HOME/.kube/config# 验证
[root@slave2 ~]# kubectl get pod
NAME                     READY   STATUS    RESTARTS   AGE
nginx-6867cdf567-vkf99   1/1     Running   0          6m38s

node节点 kubectl get nodes 报错

error: no configuration has been provided, try setting KUBERNETES_MASTER environment variable

[root@localhost ~]# kubectl get nodes
error: no configuration has been provided, try setting KUBERNETES_MASTER environment variable

解决方案

[root@localhost ~]# find / -name  admin.conf
/etc/kubernetes/admin.conf
[root@localhost ~]# mkdir -p $HOME/.kube
[root@localhost ~]# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
[root@localhost ~]# sudo chown $(id -u):$(id -g) $HOME/.kube/config

删除pod service deployment

删除service
kubectl delete deployment grafana -n kube-system
kubectl delete service grafana -n kube-system
kubectl delete serviceaccount grafana -n kube-system
kubectl delete serviceaccount grafana -n kube-system --force --grace-period=0查看
kubectl get pods,deployments,services,serviceaccounts -n kube-system | grep grafana删除 deployment
kubectl delete deployment monitoring-grafana -n kube-system
kubectl delete pod monitoring-grafana-b46f4c778-z74wg -n kube-system

相关文章:

  • 小程序使用echarts图表-雷达图
  • 给APM固定翼增加相机
  • 水塘抽样算法
  • stm32 - GPIO高级用法
  • 在WIN从零开始在QMUE上添加一块自己的开发板(一)
  • maven导入无法拉取所需依赖
  • Spring Security
  • 【Spring Boot 3】【Redis】消息发布及订阅
  • oracleFUNCTION,PROCEDURE和PACKAGE区别
  • LINUX常用工具之sudo权限控制
  • HarmonyOS 应用开发入门
  • 基于 UniAPP 社区论坛项目多端开发实战
  • 信号处理专题设计-基于边缘检测的数字图像分类识别
  • Redis- AOF刷盘策略
  • 【HarmonyOS】掌握布局组件,提升应用体验
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 4. 路由到控制器 - Laravel从零开始教程
  • Android Volley源码解析
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • CSS居中完全指南——构建CSS居中决策树
  • hadoop集群管理系统搭建规划说明
  • HTTP那些事
  • input实现文字超出省略号功能
  • java 多线程基础, 我觉得还是有必要看看的
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • Next.js之基础概念(二)
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • 第十八天-企业应用架构模式-基本模式
  • 马上搞懂 GeoJSON
  • 前端技术周刊 2019-02-11 Serverless
  • 入手阿里云新服务器的部署NODE
  • 我的业余项目总结
  • 正则表达式
  • $L^p$ 调和函数恒为零
  • (¥1011)-(一千零一拾一元整)输出
  • (TOJ2804)Even? Odd?
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (三分钟)速览传统边缘检测算子
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (转载)(官方)UE4--图像编程----着色器开发
  • .NET 2.0中新增的一些TryGet,TryParse等方法
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .Net IOC框架入门之一 Unity
  • .net refrector
  • .net Signalr 使用笔记
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • @javax.ws.rs Webservice注解
  • @Repository 注解
  • [BZOJ 4129]Haruna’s Breakfast(树上带修改莫队)
  • [C#]winform部署yolov5-onnx模型