当前位置: 首页 > news >正文

k8s安装学习环境

目录

环境准备

配置hosts

关闭防火墙

关闭交换分区

调整swappiness参数

关闭setlinux

Ipv4转发

时钟同步

安装Docker

配置Yum源

安装

配置

启动

日志

安装k8s

配置Yum源

Master节点

安装

初始化

配置kubectl

部署CNI网络插件

Node节点

检查


环境准备

准备两台机器centos7.9

192.168.11.120 dt01 master 2c2g

192.168.11.121 dt02 node  1c1g

配置hosts

vi /etc/hosts

192.168.11.120 dt01

192.168.11.121 dt02

或执行命令

hostnamectl set-hostname <hostname>

指定ip和host,防止后续安装k8s无法找到唯一ip报错could not be reached

关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

关闭交换分区

swapoff -a    #临时关闭

编辑文件,注释掉swap一行

vi /etc/fstab

/dev/mapper/centos_dt02-root /                       xfs     defaults        0 0

UUID=4ce225e3-cb11-4c0c-8ab5-70c6571a0d11 /boot                   xfs     defaults        0 0

#/dev/mapper/centos_dt02-swap swap                    swap    defaults        0 0

验证,swap显示都是0

free -h

调整swappiness参数

echo 0 > /proc/sys/vm/swappiness   # 临时生效

vi /etc/sysctl.conf #永久生效

vm.swappiness=0

sysctl -p  #立即生效

关闭setlinux

临时

setenforce 0

永久

vi /etc/selinux/config

SELINUX=disabled

Ipv4转发

临时

sysctl -w net.ipv4.ip_forward=1

echo 1 > /proc/sys/net/ipv4/ip_forward

永久生效

vi /etc/sysctl.conf

net.ipv4.ip_forward=1

sysctl -p

vi /etc/sysconfig/network

FORWARD_IPV4=YES

systemctl restart network

时钟同步

yum install ntpdate -y

ntpdate time.windows.com

安装Docker

Yum方式

配置Yum源

安装yum源管理工具

yum install yum-utils -y

添加docker阿里的yum源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装

yum -y install docker-ce-18.06.1.ce-3.el7

配置

vi /etc/docker/daemon.json

{

  "registry-mirrors": ["http://hub-mirror.c.163.com"]

}

启动

systemctl daemon-reload #加载配置文件

systemctl status docker #检查dead

systemctl enable docker #开机自启

systemctl restart docker #启动docker

systemctl status docker #检查running

如果systemctl status docker时有

则vi /etc/sysctl.conf 添加

net.bridge.bridge-nf-call-ip6tables=1

net.bridge.bridge-nf-call-iptables=1

sysctl -p

systemctl restart docker

systemctl status docker

日志

journalctl -u docker

安装k8s

使用kubeadm

配置Yum源

cat > /etc/yum.repos.d/kubernetes.repo << EOF

[kubernetes]

name=Kubernetes

baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64

enabled=1

gpgcheck=0

repo_gpgcheck=0

gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg

https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

EOF

Master节点

安装

yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0

systemctl enable kubelet

初始化

执行集群初始化,红色部分按需修改

kubeadm init --apiserver-advertise-address=192.168.11.120 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.18.0 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16

记下最后的输出部分

kubeadm join 192.168.11.120:6443 --token ye402k.feh90nl0r4exomu3 \

--discovery-token-ca-cert-hash sha256:94d891942ae40f97e14314c431527c640ba44f52d4db52a5f2d3a59c53e7c9ae

默认token有效期为24小时,当过期之后,该token就不可用了。这时就需要重新创建token,操作如下:

kubeadm token create --print-join-command

配置kubectl

mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown $(id -u):$(id -g) $HOME/.kube/config

部署CNI网络插件

提供的yml文件见顶部关联资源或

链接: https://pan.baidu.com/s/1W97_qMC4-9PGozmHiVdGMg?pwd=lijw

因githup访问不稳定性,直接上传文件kube-flannel.yaml

kubectl apply -f kube-flannel.yaml

注:直接安装插件

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube

flannel.yml

[root@dt01 yml]# kubectl get node

NAME   STATUS   ROLES    AGE   VERSION

dt01   Ready    master   91m   v1.18.0

Node节点

yum install -y kubelet-1.18.0 kubeadm-1.18.0

systemctl enable kubelet

在node节点上执行master节点标记的输出部分

kubeadm join 192.168.11.120:6443 --token ye402k.feh90nl0r4exomu3 \

--discovery-token-ca-cert-hash sha256:94d891942ae40f97e14314c431527c640ba44f52d4db52a5f2d3a59c53e7c9ae

如果卡住并报错

error execution phase preflight: couldn't validate the identity of the API Server: could not find a JWS signature in the cluster-info ConfigMap for token ID "e1n4kn"

To see the stack trace of this error execute with --v=5 or higher

检查token是否过期或防火墙是否关闭

检查

[root@dt01 yml]# kubectl get nodes

NAME   STATUS   ROLES    AGE    VERSION

dt01   Ready    master   145m   v1.18.0

dt02   Ready    <none>   31m    v1.18.0

如果节点不是Ready状态则需要耐心等待10分钟左右

创建一个pod

kubectl create deployment nginx --image=nginx

kubectl expose deployment nginx --port=80 --type=NodePort

kubectl get pod,svc -o wide

http://NodeIP:NodePort

NodeIP 可以是集群中任一个节点IP

可以使用命令修改nodePort端口

kubectl edit service nginx

相关文章:

k8s安装学习环境

目录 环境准备 配置hosts 关闭防火墙 关闭交换分区 调整swappiness参数 关闭setlinux Ipv4转发 时钟同步 安装Docker 配置Yum源 安装 配置 启动 日志 安装k8s 配置Yum源 Master节点 安装 初始化 配置kubectl 部署CNI网络插件 Node节点 检查 环境准备 准…...

RepidJson将内容写入文件简单代码示例

以下是使用RapidJSON将内容写入文件的示例代码&#xff1a; #include <rapidjson/document.h> #include <rapidjson/writer.h> #include <rapidjson/stringbuffer.h> #include <iostream> #include <fstream>using namespace rapidjson;int mai…...

golang构建docker镜像的几种方式

目前docker支持以下几种方式指定上下文来构建镜像 本地项目路径&#xff08;如&#xff1a;/tmp/xxx&#xff09;本地压缩包路径&#xff08;如&#xff1a;/tmp/xxx.tar&#xff09;docekrfile文本链接&#xff08;如&#xff1a;https://x.com/xxx/dockerfile&#xff09;压…...

golang使用sip协议 用户名和密码注册到vos3000

在Go语言中&#xff0c;要使用SIP协议进行注册&#xff0c;您可以使用第三方库&#xff0c;如github.com/cloudwebrtc/sip。以下是一个简单的示例代码&#xff0c;演示如何使用Go语言中的该库进行基本的SIP注册&#xff1a; 首先&#xff0c;您需要安装该库&#xff1a; go ge…...

第4章 互联网

文章目录 4.1 计算机网络基础 94 4.1.1 计算机网络的基本概念 94 4.1.2 局域网的基本原理 96 4.1.3 局域网协议与应用 98 4.2 Internet 100 4.2.1 TCP/IP 101 4.2.2 TCP/IP应用 106 4.2.3 网络操作系统的功能 112 4.2.4 网络安全的概念 116 4.3 计算机软件编程基础 …...

【JavaWeb】前端工程化(VUE3)

前端工程化&#xff08;VUE3&#xff09; 文章目录 前端工程化&#xff08;VUE3&#xff09;一、概述二、ECMA6Script2.1 es6的变量和模板字符串2.2 es6的解构表达式2.3 es6的箭头函数2.4 rest和spread2.5 es6的对象创建和拷贝2.6 es6的模块化处理 三、前端工程化环境搭建3.1 N…...

JAVA基础知识:异常处理

异常处理是Java编程中至关重要的一部分&#xff0c;它允许程序在出现错误或异常情况时进行适当的处理&#xff0c;以保证程序的稳定性和可靠性。本文将详细介绍Java中的异常处理机制&#xff0c;并提供相关示例代码&#xff0c;帮助读者更好地理解和应用异常处理的概念和技巧。…...

PostGIS学习教程十:空间索引

PostGIS学习教程十&#xff1a;空间索引 回想一下&#xff0c;空间索引是空间数据库的三个关键特性之一。空间索引使得使用空间数据库存储大型数据集成为可能。在没有空间索引的情况下&#xff0c;对要素的任何搜索都需要对数据库中的每条记录进行"顺序扫描"。索引通…...

LeetCode 13 罗马数字转整数

题目描述 罗马数字转整数 罗马数字包含以下七种字符: I&#xff0c; V&#xff0c; X&#xff0c; L&#xff0c;C&#xff0c;D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M …...

【动态规划】LeetCode2111:使数组 K 递增的最少操作次数

作者推荐 [二分查找]LeetCode2040:两个有序数组的第 K 小乘积 本文涉及的基础知识点 二分查找算法合集 分组 动态规划 题目 给你一个下标从 0 开始包含 n 个正整数的数组 arr &#xff0c;和一个正整数 k 。 如果对于每个满足 k < i < n-1 的下标 i &#xff0c;都有…...

SpringCloud面试题——Nacos

一&#xff1a;什么是Nacos&#xff1f; 二&#xff1a;服务心跳与服务注册原理&#xff1f; 在spring容器启动的时候&#xff0c;nacos客户端会进行两步操作。 向nacos服务端发送心跳向nacos服务端注册当前服务 服务心跳 客户端在启动的时候&#xff0c;会开启一个心跳线程…...

leetcode:统计感冒序列的数目【数学题:组合数含逆元模版】

1. 题目截图 2.题目分析 需要把其分为多个段进行填充 长为k的段&#xff0c;从两端往中间填充的方案数有2 ** (k - 1)种 组合数就是选哪几个数填哪几个段即可 3.组合数含逆元模版 MOD 1_000_000_007 MX 100_000# 组合数模板 fac [0] * MX fac[0] 1 for i in range(1, MX…...

外贸建站平台工具推荐?做海洋建站的平台?

外贸建站平台用哪个比较好&#xff1f;独立站建站系统如何选择&#xff1f; 随着全球市场的竞争日益激烈&#xff0c;如何通过互联网渠道展示企业形象、吸引客户成为外贸企业亟待解决的问题。海洋建站将为大家介绍几款优秀的外贸建站平台工具&#xff0c;助力企业在数字化时代…...

【智能家居】三、添加语音识别模块的串口读取功能点

语音识别模块SU-03T 串口通信线程控制代码 inputCommand.h&#xff08;输入控制指令&#xff09;voiceControl.c&#xff08;语音控制模块指令&#xff09;main.c&#xff08;主函数&#xff09;编译运行结果 语音识别模块SU-03T AI智能语音识别模块离线语音控制模块语音识别…...

物联网开发(一)新版Onenet 基础配置

onenet新创建的账号&#xff0c;没有了多协议接入&#xff0c;只有新的物联网开放平台 第一讲&#xff0c;先给大家讲一下&#xff1a;新版Onenet 基础配置 创建产品 产品开发-->创建产品 产品的品类选择个&#xff1a;大致符合你项目的即可&#xff0c;没有影响 选择智…...

qt/c/c++文件操作总结

1. 读取文件 1.1 Qt以二进制方式读取大文件返回char* 在Qt中以二进制模式读取一个大文件(以500MB为例)并将其内容存储到char*数组中,需要谨慎处理内存分配。以下是实现这一功能的步骤和示例代码: 1. 打开文件 使用QFile类以二进制模式打开文件。 2. 检查文件大小 使用…...

表示你的shell未被正确配置以使用conda activate--换成清华源anaconda

1 CommandNotFoundError: Your shell has not been properly configured to use conda activate. If using conda activate from a batch script, change your invocation to CALL conda.bat activate.To initialize your shell, run$ conda init <SHELL_NAME>这个错误提…...

VT-MRPA1-151-1X/V0/0控制2FRE16模块式模拟放大器

适用于控制带有电气位置反馈的直动式比例减压阀&#xff08;DBETR- 1X 类型&#xff09;或带有电气位置反馈的比例流量控制阀&#xff08;2FRE... 类型&#xff09;&#xff1b;控制值输入 1 0 V&#xff08;差动输入&#xff09;&#xff1b; 可分别调节“上/下”斜坡时间的斜…...

无需公网IP实现公网远程访问本地WebDAV服务

windows搭建WebDAV服务&#xff0c;并内网穿透公网访问【无公网IP】 文章目录 windows搭建WebDAV服务&#xff0c;并内网穿透公网访问【无公网IP】1. 安装IIS必要WebDav组件2. 客户端测试3. cpolar内网穿透3.1 打开Web-UI管理界面3.2 创建隧道3.3 查看在线隧道列表3.4 浏览器访…...

远程服务器QEMU+Ubuntu+GRUB+VNC最佳实践

远程服务器QEMUUbuntuGRUBVNC最佳实践 1. 准备2. QEMU启动安装Ubuntu2.1 服务器端2.2 本地端 3. 从服务器终端控制虚拟机GRUB与虚拟机终端 这段时间参与大量内核切换测试工作&#xff0c;实体机需要硬件自检太过笨重&#xff0c;因此主要通过QEMU验证正确性。有一个很大的问题是…...

Codex 上下文提供详解与操作指南

1. 文档目标 这份文档解决的是一个非常实际的问题&#xff1a; 怎么给 Codex 足够完整的上下文什么信息是必须给的&#xff0c;什么信息是可选但高价值的怎样让 Codex 在一次任务里快速进入正确状态怎样避免“我已经说了很多&#xff0c;但结果还是不对”怎样把上下文提供方式变…...

数据结构第6章树和二叉树:课后习题全解析(选择题+填空题+综合题+算法设计题)

第6章 树和二叉树 课后习题一、单项选择题1. 一棵有 n 个结点&#xff0c;采用链式存储的二叉树中&#xff0c;共有&#xff08; A &#xff09;个指针域为空。A. n1 B. n C. n−1 D. n−2解析&#xff1a; 链式存储二叉树中&#xff0c;每个结点有 2 个指针域&#xff08;左孩…...

告别手动写测试报告:用AI自动生成可视化测试总结

测试报告的价值困境与破局在软件交付的最后关头&#xff0c;测试报告往往陷入一种尴尬的境地。一方面是倒计时的上线压力&#xff0c;另一方面是堆积如山的测试数据。许多测试工程师都有过这样的经历&#xff1a;打开Excel&#xff0c;机械地复制用例执行数、通过率、缺陷数&am…...

突破海外镜像访问瓶颈:public-image-mirror 容器镜像加速实战指南

突破海外镜像访问瓶颈&#xff1a;public-image-mirror 容器镜像加速实战指南 【免费下载链接】public-image-mirror 很多镜像都在国外。比如 gcr 。国内下载很慢&#xff0c;需要加速。致力于提供连接全世界的稳定可靠安全的容器镜像服务。 项目地址: https://gitcode.com/G…...

高性能JSXBIN解码器架构设计:3大核心技术优势深度解析

高性能JSXBIN解码器架构设计&#xff1a;3大核心技术优势深度解析 【免费下载链接】jsxer A fast and accurate JSXBIN decompiler. 项目地址: https://gitcode.com/gh_mirrors/js/jsxer Jsxer是一个快速且准确的JSXBIN反编译器&#xff0c;专门用于将Adobe ExtendScrip…...

[Cesium] 数字孪生实践 | 超图插件打通UE4/Unity三维GIS管线全解析

1. 数字孪生与三维GIS技术融合的现状 数字孪生技术正在改变我们理解和构建物理世界的方式。简单来说&#xff0c;数字孪生就是通过数字化手段&#xff0c;在虚拟空间中创建一个与真实世界完全对应的"双胞胎"。这个数字化的双胞胎可以实时反映真实世界的状态&#xff…...

PSIM 9.0 手把手教学:从零搭建直流电机双闭环调速模型(附完整代码与波形分析)

PSIM 9.0 手把手教学&#xff1a;从零搭建直流电机双闭环调速模型&#xff08;附完整代码与波形分析&#xff09; 在电力电子与电机控制领域&#xff0c;仿真技术已成为工程师和研究人员不可或缺的工具。PSIM作为一款专业的电力电子仿真软件&#xff0c;以其高效的仿真速度和直…...

自建密码管理器:基于Web Crypto API与Flask的零知识安全架构实践

1. 项目概述&#xff1a;一个基于Web的密码管理器最近在GitHub上看到一个挺有意思的项目&#xff0c;叫clawvault。乍一看名字&#xff0c;可能会联想到“爪子”和“保险库”&#xff0c;其实它就是一个用Python写的、基于Web界面的密码管理器。这类工具大家应该不陌生&#xf…...

濒危方言口述史抢救项目紧急启用NotebookLM的72小时部署方案(含田野录音→结构化叙事→GIS时空标注全流程)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM考古学研究辅助 NotebookLM 是 Google 推出的基于 LLM 的研究型笔记工具&#xff0c;其核心能力在于对用户上传的私有文档&#xff08;如 PDF、TXT&#xff09;进行语义索引与上下文感知问答…...

基于MCP协议与RAG技术构建智能聊天应用:架构解析与实战指南

1. 项目概述&#xff1a;一个基于MCP协议的RAG聊天应用最近在开源社区里&#xff0c;一个名为gogabrielordonez/mcp-ragchat的项目引起了我的注意。乍一看标题&#xff0c;它融合了当下两个非常热门的技术概念&#xff1a;MCP和RAG。对于从事AI应用开发&#xff0c;特别是希望构…...