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 nginxdefault 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#53Name: 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#53Name: 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 namespaceNAME 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. 查看容器和节点状态 异常处理: 出现Init:0/3,查看node节点 /var/log/messages是否有除网络异常之外的报错信息 三台机器执行:(更新版本) yum list kernel yum update kernel reb…...
Redis 字典的哈希函数和 rehash 操作详解
Redis 字典的哈希函数和 rehash 操作详解 在 Redis 中,字典(Hash Table)是一种重要的数据结构,用于存储键值对。下面解释 Redis 字典的哈希函数和 rehash 操作。 一、哈希函数 作用 Redis 的字典使用哈希函数将键转换为一个整数索引,这个索引用于确定键值对在哈希表中的…...
汉王手写签批控件如何在谷歌、火狐、Edge等浏览器使用
背景 近日,有网友咨询汉王手写签批控件是否可以通过allWebPlugin中间件技术加载到谷歌、火狐、Edge等浏览器?为此,笔者详细了解了一下汉王手写签批控件,它是一个标准的ActiveX控件,曾经主要在IE浏览器使用,…...
Halo 开发者指南——项目运行、构建
准备工作 环境要求 OpenJDK 17 LTSNode.js 20 LTSpnpm 9IntelliJ IDEAGitDocker(可选) 名词解释 工作目录 指 Halo 所依赖的工作目录,在 Halo 运行的时候会在系统当前用户目录下产生一个 halo-next 的文件夹,绝对路径为 ~/ha…...
【C++】——list
文章目录 list介绍和使用list注意事项 list模拟实现list和vector的不同 list介绍和使用 在C中,list是一个带头双向链表 list注意事项 迭代器失效 删除元素:当使用迭代器删除一个元素时,指向该元素的迭代器会失效,但是不会影响其他…...
07_Python数据类型_集合
Python的基础数据类型 数值类型:整数、浮点数、复数、布尔字符串容器类型:列表、元祖、字典、集合 集合 集合(set)是Python中一个非常强大的数据类型,它存储的是一组无序且不重复的元素,集合中的元素必须…...
结合人工智能,大数据,物联网等主流技术实现业务流程的闭环整合的名厨亮灶开源了
明厨亮灶视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。AI技术可以24小时…...
vue环境搭建相关介绍
一、路由管理器说明 1.route:译为路由,可以理解为单个路由或者某一个路由。 2.routes:路由集合,可以理解为多个route的集合。 3.router:路由器,可以理解为路由集合的管理者。例如,当我们在页面…...
MyBatis系统学习(四)——MyBatis的关联映射和缓存机制
MyBatis 是一个优秀的持久层框架,它通过 XML 或注解将 Java 对象与 SQL 语句相映射,简化了 JDBC 代码,增强了 SQL 的灵活性。在复杂业务场景中,数据库表之间经常存在一对一、一对多、多对多的关联关系,MyBatis 提供了相…...
【iOS】present和push
【iOS】present和push present和push的比较 present和push都用于iOS的视图切换,并且切换都是可逆的,原始视图不会被销毁,还可以直接更改window的rootViewController来切换视图,但是这种方法不可逆,并且原始视图会被销毁…...
Axure RP 9最新安装程序及汉化包下载(支持Win、Mac版,附下载安装教程)
数月前Axure RP官方已经发布了Axure RP 9的消息,并计划在今年夏天发布beta版本。新版Axure RP 9将是该工具向前迈出的重要一步,其中包括一系列广泛的改进:全面的UI修改,新的设计和文档功能以及前所未有的内部优化。我们已经彻底重…...
k8s环境搭建(续)
查看节点信息并做快照 kubectl get nodes 将components.yml文件上传到master主机 创建nginx,会在添加一个新的pod kubectl run nginx --imagesnginx:latest 查看nginx的pod信息 [rootk8s-master ~]# kubectl get po -Aowide|grep nginx 出现错误,查…...
kali——binwalk的使用
目录 前言 使用方法 分析文件 分离文件 前言 binwalk是一个用于分析、逆向工程和提取固件映像的工具。 binwalk能够分析固件映像文件,识别其中包含的文件。例如,它可以从一个设备固件中提取出压缩文件或图片等嵌入内容。 使用方法 分析文件 binwa…...
Ubuntu 24.04中安装virtualenv
在Ubuntu 24.04中安装virtualenv,可以按照以下步骤进行: 1. 确保Python已安装: 在终端中输入python --version或python3 --version来检查Python的安装情况。 python3 --version2. 安装pip(如果尚未安装)&#x…...
一个简约的uniapp登录界面,基于uniapp+vue3+uview-plus
uniapp-vue3-template 一个简约的uniapp登录界面,基于uniappvue3uview-plus 页面主要包括:用户登录,手机验证码登录,用户注册,重置密码等页面 登录进去后为空白模板 源码在文末 界面 源码 uniapp登录界面源码...
系统架构设计师 需求分析篇二
📘 面向对象分析方法 1. 用例模型 📈 构建用例模型一般需要经历 4 个阶段: 识别参与者 🔍:识别与系统交互的所有事物。合并需求获得用例 🔗:将需求分配给予其相关的参与者。细化用例描述 &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绘图库,它以多种硬拷贝格式和跨平台的交互式环境生成高质量的图形。 matplotlib 尝试使容易的事情变得更容易,使困难的事情变得可能。 我们只需几行代码…...
Android 源码集成可卸载 APP
android系统包含三类APP: 1、可自由卸载APP安装在 /data/app目录下。 2、系统APP放在 /system/app目录。 3、特权APP放在 /system/priv-app目录。 系统编译后,打包前, /data分区不起作用,因此系统打包前,可以先将APP全部拷贝到 /…...
cJSON-轻量级解析模块、字符串的神——编织STM32C8T6与阿里云信息传递的纽带
编写方向:本人就不泛泛的编写一篇什么一文学会cJSON了,没什么突出点,也就我水水字数,你们看来看去也不懂,本人是从上阿里云传信息接触的cJSON的,我就此写一篇针对性的文章,希望对大家有用&#…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
莫兰迪高级灰总结计划简约商务通用PPT模版
莫兰迪高级灰总结计划简约商务通用PPT模版,莫兰迪调色板清新简约工作汇报PPT模版,莫兰迪时尚风极简设计PPT模版,大学生毕业论文答辩PPT模版,莫兰迪配色总结计划简约商务通用PPT模版,莫兰迪商务汇报PPT模版,…...
Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...
【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制
目录 节点的功能承载层(GATT/Adv)局限性: 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能,如 Configuration …...
【深尚想】TPS54618CQRTERQ1汽车级同步降压转换器电源芯片全面解析
1. 元器件定义与技术特点 TPS54618CQRTERQ1 是德州仪器(TI)推出的一款 汽车级同步降压转换器(DC-DC开关稳压器),属于高性能电源管理芯片。核心特性包括: 输入电压范围:2.95V–6V,输…...





