服务器搭建k8s内存需要多大
你好!2gb或者4gb都行
1.什么是k8s?
k8s是一个docker容器管理工具
它是一个全新的基于容器技术的分布式架构领先方案,是开源的容器集群管理系统。
在docker的基础上,为容器化的应用提供部署运行,资源调度,服务发现和动态伸缩等一系列完整功能
2.----k8s的优势:
a,容器编排
b,轻量级
c,开源
d,弹性伸缩
e,负载均衡
二:k8s的核心功能
1.自愈: 重新启动失败的容器,在节点不可用时,替换和重新调度节点上的容器,对用户定义的健康检查不响应的容器会被中止,并且在容器准备好服务之前不会把其向客户端广播。
弹性伸缩: 通过监控容器的cpu的负载值,如果这个平均高于80%,增加容器的数量,如果这个平均低于10%,减少容器的数量
服务的自动发现和负载均衡: 不需要修改您的应用程序来使用不熟悉的服务发现机制,Kubernetes 为容器提供了自己的 IP 地址和一组容器的单个 DNS 名称,并可以在它们之间进行负载均衡。
滚动升级和一键回滚: Kubernetes 逐渐部署对应用程序或其配置的更改,同时监视应用程序运行状况,以确保它不会同时终止所有实例。 如果出现问题,Kubernetes会为您恢复更改,利用日益增长的部署解决方案的生态系统。
请问公司起步建立k8s,需要什么样的服务器配置,多少台服务器?每台怎样的配置要求?
服务器按自己预算买就行,vCenter HA cluster 的建议是最少三台服务器。这样可以实现一个host维护或有问题的时候另一台马上能补上。k8s就在vcenter里用vm实现。 ⌄这样的好处是以后有需求的话可以随意增加服务器到vcenter里扩展cpu或者存储能力。
蓝海大脑水冷工作站具有高性能,高密度、扩展性强等特点。液冷GPU服务器产品支持1~20块 GPU卡,还可以选择。芯片主要采用龙芯、飞腾、申威、海光、英伟达、Intel、AMD。完全定制啊,敲开心。适配多个存储卡,适用于深度学习训练及推理、生命科学、医药研发、虚拟仿真等场景,覆盖服务器、静音工作站、数据中心等多种产品形态,量身定制,满足客户全场景需求。
Kubernetes(K8S)入门与安装配置
Kubernetes 是一个跨主机集群的开源的容器调度平台,它可以自动化应用容器的部署、扩展和操作 , 提供以容器为中心的基础架构。谷歌旗下开源软件,江湖人称K8S。
上图是一个通过K8S搭建的集群环境,采用三台物理机搭建(三台机器是K8S搭建集群的最低要求),我先简单介绍一下几个重点名词。
Centos 7 Master * 1 (注意必须是双核以上的CPU,否则无法初始化K8S)
Centos 7 Node * 2
将文件上传至该目录
网盘地址:
提取码:aew7
执行以下命令
如果不是groupfs,执行下列语句
将最后一行注释
运行docker images可以看到以下几个关键应用
kube-proxy 容器间通讯代理、kube-apiserver API服务端、kube-scheduler 任务调度器、kube-controller-manager 集群控制器、coredns K8S内置的 DNS 服务器、etcd 用于保存集群所有的网络配置和对象的状态信息、pause前面已经提到用于容器间的通讯以及数据卷的挂载。至此K8S安装完成
图中的第一个红框的命令是需要管理员手动复制,然后在master服务器上执行的。
PS: admin.conf是kubeadm集群管理的核心配置文件,包含整个集群各个节点的授权信息,以及本身的一些配置信息
第二个红框中的命令是在node节点上执行,里面包含了一个加入集群的token认证信息以及ca证书的hashcode。通过该token可以加入K8S集群.
从图中看到master节点处于NotReady状态,说明节点中存在有问题的Pod,查看存在问题的pod,执行以下命令查看所有Pod状态
如果某个Pod的STATUS处于CrashLoopBackOff状态表示创建失败了,那么它会不断自动重新创建。上图中两个coredns处于pending状态,原因是我们没有配置K8S网络通讯协议fannel,从上传的文件中加载并创建flannel网络组件
3.在node节点上执行刚刚由kubeadm生成的节点加入命令
如果出现反复无法加入节点的情况,运行 kubeadm reset 这条命令还原当前节点上 kubeadm init 或者 kubeadm join 所做的所有更改。当想加入新节点忘记token时可以使用 kubeadm token list 查看token,或者 kubeadm token create创建token,采用跳过ca安全认证的方式加入节点。
4.三台机器设置kubelet开机自启,至此通过kubeadm集群配置完成
在主节点上执行以下命令,以下三个配件都是已经配置好的,装载即可。
图中dashboard服务已经被创建,配置文件中关闭了密码验证,只需要浏览器打开 无需登录。
腾讯轻量云服务器搭建k8s环境
4C4G机器设置为k8smaster节点,另外一台机器设置为k8snode节点
分别进入两台的 /ect/hosts 目录,设置r如下host
由于k8s内部节点之间的通讯使用的是内网ip,我们需要把内网ip的重定向到公网ip上
由于两台机器是处于公网环境,且k8s节点之间需要通讯,所以需要开放一些端口,端口配置可以直接进到腾讯云控制台进行配置
以下是官网要求的master节点的端口配置
可以进入腾讯云服务器的防火墙配置开放相应端口,端口可以限定来源,只允许node节点(192.168.2.2)访问
以下是官网要求的node节点的端口配置
同理,也设置node节点的端口
master节点需要安装
node节点需要安装
添加安装源(所有节点)
安装命令
设置开机启动
修改docker配置(所有节点)
组件安装完成后就可以启动了,首先启动master节点,然后让node节点加入master几点即可。
在master节点使用kubeadm初始化集群
这里需要保存token,token是用于node节点加入maste节点的凭证
node节点加入master节点
安装网络插件,否则node是NotReady状态(主节点跑)
kubectl get nodes