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

kubernetes 初学命令

基础命令

kubectl

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: nginx
  labels:
    app: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - 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地址

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



相关文章:

  • 记一次pytorch训练loss异常的问题
  • LinkedList与链表
  • (学习总结26)Linux工具:make/Makefile 自动化构建、Git 版本控制器 和 gdb/cgdb 调试器
  • 鸿蒙-状态管理V2其他方法
  • 评高级工程师职称的条件-三大硬性要求
  • 【时时三省】(C语言基础)数据类型
  • Linux通过设备名称如何定位故障硬盘
  • 应用的负载均衡
  • windbg-记一次应用程序崩溃的定位
  • 【综合项目】api系统——基于Node.js、express、mysql等技术
  • 穷举vs暴搜vs深搜vs回溯vs剪枝(典型算法思想)—— OJ例题算法解析思路
  • 【java进阶】java多态深入探讨
  • C# | GDI+图像测距辅助线的实现思路
  • 企业知识库搭建:14款开源与免费系统选择
  • OpenAI开放Deep Research权限,AI智能体大战升级,DeepSeek与Claude迎来新对决
  • 【质量管理】怎么评估职能部门当前质量管理成熟度
  • Innodb MVCC实现原理
  • 【Java学习】Object类与接口
  • qt-C++笔记之QtCreator新建项目即Create Project所提供模板的逐个尝试
  • deepseek 本地化部署(小白也可部署)
  • 北部艳阳高照、南部下冰雹,五一长假首日上海天气很“热闹”
  • 购车补贴、“谷子”消费、特色产品,这些活动亮相五五购物节
  • 世界黄金协会:一季度全球黄金投资需求同比增170%
  • 圆桌|如何应对特朗普政府的关税霸凌?一种联合国视角的思考
  • 辽宁辽阳市白塔区一饭店发生火灾,当地已启动应急响应机制
  • 运动健康|不同能力跑者,跑步前后营养补给差别这么大?