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

2024.9.12(k8s环境搭建2)

一、接9.11
19、部署calico的pod
4. 查看容器和节点状态

异常处理:

出现Init:0/3,查看node节点 /var/log/messages是否有除网络异常之外的报错信息

三台机器执行:(更新版本)

yum list kernel

yum update kernel

reboot

三台机器该目录下要有以下文件

reboot

kubectl get po -A 查看没有pending状态就等待

[root@k8s-master ~]# kubectl get node

NAME         STATUS   ROLES           AGE   VERSION
k8s-master   Ready    control-plane   18h   v1.28.2
k8s-node1    Ready    <none>          18h   v1.28.2
k8s-node2    Ready    <none>          18h   v1.28.2

[root@k8s-master ~]# kubectl run nginx --image=nginx:latest     //添加一个新的pod
pod/nginx created

[root@k8s-master ~]# kubectl run nginx0 --image=nginx
[root@k8s-master ~]# kubectl get po -Aowide | grep nginx 

default       nginx                                      1/1     Running   0             47m   172.16.169.130   k8s-node2    <none>           <none>
default       nginx1                                     1/1     Running   0             38m   172.16.169.129   k8s-node2    <none>           <none>

[root@k8s-master ~]# kubectl logs nginx   //查看日志

[root@k8s-master ~]# curl 172.16.169.130

[root@k8s-master ~]# kubectl delete pod nginx
[root@k8s-master ~]# kubectl delete pod nginx1

20、 资源监控Metrics 部署
1. 复制证书到所有节点

[root@k8s-master ~]# scp /etc/kubernetes/pki/front-proxy-ca.crt k8s-node1:/etc/kubernetes/pki/front-proxy-ca.crt 
[root@k8s-master ~]# scp /etc/kubernetes/pki/front-proxy-ca.crt k8s-node2:/etc/kubernetes/pki/front-proxy-ca.crt 

2. 上传components.yaml文件

[root@k8s-master ~]# mkdir pods
[root@k8s-master ~]# mv components.yaml pods/
[root@k8s-master ~]# cd pods/
[root@k8s-master pods]# ls
components.yaml

3. 根据yaml文件创建pod

[root@k8s-master pods]# kubectl create -f components.yaml

4. 查看pod列表状态

[root@k8s-master pods]# kubectl get pods -Aowide | grep metrics

kube-system   metrics-server-79776b6d54-rlw2j            1/1     Running   0             5m30s   172.16.36.65     k8s-node1    <none>           <none>
5. 查看节点资源监控

[root@k8s-master pods]# kubectl top nodes

NAME         CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
k8s-master   143m         7%     1103Mi          64%       
k8s-node1    41m          2%     819Mi           47%       
k8s-node2    45m          2%     858Mi           49%     

[root@k8s-master pods]# kubectl top pods -n kube-system   //查看kube-system命名空间的所有节点

NAME                                       CPU(cores)   MEMORY(bytes)   
calico-kube-controllers-6d48795585-dnwc4   2m           31Mi            
calico-node-4dfpr                          22m          124Mi           
calico-node-64rzl                          24m          103Mi           
calico-node-t8l7f                          22m          92Mi            
coredns-6554b8b87f-4xzkp                   1m           16Mi            
coredns-6554b8b87f-ws7pj                   1m           28Mi            
etcd-k8s-master                            17m          65Mi            
kube-apiserver-k8s-master                  51m          315Mi           
kube-controller-manager-k8s-master         14m          86Mi            
kube-proxy-hgn9q                           1m           33Mi            
kube-proxy-tshb8                           1m           26Mi            
kube-proxy-ww7k4                           1m           36Mi            
kube-scheduler-k8s-master                  3m           43Mi            
metrics-server-79776b6d54-rlw2j            3m           17Mi            
21、Dashboard部署
1. 建⽴dashboard的pod资源

[root@k8s-master ~]# cd k8s-ha-install/
[root@k8s-master k8s-ha-install]# ls


[root@k8s-master k8s-ha-install]# cd dashboard/
[root@k8s-master dashboard]# ls
dashboard-user.yaml  dashboard.yaml

[root@k8s-master dashboard]# kubectl create -f .   //使用当前目录

[root@k8s-master dashboard]# kubectl get po -A| grep dashboard

2. 设置svc模式

[root@k8s-master dashboard]# kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard

[root@k8s-master dashboard]# kubectl get svc kubernetes-dashboard -n kubernetes-dashboard  //获取端口

NAME                   TYPE       CLUSTER-IP     EXTERNAL-IP   PORT(S)         AGE
kubernetes-dashboard   NodePort   10.96.22.191   <none>        443:31282/TCP   8m48s
3. 获得token 

[root@k8s-master dashboard]# kubectl create token admin-user -n kube-system

eyJhbGciOiJSUzI1NiIsImtpZCI6IlhPdHNYNThidExFTHNMNmR4QkRuMGd1TWhqd3VYaW9rc2lHN3o1Y2RMdDQifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNzI2MTE1NTA4LCJpYXQiOjE3MjYxMTE5MDgsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJhZG1pbi11c2VyIiwidWlkIjoiYjRkZDAzZDMtNTk3Yy00YTEwLTg5MTUtMGJmYzJiOTBiODA1In19LCJuYmYiOjE3MjYxMTE5MDgsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlLXN5c3RlbTphZG1pbi11c2VyIn0.cvypVYVBNb8CkvXZv1lZ8CXY7lIbzsvyFXK7ovke5uWpiBm8_3xNBwcxFUEA9nk2MuA36Ru2U9z6Qs2TJb06mPK308wu5GQIXAai3i5ABw5i5nkhDuKIoJpcyvnCALKPDDIg6oIp_BjnGzo8aTDiH6g53lGUKZHDBwfFehkVNucR2BvRny1yeBXWXpiyM4SHvyvCa0INtlDCSv4jkk8-ag_G8VRtxEE1LqO1I39dV8HUhBmC7_gKItrMaVmsGa3btkTuynGOqxHSP_DtHjVnQH8GiSyszqDceBVIqeWsULTZFUjBoR51Ef76Uxv2JqnYvgYOatbGU0bvu9k_BV0vvQ
22、设置proxy的模式为ipvs
1. 编辑pod 

[root@k8s-master ~]# kubectl edit cm kube-proxy -n kube-system 

2. 更新 Kube-Proxy 的 Pod

 [root@k8s-master ~]# kubectl patch daemonset kube-proxy -p "{\"spec\":{\"template\":{\"metadata\": {\"annotations\":{\"date\":\"`date +'%s'`\"}}}}}" -n kube-system
daemonset.apps/kube-proxy patched

3. 访问测试

[root@k8s-master ~]# curl 127.0.0.1:10249/proxyMode

ipvs

23、查看service pod 宿主机的网段

[root@k8s-master ~]# kubectl get svc
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP   23h

[root@k8s-master ~]# kubectl get pods -Aowide

24、验证是否可正常创建参数 

[root@k8s-master ~]# kubectl create deploy cluster-test1 --image=registry.cn-beijing.aliyuncs.com/dotbalo/debug-tools -- sleep 3600

[root@k8s-master ~]# kubectl get po
[root@k8s-master ~]# kubectl get po -owidew

25、Pod 必须能够解析 Service
1. nslookup kubernetes

[root@k8s-master ~]# kubectl exec -it cluster-test1-54575cf56c-65tv4 -- bash
(07:39 cluster-test1-54575cf56c-65tv4:/) nslookup kubernetes
Server:        10.96.0.10
Address:    10.96.0.10#53

Name:    kubernetes.default.svc.cluster.local
Address: 10.96.0.1

2. nslookup kube-dns.kube-system

(07:39 cluster-test1-54575cf56c-65tv4:/) nslookup kube-dns.kube-system
Server:        10.96.0.10
Address:    10.96.0.10#53

Name:    kube-dns.kube-system.svc.cluster.local
Address: 10.96.0.10

可以解析到server的第⼗个ip,说明可以解析到kube-dns,说 明跨namespace也可解析

26、 确认各 Pod 之间是否可正常通信

[root@k8s-master ~]# kubectl exec -it cluster-test1-54575cf56c-65tv4 -- bash
(07:46 cluster-test1-54575cf56c-65tv4:/) ping 172.16.235.200 -c 3
PING 172.16.235.200 (172.16.235.200) 56(84) bytes of data.
64 bytes from 172.16.235.200: icmp_seq=1 ttl=62 time=0.553 ms
64 bytes from 172.16.235.200: icmp_seq=2 ttl=62 time=0.675 ms
64 bytes from 172.16.235.200: icmp_seq=3 ttl=62 time=0.631 ms

--- 172.16.235.200 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.553/0.619/0.675/0.058 ms

二、 kubernetes常用命令

1、kubernetes自动补齐

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

[root@k8s-master ~]# source <(kubectl completion bash)   //临时开启自动补齐功能
[root@k8s-master ~]# echo "source <(kubectl completion bash)" >> ~/.bashrc   //永久开启

2、基础命令
1. 创建

[root@k8s-master ~]# kubectl create namespace pes
namespace/pes created
[root@k8s-master ~]# kubectl get namespace

NAME                   STATUS   AGE
default                Active   24h
kube-node-lease        Active   24h
kube-public            Active   24h
kube-system            Active   24h
kubernetes-dashboard   Active   4h41m
pes                    Active   38s
2. 删除 
NAMESPACE              NAME                                         READY   STATUS             RESTARTS      AGE
default                cluster-test1-54575cf56c-65tv4               1/1     Running            0             24m
default                clustertest-58dbff6c48-xbpvj                 0/1     ErrImagePull       0             38m

[root@k8s-master ~]# kubectl delete deployment clustertest   //删除

3、编写yaml文件 

[root@k8s-master ~]# vim pods/abc.yaml

apiVersion: v1
kind: Pod
metadata:name: busybox-sleep
spec:containers:- name: busyboximage: busybox:1.28args:- sleep- "1000"
4. kubectl create

[root@k8s-master pods]# kubectl create -f abc.yaml

[root@k8s-master pods]# kubectl get po -A | grep bus
default                busybox-sleep                                0/1     ImagePullBackOff   0               11m
[root@k8s-master pods]# kubectl delete pod busybox-sleep
pod "busybox-sleep" deleted
[root@k8s-master pods]# kubectl get po -A | grep bus

相关文章:

2024.9.12(k8s环境搭建2)

一、接9.11 19、部署calico的pod 4. 查看容器和节点状态 异常处理&#xff1a; 出现Init:0/3&#xff0c;查看node节点 /var/log/messages是否有除网络异常之外的报错信息 三台机器执行&#xff1a;&#xff08;更新版本&#xff09; yum list kernel yum update kernel reb…...

Redis 字典的哈希函数和 rehash 操作详解

Redis 字典的哈希函数和 rehash 操作详解 在 Redis 中,字典(Hash Table)是一种重要的数据结构,用于存储键值对。下面解释 Redis 字典的哈希函数和 rehash 操作。 一、哈希函数 作用 Redis 的字典使用哈希函数将键转换为一个整数索引,这个索引用于确定键值对在哈希表中的…...

汉王手写签批控件如何在谷歌、火狐、Edge等浏览器使用

背景 近日&#xff0c;有网友咨询汉王手写签批控件是否可以通过allWebPlugin中间件技术加载到谷歌、火狐、Edge等浏览器&#xff1f;为此&#xff0c;笔者详细了解了一下汉王手写签批控件&#xff0c;它是一个标准的ActiveX控件&#xff0c;曾经主要在IE浏览器使用&#xff0c;…...

Halo 开发者指南——项目运行、构建

准备工作 环境要求 OpenJDK 17 LTSNode.js 20 LTSpnpm 9IntelliJ IDEAGitDocker&#xff08;可选&#xff09; 名词解释 工作目录 指 Halo 所依赖的工作目录&#xff0c;在 Halo 运行的时候会在系统当前用户目录下产生一个 halo-next 的文件夹&#xff0c;绝对路径为 ~/ha…...

【C++】——list

文章目录 list介绍和使用list注意事项 list模拟实现list和vector的不同 list介绍和使用 在C中&#xff0c;list是一个带头双向链表 list注意事项 迭代器失效 删除元素&#xff1a;当使用迭代器删除一个元素时&#xff0c;指向该元素的迭代器会失效&#xff0c;但是不会影响其他…...

07_Python数据类型_集合

Python的基础数据类型 数值类型&#xff1a;整数、浮点数、复数、布尔字符串容器类型&#xff1a;列表、元祖、字典、集合 集合 集合&#xff08;set&#xff09;是Python中一个非常强大的数据类型&#xff0c;它存储的是一组无序且不重复的元素&#xff0c;集合中的元素必须…...

结合人工智能,大数据,物联网等主流技术实现业务流程的闭环整合的名厨亮灶开源了

明厨亮灶视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒&#xff0c;省去繁琐重复的适配流程&#xff0c;实现芯片、算法、应用的全流程组合&#xff0c;从而大大减少企业级应用约95%的开发成本。AI技术可以24小时…...

vue环境搭建相关介绍

一、路由管理器说明 1.route&#xff1a;译为路由&#xff0c;可以理解为单个路由或者某一个路由。 2.routes&#xff1a;路由集合&#xff0c;可以理解为多个route的集合。 3.router&#xff1a;路由器&#xff0c;可以理解为路由集合的管理者。例如&#xff0c;当我们在页面…...

MyBatis系统学习(四)——MyBatis的关联映射和缓存机制

MyBatis 是一个优秀的持久层框架&#xff0c;它通过 XML 或注解将 Java 对象与 SQL 语句相映射&#xff0c;简化了 JDBC 代码&#xff0c;增强了 SQL 的灵活性。在复杂业务场景中&#xff0c;数据库表之间经常存在一对一、一对多、多对多的关联关系&#xff0c;MyBatis 提供了相…...

【iOS】present和push

【iOS】present和push present和push的比较 present和push都用于iOS的视图切换&#xff0c;并且切换都是可逆的&#xff0c;原始视图不会被销毁&#xff0c;还可以直接更改window的rootViewController来切换视图&#xff0c;但是这种方法不可逆&#xff0c;并且原始视图会被销毁…...

Axure RP 9最新安装程序及汉化包下载(支持Win、Mac版,附下载安装教程)

数月前Axure RP官方已经发布了Axure RP 9的消息&#xff0c;并计划在今年夏天发布beta版本。新版Axure RP 9将是该工具向前迈出的重要一步&#xff0c;其中包括一系列广泛的改进&#xff1a;全面的UI修改&#xff0c;新的设计和文档功能以及前所未有的内部优化。我们已经彻底重…...

k8s环境搭建(续)

查看节点信息并做快照 kubectl get nodes 将components.yml文件上传到master主机 创建nginx&#xff0c;会在添加一个新的pod kubectl run nginx --imagesnginx:latest 查看nginx的pod信息 [rootk8s-master ~]# kubectl get po -Aowide|grep nginx 出现错误&#xff0c;查…...

kali——binwalk的使用

目录 前言 使用方法 分析文件 分离文件 前言 binwalk是一个用于分析、逆向工程和提取固件映像的工具。 binwalk能够分析固件映像文件&#xff0c;识别其中包含的文件。例如&#xff0c;它可以从一个设备固件中提取出压缩文件或图片等嵌入内容。 使用方法 分析文件 binwa…...

Ubuntu 24.04中安装virtualenv

在Ubuntu 24.04中安装virtualenv&#xff0c;可以按照以下步骤进行&#xff1a; 1. 确保Python已安装‌&#xff1a; 在终端中输入python --version或python3 --version来检查Python的安装情况。 python3 --version2. 安装pip‌&#xff08;如果尚未安装&#xff09;&#x…...

一个简约的uniapp登录界面,基于uniapp+vue3+uview-plus

uniapp-vue3-template 一个简约的uniapp登录界面&#xff0c;基于uniappvue3uview-plus 页面主要包括&#xff1a;用户登录&#xff0c;手机验证码登录&#xff0c;用户注册&#xff0c;重置密码等页面 登录进去后为空白模板 源码在文末 界面 源码 uniapp登录界面源码...

系统架构设计师 需求分析篇二

&#x1f4d8; 面向对象分析方法 1. 用例模型 &#x1f4c8; 构建用例模型一般需要经历 4 个阶段&#xff1a; 识别参与者 &#x1f50d;&#xff1a;识别与系统交互的所有事物。合并需求获得用例 &#x1f517;&#xff1a;将需求分配给予其相关的参与者。细化用例描述 &am…...

IP 协议分析《实验报告》

目录 一、 实验目的 二、实验设备和环境 三、实验记录 1、实验环境搭建 2、IP 协议分析 1.设置抓包接口 2.IP 报文分析 3.报文长度计算 4.生存时间 TTL 5.分析总结 3、IP分片 1.IP 分片简介 2.捕获分组 3.结果分析 一、 实验目的 1、掌握 IP 协议数据报格式&…...

人工智能开发实战matplotlib库应用基础

内容导读 matplotlib简介绘制直方图绘制撒点图 一、matplotlib简介 matplotlib是一个Python 2D绘图库&#xff0c;它以多种硬拷贝格式和跨平台的交互式环境生成高质量的图形。 matplotlib 尝试使容易的事情变得更容易&#xff0c;使困难的事情变得可能。 我们只需几行代码…...

Android 源码集成可卸载 APP

android系统包含三类APP: 1、可自由卸载APP安装在 /data/app目录下。 2、系统APP放在 /system/app目录。 3、特权APP放在 /system/priv-app目录。 系统编译后&#xff0c;打包前&#xff0c; /data分区不起作用&#xff0c;因此系统打包前&#xff0c;可以先将APP全部拷贝到 /…...

cJSON-轻量级解析模块、字符串的神——编织STM32C8T6与阿里云信息传递的纽带

编写方向&#xff1a;本人就不泛泛的编写一篇什么一文学会cJSON了&#xff0c;没什么突出点&#xff0c;也就我水水字数&#xff0c;你们看来看去也不懂&#xff0c;本人是从上阿里云传信息接触的cJSON的&#xff0c;我就此写一篇针对性的文章&#xff0c;希望对大家有用&#…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

技术栈RabbitMq的介绍和使用

目录 1. 什么是消息队列&#xff1f;2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?

现有的 Redis 分布式锁库&#xff08;如 Redisson&#xff09;相比于开发者自己基于 Redis 命令&#xff08;如 SETNX, EXPIRE, DEL&#xff09;手动实现分布式锁&#xff0c;提供了巨大的便利性和健壮性。主要体现在以下几个方面&#xff1a; 原子性保证 (Atomicity)&#xff…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…...

C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...