小知识: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

%小知识:Kubernetes集群环境初始化-猿站网-插图

6.禁用swap分区

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

%小知识:Kubernetes集群环境初始化-1猿站网-插图

7.修改linux内核参数

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

%小知识:Kubernetes集群环境初始化-2猿站网-插图

重载配置

sysctl -p

加载网桥过滤模块

modprobe br_netfilter

查看网桥过滤模块是否加载成功

%小知识:Kubernetes集群环境初始化-3猿站网-插图

8.配置ipvs功能

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

安装ipvsadm ipset

%小知识:Kubernetes集群环境初始化-4猿站网-插图

添加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的内容

%小知识:Kubernetes集群环境初始化-5猿站网-插图

%小知识:Kubernetes集群环境初始化-6猿站网-插图

查看对应模块是否加载成功

Centos版本太高导致报错

modprobe: FATAL: Module nf_conntrack_ipv4 not found in directory /lib/modules/4.18.0-373.el8.x86_64

解决报错

%小知识:Kubernetes集群环境初始化-7猿站网-插图

%小知识:Kubernetes集群环境初始化-8猿站网-插图

成功加载模块

注意三台服务器都要做

最后重启

%小知识:Kubernetes集群环境初始化-9猿站网-插图

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

原文地址:https://www.cnblogs.com/supermao12/p/16126037.html

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:在Docker容器中部署MSSQL

2023-3-8 10:47:36

建站知识

小知识:kubernetes实现分布式限流

2023-3-8 11:02:16

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索