K8s常用命令

news2024/11/15 7:55:35

Namespace

默认情况下,kubernetes集群中的所有的Pod都是可以相互访问的。但是在实际中,可能不想让两个Pod之间进行互相的访问,那此时就可以将两个Pod划分到不同的namespace下。kubernetes通过将集群内部的资源分配到不同的Namespace中,可以形成逻辑上的“组”,以方便不同的组的资源进行隔离使用和管理。

kubernetes在集群启动之后,会默认创建几个namespace

名称含义
default所有未指定Namespace的对象都会被分配在default命名空间
kube-node-lease集群节点之间的心跳维护,v1.13开始引入
kube-public此命名空间下的资源可以被所有人访问(包括未认证用户)
kube-system所有由Kubernetes系统创建的资源都处于这个命名空间

Namespace的名字遵循如下要求:

  1. 不能以kube-作为前缀。
  2. 最多63个字符。
  3. 只能是小写字母和数字,或者-中划线。
  4. 首字符必须是字母或数字。
  5. 尾字符必须是字母或数字。
  6. 无法更新。

备注:命名空间的命名规则可以使用正则[a-z0-9]([-a-z0-9]*[a-z0-9])?和最大63字符来约束。

查看namespace

kubectl get ns
或者
kubectl get namespace

在这里插入图片描述

创建namespace

(1)使用命令行方式创建

kubectl create namespace test-01

在这里插入图片描述

(2)使用yaml文件创建

创建一个名为test-02.yaml的yaml文件

apiVersion: v1
kind: Namespace
metadata:
  name: test-02

然后使用如下命令进行创建

kubectl create -f test-02.yaml
或
kubectl apply -f test-02.yaml

在这里插入图片描述

删除namespace

(1)命令行方式删除

kubectl delete ns/test-01

在这里插入图片描述

(2)使用yaml文件删除

如果Namespace是使用yaml文件创建的,也可以使用yaml文件进行删除

kubectl delete -f test-02.yaml

在这里插入图片描述

Pod

Pod 是 k8s 系统中可以创建和管理的最小单元,是资源对象模型中由用户创建或部署的最小资源对象模型,也是在 k8s 上运行容器化应用的资源对象。k8s 不会直接处理容器,而是通过 Pod。Pod 是由一个或多个 container 组成的。

Pod 是 Kubernetes 的最重要概念,每一个 Pod 都有一个特殊的被称为“根容器”的 Pause容器。Pause 容器对应的镜像属于 Kubernetes 平台的一部分,除了 Pause 容器,每个 Pod还包含一个或多个紧密相关的用户业务容器。

Kubernetes 集群中的 Pod 主要有两种用法:

  • 运行单个容器的 Pod:“每个 Pod 一个容器”模型是最常见的 Kubernetes 用例; 在这种情况下,可以将 Pod 看作单个容器的包装器,并且 Kubernetes 直接管理 Pod,而不是容器。

  • 运行多个协同工作的容器的 Pod: Pod 可能封装由多个紧密耦合且需要共享资源的共处容器组成的应用程序。 这些位于同一位置的容器可能形成单个内聚的服务单元 —— 一个容器将文件从共享卷提供给公众, 而另一个单独的“边车”(sidecar)容器则刷新或更新这些文件。 Pod 将这些容器和存储资源打包为一个可管理的实体。

查看Pod

查看默认命名空间的Pod

kubectl get pods

如果Pod指定了在某个命名空间的话,需要指定命名空间,否则无法查看。查看特定命名空间的Pod,比如Namespace为kube-system下的Pod

kubectl get pods -n kube-system
或
kubectl get pods --namespace kube-system

查看所有Pod

kubectl get pods -A

在这里插入图片描述

创建Pod

(1)命令行方式

kubectl run nginx --image=nginx

其中,nginx为pod名字,--image=nginx表示使用Nginx镜像。除此之外,还能用--image-pull-policy指定镜像拉取策略。k8s的镜像拉取策略主要有以下三种:

策略解释
Always总是从镜像仓库获取镜像。当标签为latest,默认为Always
Never禁止从仓库中获取镜像,只能使用本地镜像
IfNotPresent仅当本地没有镜像时,才从镜像仓库获取镜像。当标签为自定义时(不是latest),默认为IfNotPresent

查看pod,STATUS为Running就表示pod创建成功

kubectl get pods

在这里插入图片描述

通过describe命令确定ip

kubectl describe pod nginx

其中nginx为pod的名字

在这里插入图片描述

通过该ip访问nginx也确实起来了

在这里插入图片描述

(2)使用yaml文件创建

创建一个名为test_pod.yaml的yaml

apiVersion: v1  #api版本
kind: Pod       #创建的资源
metadata:
  name: pod-test    #Pod的名字
  namespace: default   #指定命名空间
  labels:
    name: pod-test  #Pod具有的标签
spec:
  containers:
  - name: pod-test    #Pod里容器的名字,这里必须要用-,不加就报错
    image: nginx:latest  #容器使用的镜像
    imagePullPolicy: IfNotPresent  #镜像拉取策略
    ports:
    - containerPort: 80  #容器暴露的端口,这里必须要用-,不加就报错

然后使用如下命令创建:

kubectl create -f test_pod.yaml

在这里插入图片描述

删除Pod

(1)命令行方式删除

kubectl delete pod nginx

其中,nginx是pod的名字。如果Pod在某个命名空间,也需要指定-n参数。如果删除速度比较慢的话可以加--force

在这里插入图片描述

(2)使用yaml文件

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

kubectl delete -f test_pod.yaml

在这里插入图片描述

(3)删除所有Pod

kubectl delete pods --all

执行容器命令

(1)执行pod的某个命令,默认使用pod的第一个容器执行

kubectl exec <pod-name> -- command

例如:让名为pod-test的pod执行ls命令

kubectl exec pod-test -- ls

在这里插入图片描述

(2)指定pod的某个容器执行命令

kubectl exec <pod-name> -c <container-name> -- date

在这里插入图片描述

(3)进入容器

kubectl exec -it <pod-name> -c <container-name> -- /bin/bash

用exit即可退出容器

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

猪场规模怎样划分?类型都有哪些?

养猪场按照经营方式分为大中小猪场&#xff08;猪场规模&#xff09;和集团猪场。集团猪场是指集团化发展与管理的养猪企业&#xff0c;或者简称为集团化养猪企业&#xff0c;重点在于“集团化”。猪场规模则是按照年出栏数量划分。 小规模猪场&#xff1a;年出栏3000头以下&a…

加密芯片在GCP系统的应用方案

物联网&#xff08;IoT&#xff09;设备正在迅速发展&#xff0c;越来越多的设备连接到互联网并与其他设备进行通信。这使得设备的安全变得更加重要&#xff0c;因为它们可能会暴露敏感的数据和功能。Google Cloud IoT Core&#xff08;GCP&#xff09;是一个完全托管的服务&am…

Easydict 简洁易用的翻译词典,带你轻松优雅地查找单词或翻译文本。

Easydict Easydict 是一个简洁易用的翻译词典 macOS App&#xff0c;能够轻松优雅地查找单词或翻译文本。Easydict 开箱即用&#xff0c;能自动识别输入文本语言&#xff0c;支持输入翻译&#xff0c;划词翻译和 OCR 截图翻译&#xff0c;可同时查询多个翻译服务结果&#xff…

喜报丨迪捷软件荣获浙江省专精特新荣誉称号

近日&#xff0c;根据工业和信息化部《优质中小企业梯度培育管理暂行办法》&#xff08;工信部企业〔2022〕63号&#xff09;和《浙江省经济和信息化厅关于印发浙江省优质中小企业梯度培育管理实施细则&#xff08;暂行&#xff09;的通知》&#xff08;浙经信企业〔2022〕197号…

光耦合器的输入电路及重要参数

光耦合器是一种通过使用光能将输入控制信号耦合到输出或负载的器件&#xff0c;其方式使得输入信号和负载&#xff08;输出&#xff09;之间的电气隔离也保持不变。光耦合器的基本功能是通过光能耦合输入和输出电路&#xff08;因此称为光耦合器&#xff09;&#xff0c;并在输…

Monaco Editor编辑器教程(三十):将vue文件作为一种编程语言集成到monaco editor中,实现vue组件的语法,标签高亮。

前言 最近在使用gitlab的web ide时发现当编写一个 vue组件时,文件的后缀名为.vue。在编辑器的右上角会显示当前的编程语言时vue,并且高亮语法或标签,格式化,折叠都表现很优秀。但是其实monaco是不支持vuejs的,作为一名前端开发者,我们有时需要在monaco编辑器中编写vue组…

操作系统学习02

&#xff01;&#xff01;&#xff01;由于感冒和出去玩&#xff0c;好几天没学这些计算机基础知识了&#xff01;&#xff01;&#xff01; 抓紧跟上嘿嘿嘿 1、内存管理主要做了什么 操作系统的内存管理非常重要&#xff0c;主要负责下面这些事情&#xff1a; 内存的分配与…

Windows服务器配置开机自启动

有两种简单实现的方式。 第一种&#xff0c;直接将可执行文件或脚本的快捷方式放置到 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 这个文件夹里&#xff0c;服务器在启动的时候会自动执行。 第二种&#xff0c;配置为windows系统服务 利用winsw来将可…

HMC408LP3ETR-ASEMI代理亚德诺HMC408LP3ETR原厂芯片

编辑-Z HMC408LP3ETR参数描述&#xff1a; 型号&#xff1a;HMC408LP3ETR 频率范围&#xff1a;5.1 - 5.9 GHz 增益&#xff1a;20 dB 输入回波损耗&#xff1a;8 dB 输出回波损耗&#xff1a;6 dB 1dB压缩的输出功率&#xff1a;27 dBm 饱和输出功率&#xff1a;31 dB…

鬼畜提问变身指南:ChatGPT十个打破常规的提问公式

Chatgpt的恐怖之处不在于它有多么的准确&#xff0c;很多时候它的回答甚至充满常识性错误&#xff0c;比如你问美国为什么轰炸珍珠岛它都能一本正经的回答你&#xff08;这当然也有中文语料数据投喂不足和中文本身就复杂而难以理解的原因&#xff0c;听说用英文提问的准确性会提…

openeuler 22.03 制作openssh9.3p1 rpm升级包和升级实战

一、背景说明 openeuler 22.03 默认安装的openssh 版本为8.8p1&#xff0c;经绿盟扫描&#xff0c;存在高危漏洞&#xff0c;需要升级到最新。 官网只提供编译安装包&#xff0c;而openeuler 22.03 为rpm方式安装。 为了方便升级&#xff0c;先通过编译安装包&#xff0c;制…

OpenCV中的图像处理3.7-3.8(五)边缘检测、图像金字塔

目录 3.7 边缘检测目标理论OpenCV中的Canny边缘检测其他资源练习 3.8 图像金字塔目标理论使用金字塔进行图像混合其他资源 翻译及二次校对&#xff1a;cvtutorials.com 编辑者&#xff1a;廿瓶鲸&#xff08;和鲸社区Siby团队成员&#xff09; 3.7 边缘检测 目标 在本章中&a…

搭建jaegerAll in one 测试环境

1. Jaeger介绍 Jaeger 受 Dapper 和 OpenZipkin 的启发&#xff0c;是由 Uber Technologies 发布的开源分布式追踪系统。它用于监控和排查基于微服务的分布式系统问题&#xff0c;包括: 分布式上下文传播分布式事务监控根因分析服务依赖关系分析性能 / 延迟优化 Jaeger 架构…

初识TypeScript与静态类型解析

一、初识ts 二、如何运行ts代码 假如本地新建了一个b.ts文件 安装TypeScript&#xff1a;npm install -g typescript 编译代码&#xff1a;tsc b.ts 运行js&#xff1a;node b.js 在终端输入 tsc -init 生成 tsconfig.json 文件 类型注解&#xff1a;TypeScript里的类型注解是一…

浅学Go下的ssti

前言 作为强类型的静态语言&#xff0c;golang的安全属性从编译过程就能够避免大多数安全问题&#xff0c;一般来说也唯有依赖库和开发者自己所编写的操作漏洞&#xff0c;才有可能形成漏洞利用点&#xff0c;在本文&#xff0c;主要学习探讨一下golang的一些ssti模板注入问题…

手术麻醉信息系统源码 B/S网页版

手术麻醉信息系统源码 php mysql vue2 B/S网页版 手术麻醉信息系统是HIS产品中的一个组成部分&#xff0c;主要应用于医院的麻醉科&#xff0c;属于电子病历类产品。麻醉监护的功能覆盖整个手术与麻醉的全过程&#xff0c;包括手术申请与排班、审批、安排、术前、术中和术后…

什么是阿里云服务器?云服务器的优缺点

阿里云服务器是什么&#xff1f;云服务器ECS是一种安全可靠、弹性可伸缩的云计算服务&#xff0c;云服务器可以降低IT成本提升运维效率&#xff0c;免去企业或个人前期采购IT硬件的成本&#xff0c;阿里云服务器让用户像使用水、电、天然气等公共资源一样便捷、高效地使用服务器…

线程池工作原理和实现原理

为什么要使用线程池 平时讨论多线程处理&#xff0c;大佬们必定会说使用线程池&#xff0c;那为什么要使用线程池&#xff1f;其实&#xff0c;这个问题可以反过来思考一下&#xff0c;不使用线程池会怎么样&#xff1f;当需要多线程并发执行任务时&#xff0c;只能不断的通过…

如何压缩mp3文件大小,5分钟学会4种方法

如何压缩mp3文件大小&#xff1f;我们在开车的时候都很喜欢听歌&#xff0c;一般歌曲库里的mp3文件都很多&#xff0c;小编的就有上千首。如果我们还想要增加更多mp3文件&#xff0c;有时候就会出现内存不足的情况啦。所以我们需要压缩mp3文件大小&#xff0c;这样才能在我们手…

【TCP 协议】连接管理之 “三次握手,四次挥手”

哈喽&#xff0c;大家好~我是你们的老朋友&#xff1a;保护小周ღ 本期为大家带来的是网络编程中的 TCP 传输控制协议保证数据可靠性传输的机制之一的——连接管理&#xff0c;通信双方采用 “三次握手” 来建立连接&#xff0c;采用 “四次挥手” 会断开连接&#xff0c;如何…