k8s基本使用(namespace,pod增删查)-持续更新中

news/2024/6/3 18:20:58 标签: kubernetes, 容器, 云原生, 服务器, docker, k8s

目录

1. 查看Namespace

2. 创建Namespace

2.1 使用纯命令行创建

2.2 编写yaml文件创建

3. 删除Namespace

3.1 使用纯命令行删除

3.2 使用yaml文件删除

二、Pod

1.  查看pod

1.1  查看默认空间的pod

1.2 查看指定空间的pod

1.3 查看全部pod

1.4 查看pod更多信息

1.5 以yaml格式显示详细信息

2. 创建pod

2.1使用纯命令行创建

2.2 使用yaml创建

3. 删除pod

3.1 使用纯命令行删除


一、Namespace

Namespace 在 Kubernetes 中是用来对一组资源进行隔离和管理的,可以将不同的资源划分到不同的 Namespace 中,以便更好地组织和管理它们。每个 Namespace 中的资源都相互隔离,这意味着它们彼此之间默认情况下是不能直接通信的。

在同一个 Namespace 中的 Pod 之间是可以相互通信的,它们可以通过 localhost 或者 Cluster IP 相互访问。但是跨 Namespace 的 Pod 默认情况下是不能直接通信的,需要通过 Service、Ingress 等方式来实现不同 Namespace 之间的通信。因此,虽然 Namespace 提供了一定程度的隔离,但是同一个 Namespace 中的 Pod 是可以互相通信的。

1. 查看Namespace

可以写namespace,也可以写ns

[root@k8s-master ~]# kubectl get namespace
NAME                   STATUS   AGE
calico-apiserver       Active   23h
calico-system          Active   23h
default                Active   23h
kube-node-lease        Active   23h
kube-public            Active   23h
kube-system            Active   23h
kubernetes-dashboard   Active   23h
tigera-operator        Active   23h

# 或
[root@k8s-master ~]# kubectl get ns
NAME                   STATUS   AGE
calico-apiserver       Active   23h
calico-system          Active   23h
default                Active   23h
kube-node-lease        Active   23h
kube-public            Active   23h
kube-system            Active   23h
kubernetes-dashboard   Active   23h
tigera-operator        Active   23h

 

2. 创建Namespace

2.1 使用纯命令行创建

[root@k8s-master ~]# kubectl create namespace wq-01
namespace/wq-01 created

2.2 编写yaml文件创建

[root@k8s-master ~]# vim wq-02-namespace.yaml
[root@k8s-master ~]# cat wq-02-namespace.yaml 
apiVersion: v1
kind: Namespace
metadata:
  name: wq-02

[root@k8s-master ~]# kubectl create -f wq-02-namespace.yaml 
namespace/wq-02 created
# 或  任选一个方式
# [root@k8s-master ~]# kubectl apply -f wq-02-namespace.yaml 
# namespace/wq-02 created

[root@k8s-master ~]# kubectl get namespace
NAME                   STATUS   AGE
calico-apiserver       Active   23h
calico-system          Active   23h
default                Active   23h
kube-node-lease        Active   23h
kube-public            Active   23h
kube-system            Active   23h
kubernetes-dashboard   Active   23h
tigera-operator        Active   23h
wq-01                  Active   3m28s
wq-02                  Active   13s

3. 删除Namespace

3.1 使用纯命令行删除

[root@k8s-master ~]# kubectl delete ns/wq-01
namespace "wq-01" deleted

3.2 使用yaml文件删除

如果namespace是使用yaml文件创建的,就可以使用yaml文件删除

[root@k8s-master ~]# kubectl delete -f wq-02-namespace.yaml 
namespace "wq-02" deleted


二、Pod

Pod 是 Kubernetes 中最小的可部署和可管理的计算单元。一个 Pod 通常包含一个或多个容器,这些容器共享网络空间、存储空间和其他资源,它们一起运行在同一个节点上。

Pod 是 Kubernetes 中的基本构建块,它提供了一个抽象层来管理容器的部署和生命周期。通过 Pod,Kubernetes 实现了高度可伸缩、可靠和自我修复的容器化应用程序管理

1.  查看pod

1.1  查看默认空间的pod

[root@k8s-master ~]# kubectl get pods
No resources found in default namespace.

1.2 查看指定空间的pod

[root@k8s-master ~]# kubectl get pods --namespace kube-system

1.3 查看全部pod

[root@k8s-master ~]# kubectl get pod -A

1.4 查看pod更多信息

显示状态、ip、运行在哪个节点

[root@k8s-master ~]# kubectl get pods --namespace kube-system -o=wide

1.5 以yaml格式显示详细信息

[root@k8s-master ~]# kubectl get pods --namespace kube-system -o yaml

还可以自定义列名,基于文件自定义列名输出等输出方法

2. 创建pod

2.1使用纯命令行创建

自动创建在默认空间中,所以直接可以查到pod

[root@k8s-master ~]# kubectl run wq01-pod --image=nginx --restart=Never
pod/wq01-pod created
[root@k8s-master ~]# kubectl get pod
NAME       READY   STATUS    RESTARTS   AGE
wq01-pod   1/1     Running   0          6s

2.2 使用yaml创建

新建namespace,编写yaml指定空间

查看时也需要指定空间查看

[root@k8s-master ~]# kubectl create namespace wq-ns
namespace/wq-ns created
[root@k8s-master ~]# kubectl get ns
NAME                   STATUS   AGE
calico-apiserver       Active   24h
calico-system          Active   24h
default                Active   24h
kube-node-lease        Active   24h
kube-public            Active   24h
kube-system            Active   24h
kubernetes-dashboard   Active   24h
tigera-operator        Active   24h
wq-ns                  Active   10s

[root@k8s-master ~]# vim wq-01-pod.yaml 
[root@k8s-master ~]# cat wq-01-pod.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: wq02-pod
  namespace: wq-ns   #指定空间
  labels:
    name: wq02-pod
spec:
  containers:
  - name: wq02-pod
    image: nginx:latest
    imagePullPolicy: IfNotPresent
    ports:
    - containerPort: 80
[root@k8s-master ~]# kubectl create -f wq-01-pod.yaml 
pod/wq02-pod created

[root@k8s-master ~]# kubectl get pod --namespace wq-ns
NAME       READY   STATUS              RESTARTS   AGE
wq02-pod   0/1     ContainerCreating   0          7m16s

 也可以使用 -n

3. 删除pod

3.1 使用纯命令行删除

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

如果pod在某个空间,删除需要加-n,指定空间 

强制删除pod

立即终止 Pod ,不等待它正常关闭

[root@k8s-master ~]# kubectl delete pod wq01-pod --grace-period=0 --force
Warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely.
pod "wq01-pod" force deleted

3.2 使用yaml文件删除

[root@k8s-master ~]# kubectl delete -f wq-01-pod.yaml 

3.3 删除所有pod

[root@k8s-master ~]# kubectl delete pods --all


http://www.niftyadmin.cn/n/5424931.html

相关文章

数据结构和算法:复杂度分析

算法效率评估 时间效率:算法运行速度的快慢。 空间效率:算法占用内存空间的大小。 效率评估方法主要分为两种:实际测试、理论估算 实际测试问题: 1.难以排除测试环境的干扰因素。 硬件配置会影响算法的性能。需要在各种机器上进…

Python深度学习技术应用

近年来,伴随着以卷积神经网络(CNN)为代表的深度学习的快速发展,人工智能迈入了第三次发展浪潮,AI技术在各个领域中的应用越来越广泛。为了帮助广大学员更加深入地学习人工智能领域最近3-5年的新理论与新技术&#xff0…

【Vue】首屏加载优化

文章目录 1. 使用路由懒加载2. 使用异步组件3. 精灵图雪碧图4. 使用webp格式图片5. 添加loading效果6. 事先设置图片宽高7. 配置webpack8. 利用CDN加速资源9. 延迟加载不重要的资源10. 服务器端渲染 1. 使用路由懒加载 首屏进入时只加载首屏相关路由,其他路由实现懒…

Unity制作马赛克效果

大家好,我是阿赵。   之前在玩怒之铁拳4里面,看到了马赛克场景转换的效果,觉得很有趣,于是也来做一下。 一、2D版本的马赛克转场效果 先看看视频效果: 马赛克转场 这里我是直接写shader实现的,我这里是把…

执行任务赚积分C卷(JavaPythonC++Node.jsC语言)

现有N个任务需要处理,同一时间只能处理一个任务,处理每个任务所需要的时间固定为1。 每个任务都有最晚处理时间限制和积分值,在最晚处理时间点之前处理完成任务才可获得对应的积分奖励。 可用于处理任务的时间有限,请问在有限的时间内,可获得的最多积分。 输入描述 第一…

Seata源码流程图

1.第一阶段分支事务的注册 流程图地址:https://www.processon.com/view/link/6108de4be401fd6714ba761d 2.第一阶段开启全局事务 流程图地址:https://www.processon.com/view/link/6108de13e0b34d3e35b8e4ef 3.第二阶段全局事务的提交 流程图地址…

MySQL大小写敏感、MySQL设置字段大小写敏感

文章目录 一、MySQL大小写敏感规则二、设置数据库及表名大小写敏感2.1、查询库名及表名是否大小写敏感2.2、修改库名及表名大小写敏感 三、MySQL列名大小写不敏感四、lower_case_table_name与校对规则4.1、验证校对规则影响大小写敏感4.1、验证校对规则影响排序 五、设置字段内…

web学习笔记(三十)

目录 1.jQuery选择器 2. jQuery祖宗的相关方法 3.jQuery子代的相关方法 4.jQuery同胞的相关方法 5.jQuery的class类操作 6.jQuery动画 6.1显示show()和hide() 6.2滑入slideDown()和滑出slideUp() 6.3淡入fadeIn()和淡出fadeOut() 7.自定义动画 animate() 1.jQuery选…