当前位置: 首页 > news >正文

kubernetes 初学命令

基础命令

kubectl

运维命令常用:

#查看pod创建过程以及相关日志

kubectl describe pod pod-command -n dev

#查看某个pod,以yaml格式展示结果

kubectl get pod nginx -o yaml

#查看pod 详情 以及对应的集群IP地址
kubectl get pods  -o wide

1. kubetcl get  

#查看node节点状态
kubectl get nodes

#查看pods节点状态
kubectl get pods

2.kubectl run 

#kubectl run 命令在 pod 中创建并运行特定的镜像

kubectl run nginx --image=nginx --port 80
 

3.kubectl describe

#看到pod 的详情

kubectl describe pod nginx

4. kubectl delete 

 #kubectl delete 删除pod

kubectl delete pod nginx

 5.kubectl create/apply

kubectl create/apply 命令基于给定的配置文件。该配置文件具有以下特点:
1. 配置文件描述了应用程序最终将达到的 Whatstate
2. 配置文件提供创建资源的模板,可以重复部署。
3. 部署可以像代码一样进行管理。
4. 适用于正式的、跨环境的、大规模的部署。
5. 需要熟悉配置文件的语法才能使用此方法。

vim nginx-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:name: nginxlabels:app: nginx
spec:replicas: 1selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: nginxports:- containerPort: 80

#创建pods

kubectl create -f nginx-deployment.yaml

#删除pods

kubectl delete -f nginx-deployment.yaml

[root@k8s-master ~]# kubectl apply -f nginx-deployment.yaml
deployment.apps/nginx created
[root@k8s-master ~]# kubectl get pods
NAME                    READY   STATUS    RESTARTS   AGE
nginx-d46f5678b-tljff   1/1     Running   0          20s
[root@k8s-master ~]# kubectl delete -f nginx-deployment.yaml
deployment.apps "nginx" deleted

 create apply 之间的区别。

在 kubectl create 命令中,我们指定了一个特定行为,也就是 create ,因此它

是一种更具命令式的方法。

在 kubectl apply 命令中,我们指定系统的目标状态,而不指定一个特定的行为

6.kubectl get pod nginx -o yaml


 #查看某个pod,以yaml格式展示结果

7.kubectl get cs 

#查看健康状态

kubectl get cs

8.kubectl get namespace

 也可指定查看某个命名空间

9.kubectl get namespace default


10.kubectl get all --namespace=kube-system

#用于在 kube-system 命名空间中获取所有资源的详细信息。

 kubectl create namespace ns1
 kubectl delete  namespace ns1

10.kubectl get pods  -o wide

#查看pod 详情 以及对应的集群IP地址

11.kubectl explain pod

#kubectl explain 资源类型 查看某种资源可以配置的一级属性

# kubectl explain 资源类型.属性 查看属性的子属性

kubectl explain pod

kubectl explain pod.spec.containers

namespace

#创建一个namespace 

kubectl create namespace namepase-test
#查看namespace   

kubectl get namespace

#查看namespace  ns

kubectl get ns

#删除namespace

kubectl delete namespace namepase-test

pod

#创建pod

kubectl run nginx --image=nginx:1.17.1 --port=80
#访问pod

kubectl get pod -o wide
 url http://10.244.1.14


Label 

 kubectl run nginx --image=nginx:1.17.1 --port=80

#给pod打标签

kubectl label pod nginx version=1.0
#查看pod的标签

kubectl get pods --show-labels

#更新pod的标签

kubectl label pod nginx version=2.0 --overwrite

#筛选pod的标签

kubectl get pod -l version=2.0 --show-labels

#删除pod标签
kubectl label pod nginx version-

version- 表示删除标签 version 

deployment

#创建namespace 

kubectl delete ns dev
#删除namespace

kubectl create ns dev
#创建deployment  名称叫nginx 
 kubectl create deployment nginx --image=nginx:1.17.1  -n dev
#查看deploymet -n指的是在dev 的名称空间下看
 kubectl get deployment -n dev
#删除deployment
 kubectl delete deploy nginx -n dev
#查看dev 下的deployment和pod,pod随着deployment 删除
 kubectl get deployment,pod -n dev

  • deployment nginx:指定要调整的资源类型(deployment)和资源名称(nginx)。

  • --replicas=4:指定目标副本数,这里是 4

  • 修改其deployment的副本数实现删除

 kubectl scale deployment nginx --replicas=4

 kubectl scale --replicas=0 deployment nginx
 

 server

 kubectl scale deployment nginx --replicas=3

kubectl get pod -o wide
 kubectl delete pod nginx-59975f44cf-8vsg4

 kubectl get pod -o wide
 

 demo1  集群内部访问type=ClusterIP

#暴露端口 type=ClusterIP   这个IP只能集群内部访问 如果需要外部 type=NodePort

 kubectl expose deployment nginx --name=svc-nginx1 --type=ClusterIP --port=80 --target-port=80
#获取service 信息
kubectl get service
#获取service信息 svc 简写
kubectl get svc
#访问集群IP 
curl 10.107.19.254

 demo集群外部访问type=NodePort 

#集群外部访问

 kubectl expose deployment nginx --name=svc-nginx2 --type=NodePort --port=80 --target-port=80

#查看service  注意post 中的32432对应的就是master的端口

kubectl get service
#删除service

kubectl delete  service svc-nginx1



http://www.lryc.cn/news/543724.html

相关文章:

  • useLayoutEffect和useEffect有什么区别?
  • Docker迁移/var/lib/docker之后镜像容器丢失问题
  • ProfiNet转EtherCAT 网关:助力工业设备 “对话”的神奇纽带
  • TCP基本入门-简单认识一下什么是TCP
  • 本地快速搭建一套AI人脸识别技术研究学习的实验环境
  • DeepSeek:面向效率与垂直领域的下一代大语言模型技术解析
  • 【easy视频 | day01】项目了解 + 登录注册 + 使用 token 作为客户端请求令牌
  • 使用elasticdump导出/导入 -- ES数据
  • React + TypeScript 复杂布局开发实战
  • 工业AR眼镜的‘芯’动力:FPC让制造更智能【新立电子】
  • mapbox实现添加历史轨迹,并进行动画播放效果
  • 最好Wordpree+Apache+PHP安装教程
  • Windows搭建jenkins服务
  • 鸿蒙-AVPlayer
  • 解决单元测试 mock final类报错
  • Kafka消费者相关
  • Vue nextTick原理回顾
  • JavaWeb登录认证
  • 半导体制造工艺(二)光刻工艺—掩模版
  • 计算机视觉算法实战——高精度分割(主页有源码)
  • DeepSeek-R1-Zero:基于基础模型的强化学习
  • 判断一个文件中以三个#号开头有多少行的shell脚本怎么写
  • PHP如何与HTML结合使用?
  • 计算机网络之传输层(传输层的功能)
  • 矩阵碰一碰发视频源码搭建之,支持OEM
  • DeepSeek 2月27日技术突破:三大核心功能解析与行业影响
  • 【实战 ES】实战 Elasticsearch:快速上手与深度实践-1.2.2倒排索引原理与分词器(Analyzer)
  • Vue.js响应式基础
  • DeepSeek-OpenSourceWeek-第四天-Optimized Parallelism Strategies
  • 深入浅出:插入排序算法完全解析