我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Kubernetes集群环境初始化

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Kubernetes集群环境初始化

概念

k8s/kubernetes
容器化部署
解决容器编排问题,kubernetes为容器编排软件的佼佼者
kubernets为一组服务器集群

功能

自我修复 一个容器崩溃,另一个容器起来
弹性伸缩 根据需要调整容器数量
服务发现 自动发现的形式找到所需依赖
负载均衡 一起分担流量
版本回退 新版本有问题,立马回退到原来的版本
存储编排 可以根据容器自身的需求自动创建存储卷
....

k8s组件

k8s为控制节点 和 工作节点组成。
master节点的组件
负责集群的管理
ApiServer:资源操作的唯一路口 接受命令,管理操作都是通过这个路口
Scheduler:负责根据算法,把活分给谁干?
ControllerManager:调度安排干活
Etcd:监工记录谁在干活做了什么
node节点的组件
负责提供运行环境
kubelet:接受控制节点过来的信息,安排干活,控制docker操作
kubeproxy:提供对外访问,跑了程序访问程序。
docker:负责操作

用实例nginx来说明组件调度关系
master和node信息都存在etcd里来明确控制节点手下有几个干活的
让服务跑在k8s,apiserver接受命令
开始计算服务请求由谁来完成,通过读node信息
知道由谁来完成,则使用controller-manager发送请求
kubelet等着接活的,安排给docker启动一个prod。(目前prod和docker一回事,都是启动程序的。prod为容器最小单元)
kubeproxy外面用户可以访问nignx了

master:集群控制节点至少一台
node:工作负载节点,做事的
pod:kubernets最小存储单元,容器运行在pod中,一个pod有多个容器(通过控制pod来控制容器进而控制程序)
controller:启动pod停止pod伸缩pod
service:对外服务的统一路口下面可以维护同一类的多个pod。流量流向谁呢?
label:对pod进行分类同一类pod打上标签,service通过标签来控制流量
namespace:隔离pod的运行环境

集群环境规划
集群分两类一主多从,多主多从
一主多从,服务器要是宕机了怎么办?集群就完全完蛋了。只能是测试环境
多主多从,安全性非常高?搭建麻烦,适合生产环境

minikube 一个用于单节点测试
kubeadm 快速搭建kubernets集群
二进制包 依次下载组件编译安装,组件之间要产生证书

环境搭建 选用vm虚拟三台服务器
能互通网络,修改主机名

注意三台主机都需要做

1.环境初始化

centos需要在7.5以上

cat /etc/redhat-release

2.测试环境做etchosts的域名解析真实环境推荐使用dns做域名解析

192.168.100.128 master master.example.com
192.168.100.130 node1 node1.example.com
192.168.100.129 node2 node2.example.com

3.集群时间必须同步,企业里推荐搭建自己的时间服务器

systemctl start chronyd

date

4.禁用iptables与firewalld 生产环境防火墙一定要慎重

Kubernetes和Docker会产生大量iptables规则,为了不让系统规则与之混淆,直接关闭系统的规则
systemctl --now disable firewalld
systemctl stop iptables
systemctl disable iptables
(我没有iptables)

5.禁用selinux

6.禁用swap分区

虚拟内存分区 物理内存使用完了,可以将物理空间虚拟成内存。启用swap设备会对系统的性能产生非常负面的影响。也可以告诉kubernetes我非要开这个分区

7.修改linux内核参数

Kubernetes强制要求你这么做 添加网桥过滤和地址转发功能

重载配置
sysctl -p
加载网桥过滤模块
modprobe br_netfilter
查看网桥过滤模块是否加载成功

8.配置ipvs功能

Service 做接口暴露 负载均衡 反向代理 一种iptables 一种ipvs 相比较ipvs性能明显高 需要手动载入ipvs模块
安装ipvsadm ipset

添加shell脚本,功能为加载模块

  [root@master ~]# cat > /etc/sysconfig/modules/ipvs.modules << q 
  > #!/bin/bash
  > modprobe -- ip-vs
  > modprobe -- ip_vs_rr
  > modprobe -- ip_vs_wrr
  > modprobe -- ip_vs_sh
  > modprobe -- nf_conntrack_ipv4
  > q

为ipvs的内容

 

查看对应模块是否加载成功
Centos版本太高导致报错
modprobe: FATAL: Module nf_conntrack_ipv4 not found in directory /lib/modules/4.18.0-373.el8.x86_64
解决报错

成功加载模块

注意三台服务器都要做
最后重启

到此这篇关于Kubernetes集群环境初始化的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Kubernetes集群环境初始化

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Kubernetes集群环境初始化的方法

本篇内容介绍了“Kubernetes集群环境初始化的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!概念k8s/kubernetes容器化
2023-06-29

docker中如何初始化k8s集群

这篇文章给大家分享的是有关docker中如何初始化k8s集群的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 k8s的部署有多种方式,但我们采用kubeadm工具部署。 k
2023-06-04

Kubernetes容器集群管理环境怎么部署

本文小编为大家详细介绍“Kubernetes容器集群管理环境怎么部署”,内容详细,步骤清晰,细节处理妥当,希望这篇“Kubernetes容器集群管理环境怎么部署”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。通过K
2023-06-29

如何使用Kubernetes集群环境部署MySQL数据库

这篇文章主要讲解了“如何使用Kubernetes集群环境部署MySQL数据库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Kubernetes集群环境部署MySQL数据库”吧!1 编
2023-06-30

Ubuntu如何配置文件系统环境初始化

小编给大家分享一下Ubuntu如何配置文件系统环境初始化,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Ubuntu配置文件系统初始化/etc/timezone 时区 /etc/inetd.conf 超级进程Ubuntu配
2023-06-16

Kubernetes(K8S)容器集群管理环境完整部署详细教程

以下是一个完整的Kubernetes容器集群管理环境的部署详细教程:1. 部署集群节点:- 确保每个节点上安装了Docker和Kubernetes组件。可以使用以下命令在每个节点上安装所需的软件包:```sudo apt-get updat
2023-08-14

Windows环境部署Redis集群

一、准备文件 1.下载Redis for windows 的最新版本下载地址:https://github.com/MSOpenTech/redis/releases 安装到 c:Redis 目录下(Redis-x64-3.2.100.ms
2022-06-04

开发环境Ubuntu16安装以后的初始化设置

办公室需要ubuntu系统作为linux开发环境,目前大家用的多的是ubuntu16.04.所以这里也以ubuntu16.4作为办公开发环境来进行一些初始化。 打开命令行ubuntu16.04版本 右键——打开终端 有的Ubuntu 14
2022-06-04

Linux环境下部署Consul集群

目录1.Consul概念1.1什么是Consul?1.2Consul的特点1.3Consul架构1.4Consul的应用场景包括服务发现、服务隔离与服务配置2.Consul在linux上的集群部署2.1前期准备2.2集群部署1.Consul
2022-06-05

编程热搜

目录