解锁高效部署!快速搭建Kubernetes集群,提升团队生产力!

news2024/12/24 11:37:16

1 MacOS

1.1 下载 docker-desktop

从 docker 下载 docker-desktop (opens new window),并完成安装

1.2 启用 k8s 集群

启动 docker-desktop,打开preference 面板

切换到 Kubernetes 标签页,并勾选启动 Enable Kubernetes,点击 Apply

2 Linux(CentOS7)

https://kubernetes.io/zh-cn/docs/setup/production-environment/

至少两台机器:

  • k8s master
  • k8s slave

设置好两个主机的 hostname 后,设置配置文件:

2.1 服务器配置最低要求

  • 2g内存
  • 2CPU
  • 30g硬盘
  • 内网互通(防火墙务必关闭)

按照上面的要求创建至少2台(一主一从)云服务器。

2.2 Linux配置

① 设置不同的hostname

hostnamectl set-hostname xxx 

② 设置host与ip绑定

每个节点都要操作

vim /etc/hosts

## hosts
172.17.32.8 k8s-master
172.17.32.13 k8s-node

③ 关闭firewalld服务

systemctl stop firewalldsystemctl disable firewalld

④ 时间同步

若使用的云服务器,则忽略此步。

因为本地机器和云服务器时间可能不一致,所以需要同步时间。

启动chronyd服务

systemctl start chronyd

systemctl enable chronyddate

img

⑤ 关闭 selinux 安全策略

需要重启后生效!

[root@icv-monitor-platform-dev ~]# sed -i 's/enforcing/disabled/' /etc/selinux/config

[root@icv-monitor-platform-dev ~]# vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted


# 临时关闭
[root@icv-monitor-platform-dev ~]# setenforce 0

⑥ 关闭 swap 分区

云服务器没有这个概念,可以不设置。

swap分区指虚拟内存分区,作用是物理内存使用完,之后将磁盘空间虚拟成内存来使用,启用swap设备会对系统的性能产生非常负面的影响,因此k8s要求每个节点都要禁用swap设备。

vi /etc/fstab
# /etc/fstab
# Created by anaconda on Thu May 17 07:47:58 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=434ab0f6-eed6-49f5-9118-3744d8cbfb7e /                       ext4    defaults        1 1

# 如果有,则注释该⾏
/dev/mapper/centos-swap swap


# 临时关闭
swapoff -a
# 重启
reboot

# 检测  若 total 或者 free 正数,说明你没关闭成功
[root@icv-monitor-platform-dev ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:          16045        7769         961         927        7315        7014
Swap:             0           0           0
[root@icv-monitor-platform-dev ~]# 

⑦ 添加网桥过滤和地址转发功能

转发 IPv4 并让 iptables 看到桥接流量。

cat > /etc/sysctl.d/kubernetes.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF

# 应⽤ sysctl 参数使其⽣效⽽不重新启动
[root@icv-monitor-platform-dev ~]# sysctl --system
* Applying /usr/lib/sysctl.d/00-system.conf ...
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
* Applying /usr/lib/sysctl.d/10-default-yama-scope.conf ...
kernel.yama.ptrace_scope = 0
* Applying /usr/lib/sysctl.d/50-default.conf ...
kernel.sysrq = 16
kernel.core_uses_pid = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.promote_secondaries = 1
net.ipv4.conf.all.promote_secondaries = 1
fs.protected_hardlinks = 1
fs.protected_symlinks = 1
* Applying /etc/sysctl.d/99-sysctl.conf ...
* Applying /etc/sysctl.conf ...
[root@icv-monitor-platform-dev ~]# 

基础环境

每台服务器

  • 安装JDK环境
  • 安装Docker,设置开机自启动

配置cgroup

vim /etc/docker/daemon.json

{
  "registry-mirrors": ["https://4t9ixk24.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"]
}

保证 k8s 和 docker 使用同一个systemd。

重启刷新

[root@icv-monitor-platform-dev ~]# systemctl daemon-reload
[root@icv-monitor-platform-dev ~]# systemctl restart docker
# 验证cgroupdriver 是否⽣效,看到systemd就表示OK
[root@icv-monitor-platform-dev ~]# docker info -f {{.CgroupDriver}}
systemd
[root@icv-monitor-platform-dev ~]# docker info | grep -i cgroup
Cgroup Driver: systemd
WARNING: bridge-nf-call-ip6tables is disabled
Cgroup Version: 1
[root@icv-monitor-platform-dev ~]# 

以上内容全部配置好以后,重启 。所有节点都要执行以上操作!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/697522.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

nginx 入门 (b站IT楠老师学习笔记)

文章目录 Nginx 入门 &#xff08;b站IT楠老师学习笔记&#xff09;一 基础了解1、下载nginx安装包2. nginx 可以提供的服务3. nginx 的优点4. 应用场景 二 实战2.1 基础检查以及配置文件结构了解2.2 main全局配置2.3 events模块2.4 http服务器配置2.5虚拟主机配置详解2.5.1 ht…

el-pagination分页查询封装

需求&#xff1a;因为需要用到表单查询的地方太多了&#xff0c;所以为了避免每个页面都写分页组件&#xff0c;直接封装好调用就完事了&#xff0c;简简单单 1.创建Pigination.vue公用组件 <template><div :class"{hidden:hidden}" class"paginatio…

AD中修改一个元器件的所有焊盘大小

1.首先&#xff0c;选中其中一个焊盘。 2.查找相似对象 3.修改component为same 4.修改X size和Y size为same 5.确定 6.修改Pad Stack中的x/y 注&#xff1a;component可以不用改为same&#xff0c;用any就是查找和这个焊盘大小类似的对象。

力扣1768.交替合并字符串(java模拟法)

题目描述&#xff1a; 给你两个字符串 word1 和 word2 。请你从 word1 开始&#xff0c;通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长&#xff0c;就将多出来的字母追加到合并后字符串的末尾。 返回 合并后的字符串 。 问题分析&#xff1a; 我们可以直…

servlet 监听器

做法: 在web.xml中: 或

矩形中的正方形:探究力扣最大正方形问题的奥秘

本篇博客会讲解力扣“1725. 可以形成最大正方形的矩形数目”的解题思路&#xff0c;这是题目链接。 本题的思路是&#xff1a;对于每一个矩形&#xff0c;切分出来的最大正方形的边长是矩形的长和宽的较小值。我们需要维护最大的正方形边长&#xff0c;并统计数目。 我们可以写…

Verilog基础之十、计数器实现

目录 一、前言 二、工程设计 2.1 设计代码 2.2 综合结果 ​2.3 仿真结果 一、前言 计数器是较为基础的逻辑&#xff0c;很多其他逻辑可依靠计数器实现&#xff0c;如控制器&#xff0c;分频。原理为通过统计时钟脉冲的个数来输出计数值。 二、工程设计 2.1 设计代码 工…

实验 09 线性回归与波士顿房价预测

文章目录 实验 09 线性回归与波士顿房价预测一、实验目的二、实验设备三、实验内容3.1 了解数据3.2 分析数据3.3 建立模型&#xff08;一&#xff09;使用一个变量进行预测&#xff08;二&#xff09;使用多元线性回归分析进行预测 实验 09 线性回归与波士顿房价预测 一、实验…

Dubbo【Dubbo实战(整合Mybaits-plus配置、接口、集成Thymeleaf) 】(五)-全面详解(学习总结---从入门到深化)

目录 ​编辑 Dubbo实战_整合Mybaits-plus配置 Dubbo实战_创建添加用户接口 Dubbo实战_查询用户业务接口 Dubbo实战_更新用户业务接口 Dubbo实战_删除用户业务接口 Dubbo实战_集成Thymeleaf Dubbo实战_用户添加业务消费者实现 Dubbo实战_用户查询业务消费者实现 Dubbo实战_…

R带参数运行

rm(listls()) suppressPackageStartupMessages({library(getopt) })# getopt(),是getopt包的函数&#xff0c;需要先按照getopt包 # # getopt(spec NULL, opt commandArgs(TRUE),command get_Rscript_filename(), usage FALSE,debug FALSE) # # spec&#xff1a;一个4或…

linux suse12 安装mysql

1.下载mysql https://dev.mysql.com/downloads/mysql/ 2.选中mysql版本 对选中的版本进行下载 也可以在linux服务器上直接下载&#xff1a;wget -c https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz 3.把下载好的文件放到/usr/local…

mac上的vscode设置用滚轮来调节编辑页面大小

mac上的vscode设置用滚轮来调节编辑页面大小 问题背景 今天在mac上安装了vscode&#xff0c;刚想编写代码&#xff0c;但是突然发现无法用ctrl鼠标的滚轮来进行控制 代码编辑区域字体的大小。 解决方法 经过查找资料&#xff0c;发现在设置的配置文件中&#xff0c;有一个配…

前后端分离模式开发的BS电子病历编辑器源码(Java)

电子病历系统&#xff0c;是医学专用系统。医院通过电子病历以电子化方式记录患者就诊的信息&#xff0c;包括&#xff1a;首页、病程记录、检查检验结果、医嘱、手术记录、护理记录等等&#xff0c;其中既有结构化信息&#xff0c;也有非结构化的自由文本&#xff0c;还有图形…

HOT19-螺旋矩阵

leetcode原题链接&#xff1a;螺旋矩阵 题目描述 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;[1,2,3,6,9,8,7,4,5]示例…

通过USB和wifi连接真机编写第一个脚本

目录 一、连接手机 1、通过usb数据线连接手机 2、无线连接手机 二、编写第一个脚本 一、连接手机 1、通过usb数据线连接手机 数据线连接手机并允许调试 cmd命令行执行&#xff1a; adb devices 如果没有显示device信息&#xff0c;请检查&#xff1a; 手机是否开启usb调…

element的时间控件默认值为当前时间

vue代码 <el-form-item label"验收时间" prop"checkAcceptTime"><el-date-picker clearablev-model"form.checkAcceptTime"type"datetime"value-format"yyyy-MM-dd HH:mm:ss"placeholder"请选择验收时间"…

微信发布新规:这功能,要收费了

近日&#xff0c;微信小程序发布《关于手机号快速验证组件升级及收费的通知》&#xff0c;通知中指出&#xff1a;手机号验证能力在原有基础上&#xff0c;新增手机号实时验证能力。 同时&#xff0c;为了平衡技术服务与运营成本&#xff0c;平台将于2023年8月26日起对手机号验…

SQL Server,想要查询某表数据,但表名存放在别的表内,SQL语句怎么写?

动态SQL查询案例 需求描述&#xff1a; 原始的表名、表的属性描述信息在summary表中&#xff0c;每个表有类似的字段&#xff1a;id、price、size&#xff0c;通过SQL能查询到所有表的如下记录&#xff1a; 表名、表属性名、最低价格、最低价格对应ID、最大尺寸、最大尺寸对应…

Linux学习之yum安装软件

要是使用rpm安装软件&#xff0c;就需要自己解决依赖包的安装&#xff0c;使用yum进行安装&#xff0c;就可以自动安装依赖包。可以先到阿里云CentOS 镜像网站学习一下如何更改yum源。我这里演示如何更改yum源。 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS…

人像美白的python实现

人像美白在现在的美颜功能里面几乎属于必备的&#xff0c;各家的方案都不太一致&#xff0c;本文主要介绍一种基于肤色分割的人像美白方案。 首先得将人像进行皮肤分割&#xff0c;具体最好是使用AI模型&#xff0c;这里就不展开了&#xff0c;本人侧重点是美白算法&#xff0c…