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

相关推荐
chuanauc5 小时前
Kubernets K8s 学习
java·学习·kubernetes
小张是铁粉5 小时前
docker学习二天之镜像操作与容器操作
学习·docker·容器
烟雨书信5 小时前
Docker文件操作、数据卷、挂载
运维·docker·容器
IT成长日记5 小时前
【Docker基础】Docker数据卷管理:docker volume prune及其参数详解
运维·docker·容器·volume·prune
这儿有一堆花5 小时前
Docker编译环境搭建与开发实战指南
运维·docker·容器
LuckyLay5 小时前
Compose 高级用法详解——AI教你学Docker
运维·docker·容器
Uluoyu5 小时前
redisSearch docker安装
运维·redis·docker·容器
IT成长日记9 小时前
【Docker基础】Docker数据持久化与卷(Volume)介绍
运维·docker·容器·数据持久化·volume·
疯子的模样14 小时前
Docker 安装 Neo4j 保姆级教程
docker·容器·neo4j
虚伪的空想家14 小时前
rook-ceph配置dashboard代理无法访问
ceph·云原生·k8s·存储·rook