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

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

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

相关文章

【ArcGIS】栅格计算器原理及案例介绍

ArcGIS&#xff1a;栅格计算器原理及案例介绍 栅格计算器&#xff08;Raster Calculator&#xff09;原理介绍案例案例1&#xff1a;计算栅格数据平均值 参考 栅格计算器&#xff08;Raster Calculator&#xff09;原理介绍 描述&#xff1a;在类似计算器的界面中&#xff0c;…

Linux进程概念(下)

前言 上文介绍了进程的基本概念&#xff0c;进程内核数据结构可执行程序&#xff0c;查看进程的方式ps 和/proc指令。 又熟悉常见的进程状态&#xff0c;状态修改的本质就是将PCB标志位更改&#xff0c;然后放到指定的队列中。 本文继续介绍进程的概念&#xff0c;将介绍进程…

网络安全学习(四)渗透工具msf

本文简要介绍metasploit framework&#xff0c;是一款渗透工具。官网地址&#xff1a;Metasploit | Penetration Testing Software, Pen Testing Security | Metasploit msf是一个框架&#xff0c;可以加载各种模块&#xff0c;这是它的最强大之处。 kali中有此工具。 点击即…

maya的重命名物体和材质工具(带ai过程)

对材质同样也有效 被AI干失业的卖衣服的小姐姐&#xff0c;开的士的小哥哥都可以再就业的易上手教程&#xff0c; 先看效果&#xff01; 对物体命名也是&#xff0c;相当的美观 先提出需求我想在maya中批量重命名物体怎么办&#xff1f;AI给你弄个短代码 &#xff0c;放进AI进…

音视频入门基础:AAC专题(5)——FFmpeg源码中,判断某文件是否为AAC裸流文件的实现

一、引言 通过FFmpeg命令&#xff1a; ./ffmpeg -i XXX.aac 可以判断出某个文件是否为AAC裸流文件&#xff1a; 所以FFmpeg是怎样判断出某个文件是否为AAC裸流文件呢&#xff1f;它内部其实是通过adts_aac_probe函数来判断的。从《FFmpeg源码&#xff1a;av_probe_input_for…

3. 进阶指南:自定义 Prompt 提升大模型解题能力

怎么判断 Prompt 的好坏&#xff0c;有什么问题有着标准答案么&#xff1f; 答&#xff1a;让大模型求解数学问题。 李宏毅老师的 HW4 正好提到了有关数学问题的 Prompt&#xff0c;所以我决定中间插一篇这样的文章。通过本文你将&#xff1a; 了解各种 Prompt 如何影响大型语言…

无人机飞手培训机构组建及市场分析

飞手培训机构是专门为培养无人机飞行员&#xff08;飞手&#xff09;而设立的教育机构。这些机构通过提供专业的培训课程&#xff0c;帮助学员掌握无人机飞行技术、了解相关法规、提升实战能力&#xff0c;并最终获得相关证书&#xff0c;以便在航拍摄影、农业植保、物流配送、…

图新地球-将地图上大量的地标点批量输出坐标到csv文件【kml转excel】

0.序 有很多用户需要在卫星影像、或者无人机航测影像、倾斜模型上去标记一些地物的位置&#xff08;如电线杆塔、重点单位、下水盖等&#xff09; 标记的位置最终又需要提交坐标文本文件给上级单位或者其他部门使用&#xff0c;甚至需要转为平面直角坐标。 本文的重点是通过of…

【Go开发】Go语言基本语法入门:数据类型与方法定义

文章目录 环境准备一、引言二、Var关键字三、数据类型1. 整型符号表示值的范围 2. 浮点型精度范围性能 3. 布尔型4. 字符串 三、变量声明1. 指定变量类型2. 自动推导类型3. 批量声明 四、方法定义五、总结 环境准备 开发环境&#xff1a;MacOS Go版本&#xff1a;go version g…

单线程与2个线程的简易理解

前言 有个需要10个步骤完成的任务&#xff0c;假设每个步骤需要1秒 单线程耗费10秒完成任务 2根线程可能耗费6秒&#xff0c;也可能更少 单线程程序 单线程下&#xff0c;步骤按照次序顺序执行&#xff0c;共计耗费10秒 2个线程的程序 有步骤可以在同一时刻同时运行&…

python-素数中的等差数列

题目描述 质数是在数论中很有意思的数&#xff0c;有很多题都可以围绕它来出&#xff0c;就如你眼前所见的这道题。 给定一个闭区间 [a,b] ,将此范围内的所有素数进行从小到大排序&#xff0c;对于连续的素数&#xff0c;我们可以发现很多等差数列(元素个数大于等于 3 )&#x…

【Leetcode:1184. 公交站间的距离 + 模拟】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

第十一章 【后端】商品分类管理微服务(11.1)——创建父工程

第十一章 【后端】商品分类管理微服务 11.1 创建父工程 项目名称:EasyTradeManagerSystem:Easy 表示简单易用,Trade 表示交易,Manager 表示管理,System 表示系统,强调系统在商品交易管理方面的便捷性,简称 etms。 新建工程 yumi-etms yumi-etms 作为所有模块的父工程,…

汽车免拆诊断案例 | 沃尔沃V40 1.9TD断续工作

故障现象 一辆04款的沃尔沃V40 1.9 TD&#xff0c;发动机代码D4192T3&#xff0c;使用博世EDC15C发动机管理。客户说车子断续工作&#xff0c;怀疑是正时皮带出现问题。卸下上皮带盖&#xff0c;检查发现皮带仍然在原来的位置上并且没有出现松动。起动发动机&#xff0c;车辆能…

整数在内存中的存储原码反码补码

目录 1.整数在内存中以二进制的形式存在 1.1&#xff08;正数存储情况&#xff09; 1.2 负数存储情况 1.3整数的补码如何得到原码 2.无符号整数的原反补码 小心&#xff01;VS2022不可直接接触&#xff0c;否则&#xff01;没这个必要&#xff0c;方源面色淡然一把抓住&am…

使用原生HTML的drag实现元素的拖拽

HTML 拖放&#xff08;Drag and Drop&#xff09;接口使应用程序能够在浏览器中使用拖放功能。例如&#xff0c;用户可使用鼠标选择可拖拽&#xff08;draggable&#xff09;元素&#xff0c;将元素拖拽到可放置&#xff08;droppable&#xff09;元素&#xff0c;并释放鼠标按…

vue3使用provide和inject传递异步请求数据子组件接收不到

前言 一般接口返回的格式是数组或对象&#xff0c;使用reactive定义共享变量 父组件传递 const data reactive([])// 使用settimout模拟接口返回 setTimeout(() > {// 将接口返回的数据赋值给变量Object.assign(data, [{ id: 10000 }]) }, 3000);provide(shareData, dat…

C++第五十一弹---IO流实战:高效文件读写与格式化输出

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】 目录 1. C语言的输入与输出 2. 流是什么 3. CIO流 3.1 C标准IO流 3.2 C文件IO流 3.2.1 以写方式打开文件 3.2.1 以读方式打开文件 4 stringstre…

「数组」十大排序:精讲与分析(C++)

概述 截止目前&#xff0c;我们已经讲解并分析了十种最常见的排序算法&#xff0c;下附对应文章链接和全体Code。 链接 「数组」冒泡排序|选择排序|插入排序 / 及优化方案&#xff08;C&#xff09; 「数组」归并排序 / if语句优化|小区间插入优化&#xff08;C&#xff09…

在k8s中,客户端访问服务的链路流程,ingress--->service--->deployment--->pod--->container

ingress是一个API资源。 其核心作用是nginx网页服务器。 当客户端访问服务器不同的url时, 用不同的location提供服务。 在k8s之外&#xff0c;nginx的配置一般如下&#xff1a; http {server {listen 80;server_name localhost;location / {root html; …