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

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: 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地址

11.kubectl explain pod

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

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

kubectl explain pod

kubectl explain pod.spec.containers

12. kubectl taint nodes node1 key=value:effect

# 设置污点
kubectl taint nodes node1 key=value:effect

# 去除污点
kubectl taint nodes node1 key:effect-

# 去除所有污点
kubectl taint nodes node1 key-
 

13. kubectl exec  -it pod-env -n dev -c busybox /bin/sh 

  • kubectl exec: 这是 Kubernetes 的命令行工具,用于在 Pod 中执行命令。
  • pod-env: 这是你要进入的 Pod 的名称。
  • -n dev: 指定命名空间为 dev。如果你的 Pod 在 dev 命名空间中,这个选项是必要的。
  • -c busybox: 指定要进入的容器名称为 busybox。如果 Pod 中有多个容器,你需要使用这个选项来指定具体的容器。
  • -it: 这两个选项结合使用,-i 表示以交互模式运行,-t 表示分配一个伪终端。这样你可以在容器中进行交互。
  • /bin/sh: 这是你要在容器中执行的命令。在这个例子中,你将进入 busybox 容器的 shell。

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.kler.cn/a/567840.html

相关文章:

  • PostgreSQL10 物理流复制实战:构建高可用数据库架构!
  • 建易WordPress
  • 基于PHP+MySQL校园新闻管理系统设计与实现
  • 如何在Windows环境下安装Docker
  • Mysql-如何理解事务?
  • Vue 3 状态管理实战:构建用户登录注册功能 - 掌握 Vuex 集中管理应用状态
  • I/O多路转接之select:定义、原理及应用场景
  • git rebase 和 merge的区别
  • sklearn中的决策树-分类树:泰坦尼克号生存预测
  • 全面了解机器学习:监督、无监督、半监督、深度和强化学习
  • 随身wifi wps是什么?(Wi-Fi Protected Setup)一种简化无线网络连接的技术,允许用户无需手动输入密码即可快速连接设备
  • 开源绝版经典小游戏合集
  • Spring Boot 项目中如何在 `pom.xml` 文件中引入本地 JAR 包
  • 【Python爬虫(100)】从当下到未来:Python爬虫技术的进阶之路
  • doris:Hudi Catalog
  • 实现dify与docker下载安装
  • 神经网络|(十一)|神经元和神经网络
  • Python每日一练:学习指南进行汇总
  • NLP09-朴素贝叶斯问句分类(3/3)
  • SpringBoot敏感数据脱敏怎么处理