网站首页 > 教程文章 正文
1:k8s简介
k8s是一个容器集群管理系统,是一个开源平台,可以实现容器集群自动化部署、自动扩缩容、维护等功能,是由谷哥2014年创建并管理的。
2:k8s优点
快速部署应用
快速扩展应用
无缝对接新的应用功能
节省资源,优化硬件资源的使用
3:缺点
3.1:k8s架构非常适合有一定服务规模的组织,但它对其他人来说过于复杂。
3.2:有太多的发行版本,导致它的开源生态非常的混乱。
3.3:它的第三方组件太多了,很难做到统一管理。
3.4:它不会自动保证高可用性。
3.5:很难实现手动控制k8s。
3.6:它的监控和性能优化存在太多的挑战性。
4:k8s环境安装的先决条件
4.1:操作系统内核3.1及以上。
4.2:内存2G以上,二核或多核CPU,硬盘20G以上。
4.3:安装的一台或多台机器之间可通讯,能访问外网
4.4:禁止swap分区
5:学习k8s的目标
5.1:可以在所有节点上安装docker和kubeadm。
5.2:会部署kubernetes master。
5.3:会部署容器的网络插件。
5.4:会部署kubernetes节点,会将节点加入集群。
5.5:会部署可视化的web页面,方便查看kubernetes各种资源。
6:k8s相关的角色
6.1:master角色
管理多个node节点,做统一集群和任务的调度、管控等,包含的主要组件有
apiservice:整个集群的入口,所有node连接都是通过它连接。
controller-manager:完成一些控制器的管理。
scheduler:负责各节点的调度。
6.2:node角色
具体的容器,所有应用都是跑在node上,也就是我们的计算节点,包含的主要组件有
proxy:负责容器的网络。
kubelet:负责容器的管理。
docker:负责容器引擎和具体的实现。
6.3:数据库
k8s所有有状态的信息都会存在etcd数据库中,这个数据库也是以集群的方式存在。
7:环境搭建
这里我们准备三台虚拟机,一台master,二台node
机器角色 | ip | 主机名 |
master | 10.100.0.131 | k8smaster |
node | 10.100.0.196 | k8snode1 |
node | 10.100.0.245 | k8snode2 |
7.1:安装前的环境确认
a:三台机器都可以联网,uname -a查看内核是否大于等于3.1
b:关闭三台机器的防火墙
systemctl stop firewalld
systemctl disable firewalld
c:关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config
d:关闭swap
swapoff -a
vi /etc/fstab
注释这一行:/mnt/swap swap swap defaults 0 0
free -m查看swap是否全为0
e:配置三台机器的主机名,分别在三台机器上执行命令
10.100.0.131上执行:hostnamectl set-hostname k8smaster
10.100.0.196上执行:hostnamectl set-hostname k8snode1
10.100.0.245上执行:hostnamectl set-hostname k8snode2
f:在master的机器上添加hosts,在10.100.0.131上执行命令
cat >> /etc/hosts << EOF
10.100.0.131 k8smaster
10.100.0.196 k8snode1
10.100.0.245 k8snode2
EOF
g:将桥接的IPV4流量传递到iptables的链,三台机器都执行命令
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
h:所有节点执行命令,生效
sysctl --system
i:同步每个服务器的时间和时区
yum install ntpdate -y
ntpdate time.windows.com
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
环境全部准备就绪,具体安装请看下节!
本文由微畅享原创,欢迎关注,带你一起长知识!
猜你喜欢
- 2025-06-09 Kubernetes(k8s)pod详解(k8s pod completed)
- 2025-06-09 超详细!基于k8s+docker+jenkins的一站式 DevOps 环境搭建教程-下
- 2025-06-09 一键部署k8s多、单集群命令(波哥亲测有效)
- 2025-06-09 k8s平台:手动部署Grafana(k8s部署consul)
- 2025-06-09 K8s 应用的网络可观测性: Cilium VS DeepFlow
- 2025-06-09 k8s安全相关特性汇总(k8s的主要组件有哪些?)
- 2025-06-09 K8S集群下的GPU调度(k8s pod调度过程详解)
- 2025-06-09 K8S调试利器:telepresence2使用文档
- 2025-06-09 别被云原生忽悠了:接地气的 K8s 生产落地长这样
- 2025-06-09 不努力提高效率,小姐姐都被人追走了:K8S一键部署了解一下?
- 最近发表
-
- 一课译词:一刀两断(一刀两断成语解释)
- 核心短语break up用法解析(breakd短语)
- HTML+CSS 实现商品图片列表放大视觉效果 复制完整代码即可马上调用
- 前端实现右键自定义菜单(前端实现右键自定义菜单怎么设置)
- Python中docx与docxcompose批量合并多个Word文档并添加分页符
- Java 将Excel转为XML(java将xls转换成xlsx)
- jq+ajax+bootstrap改了一个动态分页的表格
- css兼容性问题及一些常见问题汇总大全,赶快收藏!
- Java 的业务逻辑验证框架 之-fluent-validator
- 小程序cover-view踩坑系列2(微信小程序overflow)
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)