IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> k8s-5:集群搭建方式及常见问题处理 -> 正文阅读

[系统运维]k8s-5:集群搭建方式及常见问题处理

?

k8s集群搭建的方式分为三种:

kubeadm、minikube,二进制包;

kubeadm:

  • 是一个工具,用于快速搭建kubernetes集群,目前应该是比较方便和推荐的,简单易用
  • kubeadm是Kubernetes 1.4开始新增的特性
  • kubeadm init 以及 kubeadm join 这两个命令可以快速创建 kubernetes 集群

minikube:

  • 一般用于本地开发、测试和学习,不能用于生产环境
  • 是一个工具,minikube快速搭建一个运行在本地的单节点的Kubernetes

二进制包:

??? 在官网下载相关的组件的二进制包,上面的两个是工具,可以快速搭建集群,也就是相当于用程序脚本帮我们装好了集群,前两者属于自动部署,简化部署操作,自动部署屏蔽了很多细节,使得对各个模块感知很少,遇到问题很难排查,如果手动安装,对kubernetes理解也会更全面。
??? 目前生产环境的主流搭建方式,已在生产环境验证,kubeadm也可以搭建生产环境

????????以上类容来源于网络,我这边只用过kubeadm,其他的都是在网上查的,其实还有很多中方式,具体怎样我不清楚,有兴趣的自己尝试下,下面介绍下kubeadm的安装方式。

??????? 前提条件:

??????????????? 1.机器:三台以上物理或者虚拟机,并且机器之间能互相访问。

??????????????? 2.系统centos7以上,2g 2核 及以上。

??????????????? 3.能访问外网,因为要拉镜像。

??????????????? 4.禁用swap分区swapoff -a ;vi /etc/fstab 注释最后一行 带swap;

??????? 开始安装:

????????1.关闭防火墙

????????????????systemctl stop firewalld

????????????????systemctl disable firewalld

??????? 2. 关闭selinux

????????????????sed -i 's/enforcing/disabled/' /etc/selinux/config? #永久

????????????????setenforce 0? #临时

????????3.?关闭swap(k8s禁止虚拟内存以提高性能)

????????????????sed -ri 's/.*swap.*/#&/' /etc/fstab #永久

????????????????swapoff -a #临时

????????????????这个在前提条件里说过了

????????4.?在master添加hosts

????????????????cat >> /etc/hosts << EOF

????????????????192.168.191.144 k8s-master1

????????????????192.168.191.145 k8s-node1

????????????????192.168.191.146 k8s-node2

????????????????EOF

????????????????改成自己的ip 所有的机器都添加

????????5.设置网桥参数

????????????????cat > /etc/sysctl.d/k8s.conf << EOF

????????????????net.bridge.bridge-nf-call-ip6tables = 1

????????????????net.bridge.bridge-nf-call-iptables = 1

????????????????EOF

????????????????sysctl --system? #生效

????????????????6.时间同步

????????????????????????yum install ntpdate -y

????????????????????????ntpdate time.windows.com

??????? 6.安装docker

??????????????? yum install wget -y wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

??????????????? 或者yum install docker-ce-版本 安装指定版本,因为上面的安装会安装低版本的,但是k8s的版本可能比较高,这个可以自己查看下对应系统的版本和docker、k8s的对应版本,选择安装。

??????????????? 设置docker镜像源

??????????????? vi /etc/docker/daemon.json

????????????????"registry-mirrors": ["https://registry.docker-cn.com"]

????????????????systemctl enable docker.service

??????? 7.设置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

??????? 8.安装kubeadm,kubelet 和 kubectl

??????????????? yum install -y kubelet-1.19.4 kubeadm-1.19.4 kubectl-1.19.4

??????????????? 这里的版本最好是与docker对应,不然容易出现版本问题。

????????????????systemctl enable kubelet.service #开启kubelet服务

??????? 以上每台机器上都是一样的执行

??????? 9.初始化master节点

????????????????kubeadm init --apiserver-advertise-address=192.168.191.144 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.19.4 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16

??????????????? 这里192.168.191.144是我虚拟机的ip,关于参数解释可以看这个文章:kubadm部署k8s时service-cidr网络和pod-network-cidr的地址如何定义 - 小鹰展翅 - 博客园

??????? ??????? 然后执行:

????????????????mkdir -p $HOME/.kube

????????????????sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

????????????????sudo chown $(id -u):$(id -g) $HOME/.kube/config

??????? 10.查看节点:

????????????????kubectl get nodes

??????? 11.添加node

??????????????? 在第九步执行完init后,控制台会打出join的命令,拷贝出来,然后在node节点上执行即可,journalctl -f -u kubelet可查看当前运行的日志

??????? 经常出现的问题:

????????????????systemctl daemon-reload
?? ???????????? systemctl restart kubelet

??????????????? 重启服务

????????????????kubeadm reset 重建

??????????????? 1.running with swap on is not supported. Please disable swap

??????????????? swap没有关闭:swapoff -a 临时关闭

????????????????vi /etc/fstab 注释最后一行

??????????????? 2.unknown container “/system.slice/kubelet.service”

????????????????????? vi /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf

??????????????????????? 有的可能是

????????????????????????/etc/systemd/system/kubelet.service.d/10-kubeadm.conf 这个可能是系统版本不一样,找不到就用find找一下。

??????????????????????? 添加:Environment="KUBELET_CGROUP_ARGS=–cgroup-driver=systemd –runtime-cgroups=/systemd/system.slice –kubelet-cgroups=/systemd/system.slice"

??????????????? 3.no networks found in /etc/cni/net.d

??????????????????????? 未安装网络:

??????????????????????? 1.可以先vi? /var/lib/kubelet/kubeadm-flags.env 把前面的cni去除

??????????????????????? 2.也可以安装下载kube-flannel.yml,然后kubectl apply -f kube-flannel.yml

??????????????? 这些网上都能找到,不会就找度娘。

????????????????

?

?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-12-07 12:25:39  更:2021-12-07 12:27:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 3:49:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码