首页 > 其他分享 >kubectl命令

kubectl命令

时间:2023-09-03 15:24:04浏览次数:32  
标签:kubectl nginx namespace dev 命令 pod udiannet

kubectl的命令可分为三类:

1.陈述式命令(命令式对象管理) 类似于我们直接在docker 中 docker run 命令
2.陈述式对象配置(命令式对象配置) 类似于类似于 docker-compose.yml
3.声明式对象配置(声明式对象配置)
kubectl命令的语法如下:
kubectl [command] [type] [name] [flags]
comand:指定要对资源执行的操作,例如create、 get、delete
type:指定资源类型,比如deployment、pod、 service
name:指定资源的名称,名称大小写敏感
flags:指定额外的可选参数
下面开始列出kubernetes一些经常用到的命令:
1.kubectl get nodes —查询k8s集群节点

2.kubectl get pod —查看所有的pod

3.kubectl describe pod nginx-6867cdf567-ht2bz --查看pod详细内容

4.kubectl cluster-info —查看k8s 集群的信息

5.kubectl version 查看当前k8s 集群的版本


陈述式命令(命令式对象管理)
我们可以通过陈述式命令(命令式对象管理) 对namespace/pod操作;常用的陈述式命令整理如下:
1.命令形式创建一个namespace
kubectl create namespace udiannet-dev

2.查询所有的namespace
kubectl get ns

3.在udiannet-dev的namespace 下运行一个pod
kubectl run pod --image=nginx -n udiannet-dev

4.查看udiannet-dev下的pod,要指定namespace,如果不指定namespace,那么就会去查询默认namespace下面的pod
kubectl get pod -n udiannet-dev

5.查看该pod的详细信息(要制定namespace)
kubectl describe pod pod-864f9875b9-492tz -n udiannet-dev

6.删除该pod(要指定namespace)
kubectl delete pods pod-864f9875b9-492tz -n udiannet-dev

但是我们说此时这样删除pod是没有用的,因为namespace里面会有一个pod控制器Deployment,当namespace里面的pod被删除的时候,pod控制器就会帮忙创建一个新的pod,这就是我们说的kubernetes的自我修复功能。如果要讲pod彻底删除,要怎么操作呢?我们应该通过删除命名空间,则自动会将这些pod删除。
kubectl delete ns udiannet-dev

查看该命名空间下pod 已经没有该pod了


命令式对象配置
命令式对象配置就是使用命令配合配置文件一起来操作k8s资源 类似于我们学习的docker-compose 定义 yml 配置文件 需要对yaml 配置有一定了解。
kubectl create -f udiannet-pod.yml 创建资源
kubectl delete -f udiannet-pod.yml 删除资源
kubectl get-f udiannet-pod.yml
1.创建udiannet-pod.yml

apiVersion: v1
kind: Namespace
metadata:
name: udiannet-dev #指定的Namespace空间名称

---

apiVersion: v1
kind: Pod
metadata:
name: udiannet-nginx-pod #指定pod的名称
namespace: udiannet-dev #指定该pod对应的Namespace
spec:
containers:
- name: udiannet-nginx-container #运行一个nginx容器
image: nginx:1.17.9 #指定镜像的名称

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
上传到服务器端
/usr/local 创建一个 udiannet来演示我们的

cd /usr/local
mkdir udiannet

执行kubectl create -f udiannet-pod.yml

创建成功 自动创建Namespace udiannet-dev和 pod udiannet-nginx-pod
执行 kubectl get ns查看当前容器中的namespace

执行 kubectl get pods -n udiannet-dev查看udiannet-dev namespace里面的pod信息

查看该pod详细信息 kubectl describe pod udiannet-nginx-pod -n udiannet-dev

执行get命令,查看资源 kubectl get -f udiannet-pod.yml

删除delete 命令 kubectl delete -f udiannet-pod.yml

执行 kubectl get ns,udiannet-dev这个namespace就被删掉了


声明式对象配置
声明式对象配置跟命令式对象配置很类似,通过命令apply
kubectl apply -f udiannet-pod1.yml
在创建一个udiannet-pod1.yml

apiVersion: v1
kind: Namespace
metadata:
name: udiannet-dev#指定的Namespace空间名称

---

apiVersion: v1
kind: Pod
metadata:
name: udiannet-nginx-pod #指定pod的名称
namespace: udiannet-dev #指定该pod对应的Namespace
spec:
containers:
- name: udiannet-nginx-container #运行一个nginx容器
image: nginx:1.17.9 #指定镜像的名称

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
执行:kubectl apply -f udiannet-pod1.yml

查看 pod: kubectl get pods -n udiannet-dev

查看pod 详细信息:kubectl describe pod udiannet-nginx-pod -n udiannet-dev

以上就是kubernetes常用的一些命令!谢谢观看!

标签:kubectl,nginx,namespace,dev,命令,pod,udiannet
From: https://www.cnblogs.com/chengjian-physique/p/17675020.html

相关文章

  • linux教程:只用一条命令杀死占用端口为2888的进程
    第一种方式可以使用以下命令来杀死占用端口为2888的进程:kill$(lsof-t-i:2888)上述命令使用了命令替换(commandsubstitution)来获取占用端口为2888的进程的PID,并将其作为参数传递给kill命令。lsof-t-i:2888命令将输出占用该端口的进程的PID列表,kill命令然后将这些PID作为参数来......
  • 导出mysql数据库,导出远程mysql数据库,使用命令行导出mysql数据库
    一篇博客要使用命令行导出MySQL数据库,您可以按照以下步骤进行操作:打开命令提示符或终端窗口,并导航到MySQL的安装目录。以管理员身份运行命令行界面。在Windows操作系统上,可以按下Shift键,然后单击“开始”菜单,输入“cmd”,右键单击“命令提示符”,然后选择“以管理员身份运行”。在M......
  • Linux系统之ifconfig命令的基本使用
    (Linux系统之ifconfig命令的基本使用)一、ifconfig命令介绍1.ifconfig简介ifconfig是Linux中常用的网络配置工具之一,用于配置和显示网络接口的具体状况。2.ifconfig注意事项用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的......
  • markdown命令练习
    目录设定关于目录的设定markdown最多允许六级目录,若是想设置一级目录在编辑内容前加一个#即可,(注意:#和要编辑的目录之间需要一个空格的空间,否则可能出现识别不出的情况)若是想要做二级目录,将一个#变成两个即可;若是三级,便是三个#。后面以此类推。注意:用此方法时若不在markdow......
  • linux 防火墙相关命令
    主机名vim/etc/hostnamenode1.itcast.cnnode2.itcast.cnHosts映射vim/etc/hosts192.168.0.140node1node1.itcast.cn192.168.0.141node2node2.itcast.cn192.168.0.130master1192.168.0.140worker1192.168.0.150worker2环境变量vim/etc/profileexportJAVA_HOME=...ex......
  • php:命令行的常用例子(php 8.2.5)
    一,查看安装配置信息[liuhongdi@img~]$/usr/local/soft/php8.2.5/bin/php-i           相当于执行:[liuhongdi@img~]$/usr/local/soft/php8.2.5/bin/php-r"phpinfo();”二,列出开启的扩展模块:[liuhongdi@img~]$/usr/local/soft/php8.2.5/bin/php-m[......
  • 超微IPMICFG使用命令
    命令解释ipmicfg-m显示IPv4地址和MACipmicfg-m<ip>设置IPV4地址ipmicfg-a<mac>设置MACipmicfg-k显示子网掩码ipmicfg-k<mask>设置掩码ipmicfg-dhcp获取DHCP状态ipmicfg-dhcpon启用DHCPipmicfg-d......
  • Crontab命令详解
    Linux系统则是由cron(crond)这个系统服务来控制的。Linux系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另外,由于使用者自己也可以设置计划任务,所以,Linux系统也提供了使用者控制计划任务的命令:crontab命令。一、crond简介crond 是linux下用来周期......
  • 视图开发 命令式 声明式 将视图和数据分离
    10|Widget中的State到底是什么?https://time.geekbang.org/column/article/108576 下述代码分别展示了在Android、iOS及原生Javascript中,如何将一个文本控件的展示文案更改为HelloWorld://Android设置某文本控件展示文案为HelloWorldTextViewtextView=(TextView)f......
  • 如何使用iisreset命令重启IIS
    如何使用iisreset命令重启IIS 1、界面操作打开“控制面板”->“管理工具”->“服务”。找到“IISAdminService”右键点击“重新启动”弹出“停止其它服务”窗口,点击“是”。2、Net命令操作点击“开始”->“运行”,输入cmd打开命令窗口;输入netstopiisadmin /y 回......