Kubernetes(K8s)部署

主机名ip角色
docker-harbor.revkarl.org172.25.254.250harbor仓库
k8s-master172.25.254.100master,k8s集群控制节点
k8s-node1172.25.254.10worker,k8s集群工作节点
k8s-node2172.25.254.20worker,k8s集群工作节点

注意:

所有节点禁用selinux和防火墙

所有节点同步时间和解析

所有节点安装docker-ce

所有节点禁用swap,注意注释掉/etc/fstab文件中的定义

关闭防火墙

systemctl disabled firewalld

systemctl stop firewalld

grubby --update-kernel ALL --args selinux=0

reboot

禁用所有swap分区

systemctl mask swap.target

swapoff -a

vim /etc/fstab

进行本地dns解析

cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.25.254.10      k8s-node1
172.25.254.20      k8s-node2
172.25.254.100    k8s-master
172.25.254.250    reg.revkarl.org

安装所有docker

vim /etc/yum.repos.d/docker.repo

[docker]

name=docker

baseurl=https://mirrors.aliyun.com/docker-ce/linux/rhel/9/x86_64/stable/

gpgcheck=0

dnf install docker-ce -y

创建k8s放置证书的目录

mkdir -p /etc/docker/certs.d/reg.revkarl.org/

复制harbor仓库中的证书并启动docker

ls /data/certs/
revkarl.org.crt  revkarl.org.key
scp /data/certs/revkarl.org.crt root@172.25.254.100:/etc/docker/certs.d/reg,revkarl.org/ca.crt

systemctl enable --now docker

登录harbor仓库

docker login reg.revkarl.org

docker info

安装k8s部署工具

[root@k8s-master ~]# vim /etc/yum.repos.d/k8s.repo

[k8s]

name=k8s

baseurl=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/rpm

gpgcheck=0

[root@k8s-master ~]# dnf install kubelet-1.30.0 kubeadm-1.30.0 kubectl-1.30.0 -y

设置kubectl命令补齐功能

[root@k8s-master ~]# dnf install bash-completion -y

[root@k8s-master ~]# echo "source > ~/.bashrc

[root@k8s-master ~]# source ~/.bashrc

在所节点安装cri-docker

注:k8s从1.24版本开始移除了dockershim,所以需要安装cri-docker插件才能使用docker

[root@k8s-master ~]# dnf install libcgroup-0.41-19.el8.x86_64.rpm \

> cri-dockerd-0.3.14-3.el8.x86_64.rpm -y

[root@k8s-master ~]# vim /lib/systemd/system/cri-docker.service

[Unit]

Description=CRI Interface for Docker Application Container Engine Documentation=https://docs.mirantis.com

After=network-online.target firewalld.service docker.service

Wants=network-online.target

Requires=cri-docker.socket

[root@k8s-master ~]# systemctl daemon-reload

[root@k8s-master ~]# systemctl start cri-docker

[root@k8s-master ~]# ll /var/run/cri-dockerd.sock

srw-rw---- 1 root docker 0  10月 5 22:14 /var/run/cri-dockerd.sock

在master节点拉取k8s所需要的镜像

[root@k8s-master ~]# kubeadm config images pull \

--image-repository registry.aliyuncs.com/google_containers \

--kubernetes-version v1.30.0 \

--cri-socket=unix:///var/run/cri-dockerd.sock

上传镜像到harbor仓库

[root@k8s-master ~]# docker images | awk '/google/{ print $1":"$2}' \

| awk -F "/" '{system("docker tag "$0" reg.timinglee.org/k8s/"$3)}'

[root@k8s-master ~]# docker images | awk '/k8s/{system("docker push "$1":"$2)}

集群初始化 

启动kubelet服务

[root@k8s-master ~]# systemctl status kubelet.service

初始化命令
kubeadm init --pod-network-cidr=10.244.0.0/16 \
--image-repository reg.revkarl.org/k8s \
--kubernetes-version v1.30.0 \
--cri-socket=unix:///var/run/cri-dockerd.sock

指定集群配置文件变量

echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile

安装flannel网络插件

下载flannel的yaml部署文件

[root@k8s-master ~]# wget https://github.com/flannel io/flannel/releases/latest/download/kube-flannel.yml

下载镜像:

docker pull docker.io/flannel/flannel:v0.25.5

 docekr docker.io/flannel/flannel-cni-plugin:v1.5.1-flannel1

上传镜像到仓库

docker tag flannel/flannel:v0.25.5reg.timinglee.org/flannel/flannel:v0.25.5
docker push reg.timinglee.org/flannel/flannel:v0.25.5
docker tag flannel/flannel-cni-plugin:v1.5.1-flannel1reg.timinglee.org/flannel/flannel-cni-plugin:v1.5.1-flannel1
docker push reg.timinglee.org/flannel/flannel-cni-plugin:v1.5.1-flanne11

安装flannel网络插件

kubectl apply -f kube-flannel.yml

检查好后加入集群

kubeadm join 172.25.254.100:6443 --token

5hwptm.zwn7epa6pvatbpwf--discovery-token-ca-certhashsha256:52f1a83b70ffc8744db5570288ab51987ef2b563bf906ba4244a300f61e9db23 --cri-socket=unix:///var/run/cri-dockerd.sock

在master节点查看node的状态

kubectl get nodes

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

信息系统运维管理方案,运维建设文档,运维平台建设方案,软件硬件中间件运维方案,信息安全管理(原件word,PPT,excel)

建设方案目录: 1、智慧运维系统建设背景 2、智慧运维系统建设目标 3、智慧运维系统建设内容 4、智慧运维系统建设技术 5、智慧运维系统建设流程 6、智慧运维系统建设收益 企业对运维管理的需求: 1、提高运维效率:降低运维成本,提高…

vue从0开始的项目搭建(含环境配置)

一、环境准备 下载node.js 检查node.js版本 替换npm下载源 1.下载node.js: Node.js — 在任何地方运行 JavaScript (nodejs.org) 2.查看版本: windowsr输入cmd进入输入node -v命令查看版本号是否出现确认是否安装 2.替换npm下载源: npm config set registry https://reg…

【JS试题】对象键排序问题的神仙试题

前言 题目如下: const obj { a: 0 } obj[1] 0 obj[obj.a] obj.a const values Object.values(obj) obj[values[1]] obj.a console.log(obj);在此之前需要先了解 JS 对象键的排序问题,JS会对对象的属性进行处理,把所有 Number类型 和 数…

c++基础-去掉空格

#include <algorithm> #include <string> #include <cctype> // 用于std::isspace std::string removeSpaces(std::string str) {str.erase(std::remove_if(str.begin(), str.end(), ::isspace), str.end());return str; }int main() {string str &quo…

沉浸式娱乐新纪元,什么是5G+实时云渲染VR大空间解决方案?

近年来&#xff0c;虚拟现实&#xff08;VR&#xff09;技术在娱乐、教育、医疗等多个领域展现出巨大的潜力&#xff0c;尤其是VR大空间体验&#xff0c;更是以其沉浸式和互动性的特点&#xff0c;迅速成为市场的新宠。据Statista数据显示&#xff0c;2023年&#xff0c;全球虚…

关于 文件操作详解 笔记 (含代码解析)

文件 磁盘&#xff08;硬盘&#xff09;上的⽂件是⽂件。 程序设计中&#xff0c;我们⼀般谈的⽂件有两种&#xff1a;程序⽂件、数据⽂件&#xff08;从⽂件功能的⻆度来分类 &#xff09; 程序⽂件 程序⽂件包括源程序⽂件&#xff08;后缀为.c&#xff09;,⽬标⽂件&#…

MATLAB实现AM调制解调

1.基本概念 1.1 AM调制原理 调幅就是使载波的振幅随调制信号的变化规律而变化。基带信号m(t)与直流分量A0相加&#xff0c;然后和高频载波相乘实现AM信号的调制&#xff0c;如图1所示。 1.2 AM解调原理 AM信号经过信道传输&#xff0c;引入噪声后&#xff0c;再和载波相乘&…

Redis主从复制机制详解

目录 一、主从复制介绍二、搭建主从复制三、主从复制流程四、关于Replication ID五、主从复制核心知识六、主从复制应用场景七、主从复制的注意事项八、读写分离实战 一、主从复制介绍 1、什么是主从复制&#xff1f; 2、为什么要使用主从复制&#xff1f; redis-server单点…

TDC上YARN Web-UI 查看application日志方法

方法一 #通过浏览器访问tdc&#xff0c;访问的工作节点对于TDC都是外部节点。在提交给yarn任务后&#xff0c;YarnRM的Web UI 可以展示yarnnm上运行的application日志&#xff0c;但是由于跳转的svc地址&#xff0c;无法直接访问。 #在tdc界面上找到yarn实例&#xff0c;进入ya…

【MySQL】mysql导出数据WPS科学计数法解决方法

导出的长串数字 id 会导致科学计数法&#xff0c;修改 WPS 单元格格式可以解决 数字太长还是有问题&#xff0c;最后有个数字会变成 0 可以 直接用 python脚本转换一下 vim convert_txt_xlsx.py #!/usr/bin/env python3# 使用方法# 安装库 # pip3 install pandas openpyxl…

微信小程序后台搭建—node+mysql

想必大家都有一个困扰&#xff0c;想要用微信小程序作为前端&#xff0c;但是后端不知道如何用node连接微信小程序&#xff0c;我最近也一直困扰许久&#xff0c;所以我就想用node写后端接口在连接微信小程序&#xff0c;记录一下学习笔记 前言 前端:微信小程序 后端:nodeexpr…

MYSQL-windows安装配置两个或多个版本MYSQL

安装第一个mysql很简单&#xff0c;这里不再赘述。主要说说第二个怎么安装&#xff0c;服务怎么配置。 1. 从官网下载第二个MySQL并安装 一般都是免安装版了&#xff0c;下载解压到某个文件目录下(路径中尽量不要带空格或中文)&#xff0c;再新建一个my.ini文件&#xff08;或…

怎么看待数字化转型是大势所趋?

怎么看到数字化转型是大势所趋&#xff1f;下面我结合最新数据给大家讲明白这个事。 近日&#xff0c;我通过大量的数据相关性分析&#xff0c;有了一些关键发现。 【数字化转型】之所以势在必行&#xff0c;主要是因为数字化转型为各个国家数字经济发展提供了重要的参考依据。…

网络通信与并发编程(一)网络通信、osi五层模型、tcp协议的三次握手与四次挥手

网络通信、osi五层模型、tcp协议的三次握手与四次挥手 文章目录 网络通信、osi五层模型、tcp协议的三次握手与四次挥手一、网络通信二、osi五层模型1.物理层2.数据链路层3.网络层4.传输层5.应用层 三、tcp协议的三次握手与四次挥手 一、网络通信 网络通信是指在网络中的两个或…

cuda入门学习

最近接触cuda 编程&#xff0c;记录一下。 1 工作实现一个【0-100&#xff09;的加法 如果用python sum 0 for i in range(200):sumi print(sum)2 cuda 的一些简单的概念 一维情况下大概是这样的 (1个grid * 2个blocks * 4个thread) 3 代码直接上代码 我把100分为20个b…

metahuman如何导入UE5

1.启动 通过EPIC启动UE5(UE5内置有Bridge, 但是UE4是需要单独下在Bridge软件) 2.打开Quixel Bridge 在window(窗口)中打开Quixel Bridge 3.Bridge界面 在弹出的Bridge界面选择模型 需要先下载&#xff0c;然后再导入 4.下载模型 点击需要的模型右上方的绿色箭头下载 5.下…

【论文#码率控制】ADAPTIVE RATE CONTROL FOR H.264

目录 摘要1.前言2.基本知识2.1 蛋鸡悖论2.2 基本单元的定义2.3 线性MAD预测模型 3.GOP级码率控制3.1 总比特数3.2 初始化量化参数 4.帧级码率控制4.1 非存储图像的量化参数4.2 存储图像的目标比特 5.基本单元级码率控制6.实验结果7.结论 《ADAPTIVE RATE CONTROL FOR H.264》 A…

OKHTTP 如何处理请求超时和重连机制

&#x1f604;作者简介&#xff1a; 小曾同学.com,一个致力于测试开发的博主⛽️&#xff0c;主要职责&#xff1a;测试开发、CI/CD 如果文章知识点有错误的地方&#xff0c;还请大家指正&#xff0c;让我们一起学习&#xff0c;一起进步。 &#x1f60a; 座右铭&#xff1a;不…

【ELKB】Kibana使用

搭建好ELKB后访问地址&#xff1a;http://localhost:5601 输入账号密码登录以后 左侧导航有home、Analysis、Enterprise search 、Observability、Security、Management home&#xff1a;首页Analysis&#xff1a;工具来分析及可视化数据Enterprise search&#xff1a;企业级搜…

解读《ARM Cortex-M3 与Cortex-M4 权威指南》——第1章 ARM Cortex-M处理器简介

1. 三级流水线设计 解释:三级流水线设计意味着处理器在执行指令时可以同时处理多个步骤。这些步骤通常包括取指(Fetch)、译码(Decode)和执行(Execute)。好处:这种设计提高了指令的执行效率,使得处理器能够在每个时钟周期内完成更多的工作,从而提升整体性能。2. 哈佛总…