Kubernetes集群操作

devtools/2024/12/4 22:43:53/

查看集群信息:

kubectl get nodes

0d57408c3e7f47899d1e01ef6d7733d4.png

删除节点

(⽆效且显示的也可以删除)

后期如果 要删除某个节点,为了不增加其他节点的访问压力,先增加一个节点,再删除要删除的节点

语法 :kubect    delete node 节点名

370b112d3ebb48a7be8a6e534aa48e5a.png

如果删除后,该节点需要再次加入集群,在master重置token,打印加入的命令

kubeadm token create --print-join-command

4a212ab425384bbfa4a074597c84f004.png

拿着打印的命令,再要加入的node节点执行

kubeadm  reset

kubeadm join 192.168.88.110:6443 --token lbstm5.q1ebkuj09swyok2z     --discovery-token-ca-cert-hash sha256:96c19c5b7d281678b7c80be1b6145a05bb337012658c8e6bc6419928acbc84ab

7ba2fea6864a4ace931efdf601b5c52c.png

单独查看某⼀个节点

(节点名称可以用空格隔开写多个)

kubectl get node k8s-node1

eaaebc7e031846a98fc1898bc335ec88.png

使用 kubectl describe 命令,查看⼀个 API 对象的详细信息:

注意:Events(事件) 值得你特别关注

 

在 Kubernetes 执⾏的过程中,对 API 对象的所有重要操作,都会被记录在这个对象的 Events ⾥,并且显示在 kubectl describe 指令返回的结果中。

 

这个部分正是我们将来进⾏ Debug 的重要依据。如果有异常发⽣,⼀定要第⼀时间查看这些 Events,往往可以看到⾮常详细的错误信息。

查看node的详细信息

kubectl describe node k8s-node1

0cf4862c9b654ed5a5ccfd4fe6842126.png

ed739a68187f41949119a377ed62ef75.png

e67ef24d6b4a47c992a31a117fe5e742.png

#注意:最后被查看的节点名称只能用get nodes⾥⾯查到的name!


cpu

Requests: 200m (10%) — 表示容器请求的 CPU 资源为 200 毫核(milli-cores),即 0.2 个核心,占据了总 CPU 资源的 10%。
Limits: 100m (5%) — 表示容器的 CPU 限制为 100 毫核,即 0.1 个核心,占据了总 CPU 资源的 5%。
memory

Requests: 100Mi (2%) — 表示容器请求的内存资源为 100 MiB,占据了总内存资源的 2%。
Limits: 50Mi (1%) — 表示容器的内存限制为 50 MiB,占据了总内存资源的 1%。
ephemeral-storage

Requests: 0 (0%) — 表示容器请求的临时存储资源为 0。
Limits: 0 (0%) — 表示容器的临时存储限制为 0。
hugepages-1Gi

解释
Requests 是容器启动时 Kubernetes 调度器用来决定节点上可用资源的基础。它代表了容器正常运行所需的最低资源量。
Limits 是容器可以使用的最大资源量。超出这个限制,容器可能会被限制或终止。

查看各组件信息:

8809b0fbb31944d8bbca3b91ae4b25bd.png

NAME: kubernetes — 这是服务的名称。
TYPE: ClusterIP — 这是服务的类型。ClusterIP 类型的服务只能在集群内部访问,无法从外部直接访问。
CLUSTER-IP: 10.96.0.1 — 这是服务在集群内部的虚拟 IP 地址。它用于将流量路由到服务后端的 Pods。
EXTERNAL-IP: <none> — 这个字段显示为 <none>,意味着该服务没有配置外部 IP,也就是说,外部网络不能直接访问这个服务。ClusterIP 类型的服务默认没有外部 IP。
PORT(S): 443/TCP — 这是服务监听的端口和协议。这里是 TCP 协议的 443 端口。
AGE: 19h — 这是服务创建的时间,从创建到现在已经过去了 19 小时。

在不同的namespace⾥⾯查看service:

在不同的namespace⾥⾯查看service:
[root@kub-k8s-master ~]# kubectl get service -n kube-system
                         -n:namespace名称空间

查看所有名称空间内的资源:
[root@kub-k8s-master ~]# kubectl get pods --all-namespaces

7e7edd2ace6b4949b66623e7e47fff42.png

同时查看多种资源信息:
[root@kub-k8s-master ~]# kubectl get pod,service -n kube-system

9fc28fab3166404eb184edbb5ea99dc2.png

查看主节点:
[root@k8s-master prome]# kubectl cluster-info

api查询:
[root@kub-k8s-master ~]# kubectl api-versions

ccf6e243bf9741c197c6a71c33231cd0.png

创建名称空间

1.编写yaml文件

[root@kub-k8s-master ~]# mkdir prome
[root@kub-k8s-master ~]# cd prome/
[root@kub-k8s-master prome]# vim namespace.yml

--- # yaml开始的标记
apiVersion: v1 #api版本
kind: Namespace #类型---固定的
metadata: #元数据
 name: ns-monitor #给命名空间起个名字
 labels: #用于给这个 Namespace 添加标签。标签是键值对,可以用于标识、组织和选择资源
   name: ns-monitor  # 该namespace的标签

 

2.创建资源

[root@k8s-master prome]# kubectl apply -f namespace.yml

3.查看资源

[root@k8s-master prome]# kubectl get namespace

注:
namespace 可以缩写为 ns
既:
kubectl get ns

4.查看某⼀个namespace

[root@k8s-master prome]# kubectl get namespace ns-monitor

b216d038e2c54df89a08486b805eea10.png

5.根据标签名查询命名空间

而我们在上面输入的lable中的name的值 monitor_hah_lale,是给这个命名空间打的一个标签,键值对形式出现,可以用于标签查询,查询有特定标签的namespace

[root@k8s-master prome]# kubectl get namespaces --selector=name=monitor_hah_lale

a35d283ee6c948b2a3da93fc1e300043.png

6.查看某个namespace的详细信息

795ac77c7e7043b9a0c4aa106670d039.png
Annotations:  <none> # 没有注释
Status:       Active  #表示处于正常状态

7.修改名称空间的名字

不能直接修改,删除原有的命名空间,创建新的命名空间
kubectl create namespace new-namespace-name

或者 修改yml文件,重新创建
---
apiVersion: v1
kind: Namespace
metadata:
  name: ns-monitor1  # 从ns-monitor 改为 ns-monitor1
  labels:
    name: monitor_hah_lale

删除老的命名空间
[root@k8s-master prome]# kubectl delete namespace ns-monitor
namespace "ns-monitor" deleted

[root@k8s-master prome]# kubectl get ns

0b6874461d89416daf4fb23752573a61.png

7.删除名称空间

[root@k8s-master prome]## kubectl delete -f namespace.yml
[root@k8s-master prome]## kubectl delete namespace ns-monitor

9c00332a1641481887cc2ae803809727.png

 


http://www.ppmy.cn/devtools/139459.html

相关文章

unity读取mysql5.7版本示例

使用了miniexcel插件&#xff0c;与mydata.dll 。 using MiniExcelLibs; using MySql.Data.MySqlClient; using System.Collections.Generic; using System.Data; using System.Text; using UnityEngine;public class LoadMySQL_虚拟仿真 : DataLayerBase<Dictionary<st…

【iOS】设计模式的六大原则

【iOS】设计模式的六大原则 文章目录 【iOS】设计模式的六大原则前言开闭原则——OCP单一职能原则——SRP里氏替换原则——LSP依赖倒置原则——DLP接口隔离原则——ISP迪米特法则——LoD小结 前言 笔者这段时间看了一下有关于设计模式的七大原则&#xff0c;下面代码示例均为OC…

重学设计模式-工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)

在平常的学习和工作中&#xff0c;我们创建对象一般会直接用new&#xff0c;但是很多时候直接new会存在一些问题&#xff0c;而且直接new会让我们的代码变得非常繁杂&#xff0c;这时候就会巧妙的用到设计模式&#xff0c;平常我们通过力扣学习的算法可能并不会在我们工作中用到…

1、C++ 介绍

1、C介绍 1.1、C发展 C是在C的基础上发展而来。 目前的 C具有三方面的特点&#xff1a; 其一&#xff0c; C是 C 语言的超集&#xff0c;因此其能与 C 语言兼容&#xff1b;&#xff08;数据类型 变量 运算符 流程控制语句 函数&#xff09; 其二&#xff0c; C支持面向对象…

JavaScript实现tab栏切换

JavaScript实现tab栏切换 代码功能概述 这段代码实现了一个简单的选项卡&#xff08;Tab&#xff09;切换功能。它通过操作 HTML 元素的类名&#xff08;class&#xff09;来控制哪些选项卡&#xff08;Tab&#xff09;和对应的内容板块显示&#xff0c;哪些隐藏。基本思路是先…

Linux--Debian或Ubuntu上扩容、挂载磁盘并配置lvm

一、三块12TB组RAID 5 可用容量约24TB 二、安装LVM工具&#xff08;已安装请忽略&#xff09; sudo apt-get install lvm2二、查看可用磁盘 sudo lsblk 或者 sudo fdisk -l三、创建物理卷&#xff08;PV&#xff09; 选中刚做的磁盘组 sudo pvcreat /dev/sdb1四、创建卷组…

PyTorch的基础结构和概念

PyTorch是一个基于Python的开源深度学习框架&#xff0c;由Facebook的人工智能研究小组于2016年发布。它以其灵活性、易用性和动态计算图的特点&#xff0c;在研究人员和工程师中非常受欢迎。以下是PyTorch的一些核心概念和组件&#xff1a; 张量 (Tensor): 张量是PyTorch中的…

SpringBoot源码-Spring Boot启动时控制台为何会打印logo以及自定义banner.txt文件控制台打印

1.当我们启动一个SpringBoot项目的时候&#xff0c;入口程序就是main方法&#xff0c;而在main方法中就执行了一个run方法。 SpringBootApplication public class StartApp {public static void main(String[] args) {// testSpringApplication.run(StartApp.class);} }publi…