k8s环境配置

9.11

安装k8s

1、创建主机,设置ip,hostname,firewalld selinux, Networkmanage

2、设置主机之间的免密

编号主机名称IP
1k8s-master192.168.1.14
2k8s-node1192.168.1.12
3k8s-node2192.168.1.13

3、yum源配置

四个源镜像

3、清空及建立缓存

4、主机映射

vim /etc/hosts

...

192.168.1.12 k8s-master

192.168.1.13 k8s-node1

192.168.1.14 k8s-node2

5、安装工具,三台机器

# yum install wget jq psmisc vim net-tools telnet yum-utils device-mapper-persistent-data lvm2 git tree -y

6、关闭防火墙,Networkmanager selinux swap分区,都

7、同步时间

yum -y install ntpdate
ntpdate time2.aliyun.com
crontab -e
*/5**** /usr/sbin/ntpdate time2.aliyun.com

8、配置limit

vim /etc/security/limits/conf
...
* soft nofile 65536
* hard nofile 131072
* soft nproc 65535
* hard nproc 655350
* soft memlock unlimited
* hard memlock unlimited

9、载yaml,从gitee上下载,配置的pod的yaml文件和docker-comppose.yaml文件相似,等k8s架构搭建起来后,

# cd /root/ ; git clone https://gitee.com/dukuan/k8s-ha-install.git

10、配置ipvs模块,三个豆

# yum install ipvsadm ipset sysstat conntrack libseccomp -y
#vim /etc/modules-load.d/....
复制粘贴
。。。
​

11、重启

reboot

12、卸载podman ,安装 docker-ce docker-ce-cli containerd

yum -y remove podman
yum -y install docker-ce docker-ce-cli container-io

13、配置containerd

#cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf
> overlay
> br_netfilter
> EOF
overlay
br_netfilter
您在 /var/spool/mail/root 中有新邮件
# modprobe overlay
# modprobe br_netfilter
​
​

14、containerd配置文件

# vim /etc/containerd/config.toml 
63行和127行

15、启动服务,查看状态

# systemctl enable --now containerd.service
# systemctl status containerd.service

16、安装kubernet组件

# yum -y install kubeadm-1.28* kubectl-1.28* kubelet-1.28*
查看安装完整
#yum list installed | grep kube
# systemctl daemon-reload
# systemctl enable --now kubelet

若kubelet启动异常,先检查swap是否已经取消虚拟分区,查看/var/lib/message,如果是没有/var/lib/kubelet/config.yaml文件,可能需要重新安装,

yum -y remove kubelet-1.28*
yum -y install kubelet-1.28*
systemctl daemob-reload
systemctl enable --now kubelet
yum -y install kubeadm-1.28*
#kubelet端口是10248 10250 10255三个端口

接下来主要对master主机

17、集群初始化

--拉取镜像
# vim kubeadm-config.yaml
apiVersion: kubeadm.k8s.io/v1beta3      # 指定Kubernetes配置文件的版本,使用的是kubeadm API的v1beta3版本
bootstrapTokens:        # 定义bootstrap tokens的信息。这些tokens用于在Kubernetes集群初始化过程中进行身份验证
- groups:       # 定义了与此token关联的组- system:bootstrappers:kubeadm:default-node-token token: 7t2weq.bjbawausm0jaxury        # bootstrap token的值ttl: 24h0m0s      # token的生存时间,这里设置为24小时usages:           # 定义token的用途- signing     # 数字签名- authentication      # 身份验证
kind: InitConfiguration     # 指定配置对象的类型,InitConfiguration:表示这是一个初始化配置
localAPIEndpoint:       # 定义本地API端点的地址和端口advertiseAddress: 192.168.1.14bindPort: 6443
nodeRegistration:       # 定义节点注册时的配置criSocket: unix:///var/run/containerd/containerd.sock     # 容器运行时(CRI)的套接字路径name: k8s-master      # 节点的名称taints:       # 标记- effect: NoSchedule      # 免调度节点key: node-role.kubernetes.io/control-plane      # 该节点为控制节点
---
apiServer:      # 定义了API服务器的配置certSANs:     # 为API服务器指定了附加的证书主体名称(SAN),指定IP即可- 192.168.15.11timeoutForControlPlane: 4m0s      # 控制平面的超时时间,这里设置为4分钟
apiVersion: kubeadm.k8s.io/v1beta3      # 指定API Server版本
certificatesDir: /etc/kubernetes/pki    # 指定了证书的存储目录
clusterName: kubernetes     # 定义了集群的名称为"kubernetes"
controlPlaneEndpoint: 192.168.1.14:6443     # 定义了控制节点的地址和端口
controllerManager: {}       # 控制器管理器的配置,为空表示使用默认配置
etcd:       # 定义了etcd的配置local:        # 本地etcd实例dataDir: /var/lib/etcd      # 数据目录
imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers        # 指定了Kubernetes使用的镜像仓库的地址,阿里云的镜像仓库。
kind: ClusterConfiguration      # 指定了配置对象的类型,ClusterConfiguration:表示这是一个集群配置
kubernetesVersion: v1.28.2      # 指定了kubernetes的版本
networking:     # 定义了kubernetes集群网络设置dnsDomain: cluster.local      # 定义了集群的DNS域为:cluster.localpodSubnet: 172.16.0.0/16      # 定义了Pod的子网serviceSubnet: 10.96.0.0/16   # 定义了服务的子网
scheduler: {}       # 使用默认的调度器行为
您在 /var/spool/mail/root 中有新邮件
​
# kubeadm config migrate --old-config kubeadm-config.yaml --new-config new.yaml
​
--集群初始化
#kubeadm init --config /root/new.yaml  --upload-certs
​
#vim token
kubeadm join 192.168.1.14:6443 --token 7t2weq.bjbawausm0jaxury \--discovery-token-ca-cert-hash sha256:0c3d37890b7bc36002cf53083f2739e1d717ebf10988020ae19b4af9d000db97 
​
保存token
​

初始化不成功的,1、主机配置2核2G40G,20G凑合用2、echo 1 > /proc/net/ipv4/ip_forward3、kubelet无法启动,可能是swap分区没关或者是没有配置文件4、多关注vim /var/log/message

[root@master ~]# export KUBECONFIG=/etc/kubernetes/admin.conf您在 /var/spool/mail/root 中有新邮件[root@master ~]# kubectl get nodesNAME STATUS ROLES AGE VERSIONmaster NotReady control-plane 44m v1.28.2node1 NotReady <none> 76s v1.28.2node2 NotReady <none> 65s v1.28.2

添加不成功,原因

1、kubelet没有stop

2、IP转发没有

3、token重新初始化或者生成token

4、node中的containderd是否正常

18、查看节点以及pod状态

#查看节点 查看在集群中的主机的状态
# kubectl get nodes
NAME     STATUS     ROLES           AGE   VERSION
master   NotReady   control-plane   44m   v1.28.2
node1    NotReady   <none>          76s   v1.28.2
node2    NotReady   <none>          65s   v1.28.2
​
#查看所有的pod的状态
#kubelet get po -A
NAMESPACE     NAME                             READY   STATUS    RESTARTS   AGE
kube-system   coredns-6554b8b87f-5lt5x         0/1     Pending   0          49m
kube-system   coredns-6554b8b87f-dqx6t         0/1     Pending   0          49m
kube-system   etcd-master                      1/1     Running   0          49m
kube-system   kube-apiserver-master            1/1     Running   0          49m
kube-system   kube-controller-manager-master   1/1     Running   0          49m
kube-system   kube-proxy-5rwvt                 1/1     Running   0          49m
kube-system   kube-proxy-5x555                 1/1     Running   0          5m39s
kube-system   kube-proxy-g79tw                 1/1     Running   0          5m28s
kube-system   kube-scheduler-master            1/1     Running   0          49m
​
#查看pod完整信息
# kubectl get po -Aowide
NAMESPACE     NAME                             READY   STATUS    RESTARTS   AGE   IP             NODE     NOMINATED NODE   READINESS GATES
kube-system   coredns-6554b8b87f-5lt5x         0/1     Pending   0          56m   <none>         <none>   <none>           <none>
kube-system   coredns-6554b8b87f-dqx6t         0/1     Pending   0          56m   <none>         <none>   <none>           <none>
kube-system   etcd-master                      1/1     Running   0          57m   192.168.1.14   master   <none>           <none>
kube-system   kube-apiserver-master            1/1     Running   0          57m   192.168.1.14   master   <none>           <none>
kube-system   kube-controller-manager-master   1/1     Running   0          57m   192.168.1.14   master   <none>           <none>
kube-system   kube-proxy-5rwvt                 1/1     Running   0          56m   192.168.1.14   master   <none>           <none>
kube-system   kube-proxy-5x555                 1/1     Running   0          13m   192.168.1.12   node1    <none>           <none>
kube-system   kube-proxy-g79tw                 1/1     Running   0          13m   192.168.1.13   node2    <none>           <none>
kube-system   kube-scheduler-master            1/1     Running   0          57m   192.168.1.14   master   <none>           <none>
​

status:

状态名称中文说明
pending挂起当前pod没有工作
running运行中当前pod正常工作
containercreating正在创建容器正在创建容器

19、部署calico

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

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

相关文章

LeetCode_sql_day28(1767.寻找没有被执行的任务对)

描述&#xff1a;1767.寻找没有被执行的任务对 表&#xff1a;Tasks ------------------------- | Column Name | Type | ------------------------- | task_id | int | | subtasks_count | int | ------------------------- task_id 具有唯一值的列。 ta…

我的创作纪念日-20240919

何尝不是一种纪念。 话说&#xff0c;毕业之后和大学同学去深圳&#xff0c;后面回家考编制&#xff0c;现在在家里的中国邮政的代理金融网点上班。

【开放词汇检测】基于MMDetection的MM-Grounding-DINO实战

文章目录 摘要安装基础环境新建虚拟环境安装pytorch安装openmim、mmengine、mmcv安装 MMDetection验证安装配置OV-DINO环境 MMDetection的MM-Grounding-DINO详细介绍测试结果Zero-Shot COCO 结果与模型Zero-Shot LVIS ResultsZero-Shot ODinW&#xff08;野生环境下的目标检测&…

element-plus的菜单组件el-menu

菜单是几乎是每个管理系统的软件系统中不可或缺的&#xff0c;element-plus提供的菜单组件可以快速完成大部分的菜单的需求开发&#xff0c; 该组件内置和vue-router的集成&#xff0c;使用起来很方便。 主要组件如下 el-menu 顶级菜单组件 主要属性 mode:决定菜单的展示模式…

记录一下gitlab社区版的安装教程

目录 1.更新系统软件包 2.安装必要的依赖 3.添加GitLab源 3.1对于GitLab Enterprise Edition&#xff08;EE&#xff09;&#xff1a; 3.2对于GitLab Community Edition&#xff08;CE&#xff09;&#xff1a; 4.安装GitLab 4.1安装GitLab Enterprise Edition&#xff08;…

快人一步迅为LPDDR5版本瑞芯微RK3588核心板升级了

性能强--iTOP-3588开发板采用瑞芯微RK3588处理器&#xff0c;是全新一代ALoT高端应用芯片&#xff0c;采用8nm LP制程&#xff0c;搭载八核64位CPU&#xff0c;四核Cortex-A76和四核Cortex-A55架构&#xff0c;主频高达2.4GHZ&#xff0c;8GB内存&#xff0c;32GB EMMC。四核心…

PHP全程可视化防伪溯源一体化管理系统小程序源码

全程可视化&#xff0c;防伪溯源新篇章 —— 揭秘一体化管理系统的力量 &#x1f50d; 开篇&#xff1a;透视未来&#xff0c;从源头到终端的安心之旅 在这个信息透明化时代&#xff0c;每一件商品都承载着消费者的信任与期待。而“全程可视化防伪溯源一体化管理系统”&#x…

CleanClip for Mac 剪切板 粘贴工具 历史记录 安装(保姆级教程,新手小白轻松上手)

CleanClip&#xff1a;革新macOS剪贴板管理体验 目录 功能概览 多格式历史记录保存智能搜索功能快速复制操作拖拽功能 安装指南 前期准备安装步骤 配置与使用 功能概览 多格式历史记录保存 CleanClip支持保存文本、图片、文件等多种格式的复制历史记录&#xff0c;为用户提…

GIS OGC之WMTS地图服务,通过Capabilities XML描述文档,获取matrixIds,origin,计算resolutions

GIS OGC之WMTS地图服务&#xff0c;通过Capabilities XML描述文档&#xff0c;获取matrixIds&#xff0c;origin&#xff0c;计算resolutions 需求&#xff1a;如何根据WMTS服务的Capabilities描述文档得到&#xff0c;openlayers调用wmts服务时的matrixIds&#xff0c;origin…

Qwen 2.5:阿里巴巴集团的新一代大型语言模型

Qwen 2.5&#xff1a;阿里巴巴集团的新一代大型语言模型 摘要&#xff1a; 在人工智能领域&#xff0c;大型语言模型&#xff08;LLMs&#xff09;的发展日新月异&#xff0c;它们在自然语言处理&#xff08;NLP&#xff09;和多模态任务中扮演着越来越重要的角色。阿里巴巴集…

探索RESTful风格的网络请求:构建高效、可维护的API接口【后端 20】

探索RESTful风格的网络请求&#xff1a;构建高效、可维护的API接口 在当今的软件开发领域&#xff0c;RESTful&#xff08;Representational State Transfer&#xff09;风格的网络请求已经成为构建Web服务和API接口的标配。RESTful风格以其简洁、无状态、可缓存以及分层系统等…

[数据集][目标检测]俯拍航拍森林火灾检测数据集VOC+YOLO格式6116张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;6116 标注数量(xml文件个数)&#xff1a;6116 标注数量(txt文件个数)&#xff1a;6116 标注…

神经网络通俗理解学习笔记(0) numpy、matplotlib

Numpy numpynumpy 基本介绍Ndarray对象及其创建Numpy数组的基础索引numpy数组的合并与拆分&#xff08;重要&#xff09;numpy数组的矩阵运算Numpy数组的统计运算numpy中的arg运算numpy中的神奇索引和比较 Matplotlib numpy numpy 基本介绍 numpy 大多数机器学习库都用了这个…

视频监控平台是如何运作的?EasyCVR视频汇聚平台的高效策略与实践

随着科技的飞速发展&#xff0c;视频监控平台在社会安全、企业管理、智慧城市构建等领域发挥着越来越重要的作用。一个高效的视频监控平台&#xff0c;不仅依赖于先进的硬件设备&#xff0c;更离不开强大的视频处理技术作为支撑。这些平台集成了多种先进的视频技术&#xff0c;…

Python 如何封装工具类方法,以及使用md5加密

第一步&#xff1a;封装使用方法 在utils目录中&#xff0c;编写我的md5加密的方法&#xff0c;如下&#xff1a; import re import hashlib from os import path from typing import Callable from flask import current_app# 这里封装的是工具类的方法def basename(filenam…

Redis实现发布/订阅功能(实战篇)

前言 博主在学习 Redis 实现发布订阅功能的时候&#xff0c;踩了太多的坑。 不是讲解不详细&#xff0c;看的一知半解&#xff1b;就是代码有问题&#xff0c;实际压根跑不起来&#xff01; 于是博主萌生了自己写一个最新版且全程无错的博客供各位参考。希望各位不要把我才过…

【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧

文章目录 Python NumPy学习指南前言第六部分&#xff1a;NumPy在科学计算中的应用1. 数值积分使用梯形规则进行数值积分使用Simpson规则进行数值积分 2. 求解微分方程通过Euler方法求解一阶常微分方程使用scipy.integrate.solve_ivp求解常微分方程 3. 随机过程模拟模拟布朗运动…

Llama 3.1 Omni:颠覆性的文本与语音双输出模型

你可能听说过不少关于语言模型的进展,但如果告诉你,有一种模型不仅能生成文本,还能同时生成语音,你会不会觉得特别酷?今天咱们就来聊聊一个相当前沿的项目——Llama 3.1 Omni模型。这个模型打破了传统的文字生成边界,直接让文本和语音同时输出,实现了真正的"多模态…

网络爬虫到底难在哪里?

如果你是自己做爬虫脚本开发&#xff0c;那确实难&#xff0c;因为你需要掌握Python、HTML、JS、xpath、database等技术&#xff0c;而且还要处理反爬、动态网页、逆向等情况&#xff0c;不然压根不知道怎么去写代码&#xff0c;这些技术和经验储备起码得要个三五年。 比如这几…

基于milvus数据库的RAG-Demo

1.上传文本并将文本向量化 import os from django.conf import settings from langchain.document_loaders import TextLoader from langchain.text_splitter import RecursiveCharacterTextSplitter, CharacterTextSplitter from langchain.vectorstores import Chroma from l…