k8s 集群部署尝试

news2024/11/15 9:18:17

K8S 部署方式有很多,有的方式不太友好,需要注意很多关键点,有的方式对小白比较友好,部署简单方便且高效

二进制源码包的部署方式

使用 二进制源码包的方式部署会比较麻烦,大概分为如下几步:

  • 获取源码包
  • 部署在 master 节点和 worker 节点上
  • 启动相应节点的关键服务

master 节点上

api-server ,分布式存储 例如 etcd,scheduler,controller manager

woker 节点上

kubelet,kube-proxy,docker

在 K8S 中,各个组件之间互相访问都是建议通过证书进行访问的,所以我们也需要生成相应的证书

  • 生成证书

例如 HTTP 的,HTTPS 的

涉及的组件和工具比较多,我们可以后续对 K8S 比较熟之后,再来尝试源码包的方式

使用 kubeadm 方式部署

官方是推荐使用 minikube 来部署,其实他也是通过 kubeadm 来部署的,使用 kubeadm 的部署方式就相对简单,不过步骤也是不少,有:

  • 需要安装 kube 对应的软件,kubelet,kubeadm,kubectl
  • 初始化整个 K8S 集群
  • 添加节点到集群中

执行上述 3 步,我们就可以将 K8S 集群搭建部署起来

  • 生成证书是自动的,不需要我们去干预
  • master 节点是用来管理集群容器的,所有的容器都是运行在 master 节点中,worker 节点是用来执行任务的
  • 关于容器镜像的获取

我们可以直接通过谷歌下载镜像,或者是通过国内阿里云来下载镜像

点我查看 kubeadm

基础环境准备

准备 3 台虚拟机,买云服务器也是可以的,定义好主机名

  • master
  • node1
  • node2

可以这么设置主机名

hostnamectl set-hostname master

hostnamectl set-hostname node1

hostnamectl set-hostname node2

可以通过 hostname 查看主机名

# hostname
master

安装 docker

可以查看我之前的 docker 文章 【Docker 系列】docker 学习 一,Docker的安装使用及Docker的基

需保证 master 节点和 worker 节点的 docker 版本一致,如:

需要关闭防火墙

// 查看防火墙的当前状态
sudo ufw status

// 启用和禁用防火墙
sudo ufw enable
sudo ufw disable

// 禁用防火墙并删除所有防火墙规则
sudo ufw reset

关闭 selinux

sudo setenforce 0 
或者
vim /etc/selinux/config
将 SELINUX 设置为 permissive

禁用 swap

sudo swapoff -a

安装 kubeadm 等工具

点我查看参考地址

开始安装 kubeadm、kubelet、kubectl 工具

  • 先安装 k8s 的源文件
sudo apt-get update && sudo apt-get install -y apt-transport-https curl

sudo curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -

sudo tee /etc/apt/sources.list.d/kubernetes.list <<-'EOF'
deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main
EOF
  • 查看 kubeadm 可用版本,选一个合适的

# apt-cache madison kubeadm

这里我们就安装最新的版本吧

// 安装最新版本
# shell sudo apt-get install -y kubelet=1.22.4-00 kubeadm=1.22.4-00 kubectl=1.22.4-00

// 设置标签
# sudo apt-mark hold kubelet=1.22.4-00 kubeadm=1.22.4-00 kubectl=1.22.4-00

// 设置开启启动 kubelet 并 运行 kubelet
# sudo systemctl enable kubelet && sudo systemctl start kubelet

我们简单的运行一下 kubelet 可以看到版本安装是正确的

image-20211120222647806

可是 kubelet 本应该是在后台就会启动的 ,为什么会启动异常呢 , 我们可以查看官方文档,得知需要配置 cgroup 驱动程序

在本地创建一个 yaml 文件,kubeadm-config.yaml

配置上自己的 kubelet 的版本 v1.22.4

kind: ClusterConfiguration
apiVersion: kubeadm.k8s.io/v1beta3
kubernetesVersion: v1.22.4
---
kind: KubeletConfiguration
apiVersion: kubelet.config.k8s.io/v1beta1
cgroupDriver: systemd

执行命令 kubeadm init --config kubeadm-config.yaml

若发现有如下报错,则是因为我们的机器 CPU 的核数小于 2 ,kubeadm 要求 我们的环境 CPU 需要是 2 个 ,赶紧换一个配置高一点的机器吧

image-20211120223723183

若配置没有异常,CPU 核数够,那么将会执行成功

今天就到这里,学习所得,若有偏差,还请斧正

欢迎点赞,关注,收藏

朋友们,你的支持和鼓励,是我坚持分享,提高质量的动力

好了,本次就到这里

技术是开放的,我们的心态,更应是开放的。拥抱变化,向阳而生,努力向前行。

我是阿兵云原生,欢迎点赞关注收藏,下次见~
更多的可以查看 零声每晚八点直播:https://ke.qq.com/course/417774

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

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

相关文章

基于abaqus的Huang晶体塑性UMAT改VUMAT

黄永刚院士编写的单晶晶体塑性UMAT&#xff0c;主要用于在Abaqus有限元仿真中进行单晶及多晶晶体塑性变形的计算&#xff0c;是许多科研工作者学习晶体塑性模拟的教学资源。可以在其基础上对硬化模型进行修改&#xff0c;甚至引入损伤。 UMAT主要应用于隐式分析&#xff0c;而…

力扣动态规划专题(二)01背包 416. 分割等和子集 1049.最后一块石头的重量II 494. 目标和 474. 一和零 步骤及C++实现

文章目录 01背包二维dp数组一维dp数组 滚动数组 416. 分割等和子集1049.最后一块石头的重量II494. 目标和474. 一和零 01背包 完全背包的物品数量是无限的&#xff0c;01背包的物品数量只有一个。 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i]&#xf…

基于ArcGIS的nc(NETCDF)转tif格式

软件版本&#xff1a;ArcMap10.4.1 nc(NETCDF)是一组独立于机器的软件库支持创建、访问和共享面向阵列的数据格式科学数据&#xff0c;它也是共享科学数据的社区标准。&#xff08;摘自Unidata官网&#xff09;&#xff0c;被广泛应用于大气、海洋、水文等领域&#xff0c;是我…

stm32读取BH1750光照传感器

stm32读取BH1750光照传感器 一.序言二.BH1750指令三.IIC协议四.代码实例4.1 bh1750.c源文件4.2 bh1750.h头文件 一.序言 BH1750是用IIC协议进行数据传输的。有SCL,SDA&#xff0c;VCC,GND四根线。下图是原理图 二.BH1750指令 我们先看芯片手册的操作指令&#xff08;下图&a…

直播 RTM 推流在抖音的应用与优化

动手点关注 干货不迷路 背景 随着互联网技术以及网络基建的快速发展和普及&#xff0c;视频直播已经成为了一种越来越普遍的娱乐和社交方式。无论是个人还是企业&#xff0c;都可以通过视频直播平台进行直播活动&#xff0c;向观众展示自己的生活、工作或者产品。同时&#xff…

有什么办法恢复格式后的u盘数据?5个方法,赶紧收藏起来

随着科技的不断进步&#xff0c;U盘已经成为了我们重要的移动存储设备之一&#xff0c;但是在使用过程中&#xff0c;很多人都可能会不小心将U盘格式化导致数据丢失。那么有什么办法恢复格式后的U盘数据&#xff1f;本文将会为您介绍恢复U盘格式化后数据的5种方法&#xff0c;如…

MT6761/MT6762/MT6765核心板模块 demo串口调试

串口调试 如果正在进行lk(little kernel ) 或内核开发&#xff0c;USB 串口适配器&#xff08; USB 转串口 TTL 适配器的简称&#xff09;对于检查系统启动日志非常有用&#xff0c;特别是在没有图形桌面显示的情况下。 1. 选购适配器 常用的许多 USB 转串口的适配器&#x…

SpringCloud:分布式事务Seata实践优化

1.极致性能优化 1.1. 同库模式 通常&#xff0c;一个TM会产生一笔主事务日志&#xff0c;一个RM会产生一条分支事务日志&#xff0c;每个分布式事务由一个TM和若干 RM组成&#xff0c;一个分布式事务总共会有1N条事务日志&#xff08;N为RM个数&#xff09;。 在默认情况下&…

万物的算法日记|第五天

笔者自述&#xff1a; 一直有一个声音也一直能听到身边的大佬经常说&#xff0c;要把算法学习搞好&#xff0c;一定要重视平时的算法学习&#xff0c;虽然每天也在学算法&#xff0c;但是感觉自己一直在假装努力表面功夫骗了自己&#xff0c;没有规划好自己的算法学习和总结&am…

CTFshow-pwn入门-前置基础pwn5 - pwn12

pwn5-pwn12的题目全是关于汇编语言的知识&#xff0c;pwn5-pwn12的汇编文件的代码都是一样的。 我们将可执行文件和汇编文件托到ctfshow-pwn专用虚拟机里&#xff0c;给可执行文件加上执行权限并查看其信息。 32位的&#xff0c;直接扔到ida中去。 在虚拟机中使用cat命令读取下…

SpringBoot的配置文件

SpringBoot的配置文件 &#x1f50e;配置文件的作用&#x1f50e;配置文件的格式&#x1f50e;properties配置文件properties的基本语法读取配置文件 &#x1f50e;yml配置文件yml的基本语法读取配置文件Tips关于 \n&#x1f36d;配置对象&#x1f36d;配置集合&#x1f36d; &…

网络知识点之-DNS协议

域名系统&#xff08;Domain Name System&#xff0c;缩写&#xff1a;DNS&#xff09;是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库&#xff0c;能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。当前&#xff0c;对于每一级域名长度的限制是63个…

4.13 ReentrantLock

相对于 synchronized 它具备如下特点 可中断可以设置超时时间可以设置为公平锁支持多个条件变量 与 synchronized 一样&#xff0c;都支持可重入 基本语法// 获取锁reentrantLock.lock();try{// 临界区} finally{// 释放锁reentrantLock.unlock();}1、可重入 可重入是指同一个…

小程序 抽象节点 selectable 与slot区别

比较 了解了微信小程序的抽象节点组件封装方式之后&#xff0c;觉得与vue的slot使用类似&#xff0c;但也有些区别 &#xff1a; 抽象节点 和 slot 有什么不同&#xff1a; slot只需要你传入一段代码抽象节点需要你传入一个自定义组件&#xff0c;&#xff0c;不是让你只传递…

Kubernetes集群本地连接调试工具KtConnect

一、简介 KtConnect&#xff08;Kt为Kubernetes Toolkit集群工具包的简写&#xff09;是一款基于Kubernetes环境用于提高本地测试联调效率的小工具 Connect&#xff1a;建立数据代理通道&#xff0c;实现本地服务直接访问Kubernetes集群内网&#xff08;包括Pod IP和Service域…

Jetpack Compose教程-水位控制小部件

Jetpack Compose教程-水位控制小部件 Apple的应用程序和小部件一直是设计的典范&#xff0c;也给我们的"复制系列&#xff1a;活动应用"和"卡片应用"提供了灵感。当他们发布了新款苹果手表Ultra时&#xff0c;它里面深度测量小部件的设计引起了我们的兴趣&…

加快奔向“国际数字之都” CDEC2023中国数字智能生态大会走进上海

数智闪耀长三角&#xff0c;风云际会上海滩。 6月14日上午&#xff0c;以汇聚数字产业动能、打造区域合作为主旨的 CDEC2023中国数字智能生态大会上海站活动在浦东软件园创新体验中心举行。 大会以“共建AI智能生态”为主题&#xff0c;吸引致远互联、SAP、浪潮等龙头企业&…

2022年山东省职业院校技能大赛网络搭建与应用赛项网络搭建与安全部署服务器配置及应用

2022年山东省职业院校技能大赛 网络搭建与应用赛项 第二部分 网络搭建与安全部署&服务器配置及应用 竞赛说明&#xff1a; 一、竞赛内容分布 竞赛共分二个模块&#xff0c;其中&#xff1a; 第一模块&#xff1a;网络搭建及安全部署项目 第二模块&#xff1a;服务器…

C#里的var和dynamic区别到底是什么,你真的搞懂了嘛

前言 这个var和dynamic都是不确定的初始化类型&#xff0c;但是这两个本质上的不同。不同在哪儿呢?var编译阶段确定类型&#xff0c;dynamic运行时阶段确定类型。这种说法对不对呢&#xff1f;本篇看下,文章原文地址&#xff1a;在这里 概括 以下详细叙述下这两个(var,dynamic…

CVE-2023-33246命令执行复现分析

简介 RocketMQ是一款低延迟、高并发、高可用、高可靠的分布式消息中间件。既可为分布式应用系统提供异步解耦和削峰填谷的能力&#xff0c;同时也具备互联网应用所需的海量消息堆积、高吞吐、可靠重试等特性。 影响版本 <RocketMQ 5.1.0 <RocketMQ 4.9.5 环境搭建 docker…