kubernetes---orders

本文详细介绍了Kubernetes(kubectl)命令的使用,包括查看pod、svc等资源,以及如何删除资源。重点讲解了如何通过kubectlget命令获取不同命名空间下的pod信息,如何描述pod日志和node日志,以及使用kubectllogs查看容器日志。此外,还给出了数据读取的Python代码示例。
摘要由CSDN通过智能技术生成

系列文章目录

提示:



前言


提示:以下是本篇文章正文内容,下面案例可供参考

查看 kubectl get +资源

查看对应的资源就使用 kubectl get +资源
例如查看 svc : kubectl get svc查看默认的namespaces下的svc
查看pod : kubectl get +pod名 -n +namespaces名

1.1、查看pod命令?

1.1.1:查看运行的pod : kubectl get +pod名 -n +namespaces名

1.1.2:查看所有运行的pods

代码如下(示例):

 kubectl get pods

在这里插入图片描述

1.1.3、查看所有的运行的pods --all-namespaces
kubectl get pods --all-namespaces

在这里插入图片描述

1.1.4、查看指定namespaces的pods
  • 有时候我们查看pod没有反应是因为我们没有指定namespaces
kubectl get pods -n #要查看的namespaces的名称
# 例如我要查看kube-system 这个namespace下的所有的pod
kubectl get pods -n kube-system

查看svc

删除

kubectl delete pod -n namespaces

二、输出指定的一个/多个资源的详细信息。

— describe

1.2.1、查看pod运行日志

  • 首先要查看pod的名字和所在的namespaces

代码如下(示例):

kubectl describe pod # 要查看的pod的名字 -n pod所在的namespaces
#例如我要查看kube-system下的coredns-66bff467f8-b7dlf
kubectl describe pod coredns-66bff467f8-b7dlf -n kube-system

1.2.2、查看node的运行日志

kubectl get nodes   # 先获取node节点

kubectl describe node 输入要查看的node节点名
# 例如我要查看k8s-node02这个node的日志信息
kubectl describe node k8s-node02

1.1:查看pod对应的信息 -o wide

代码如下(示例):

kubectl get pod -o wide

在这里插入图片描述

1.1:kubectl logs:输出pod中一个容器的日志

代码如下(示例):


kubectl  logs -p  +pod名  # 针对默认的namespaces(名为default)下的pod
kubectl  logs  +pod名   -n namespaces  # 针对非默认namespaces下的pod

1.1:查看pod运行日志

代码如下(示例):

二、使用步骤

1.引入库

代码如下(示例):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

apiVersion: v1 # 必选,API的版本号
kind: Pod # 必选,类型如Pod
metadata: # 必选,元数据
  name: nginx # 必选,符合RFC 1035规范的Pod名称
  namespace: web-testing # 可选,不指定默认为default,Pod所在的命名空间
  labels: # 自定义标签,可选,标签选择器,一般用于Selector
    app: nginx # 自定义标签的名字
  annotations: # 自定义注释列表,可选,注释列表
    app: nginx
spec: # 必选,用于定义容器的详细信息
  containers: # 必选,pod中的容器列表
  - name: nginx # 必选,符合RFC 1035规范的容器名称
    image: nginx:v1 # 必选,容器所用的镜像的地址
    imagePullPolicy: Always # 可选,镜像拉取策略 [Always]:总是去指定的仓库拉取镜像,仓库是你的imagePullSecrets指定的地址,如果imagePullSecrets没指定就去dockerhub拉取,[Nerver]:仅使用本地镜像. [IfNotPersent]: 本地有用本地的,本地没有就用远程仓库的
    command: # 容器启动要执行的命令,如果没有就默认用你dockerfile打镜像时ENTRYPOINT的命令
    - nginx # 可选,容器启动执行的命令 
    - -g
    - "daemon off;"
    workingDir: /usr/share/nginx/html # 可选,容器的工作目录
    volumeMounts: # 可选,存储卷配置,挂载到容器内部的存储卷的位置
    - name: webroot # 存储卷名称引用pod定义的共享存储卷的名称,需要用volumes[]部分定义的卷名
      mountPath: /usr/share/nginx/html # 挂载目录,存储卷在容器内mount的绝对路径,应少于512个字符
      readOnly: false # 只读,是否只读模式
    ports: # 可选,容器需要暴露的端口号列表
    - name: http # 容器的端口名称
      containerPort: 80 # 容器端口号
      hostPort: 80 # 容器所在主机需要监听的端口号,默认与container相同
      protocol: TCP # 端口协议,默认TCP,支持TCP/UDP
    env: # 可选,容器运行前需设置的环境变量的列表
    - name: LANG # 变量名
      value: en_US.utf8 # 环境变量值
    resources: # 可选,资源限制和资源请求限制
      limits: # 最大限制设置
        cpu: 1000m # CPU的限制,单位为core数
        memory: 1024Mi # 内存限制,单位为MiB/GiB
      requests: # 启动所需的资源,也就是最小分配
        cpu: 100m # CPU的限制,单位为core数
        memory: 512Mi # 内存限制,单位为MiB/GiB
    readinessProbe: # 可选,容器状态检查
      httpGet: # 检测方式
        path: / # 检查路径
        port: 80 # 监控端口
      timeoutSeconds: 2 # 超时时间
      initialDelaySeconds: 60 # 初始化时间
    livenessProbe: # 可选,监控状态检查,当探测无响应几次后将自动重启该容器,检查方法有exec、httpGet、tcpSocket对一个容器只需要设置一个方法即可
      exec: # 检测方式,就是在容器内存执行一些命令或者脚本
        command:  # 制定的命令或者脚本
        - cat
        - /health
      httpGet: # 检测方式,对pod中的容器健康检查方法设置为httpGet,需要定制Path,port
        path: /_health # 检查的url
        port: 8080  
        httpHeaders:
        - name: end-user
          value: jason
      tcpSocket: # 检测方式,tcpSocket的方式
        port: 80
      initialDelaySeconds: 60 # 初始化时间,设置检查等待的时间,也就是60s后再启动存活探针检测,因为存活探针不会等待就绪探针所以必须设置初始化时间。
      timeoutSeconds: 2 # 超时时间,探测的超时后等待多少秒
      periodSeconds: 5 # 检测间隔,periodSeconds 字段指定了 kubelet 应该每 5 秒执行一次存活探测
      successThreshold: 2 # 检查成功为2次表示就绪,的默认值是 1,这意味着只要探测器成功一次,kubelet 就会认为探测成功。如果将 successThreshold 设置为大于 1 的值,则探测器必须连续成功达到指定的次数,容器才被视为成功运行。
      failureThreshold: 1 # 检测失败1次表示未就绪,如果未就绪设置3次的话,等待的时间就会乘以periodSeconds,就是15s这个服务的启动总时长可以有这么久不会被判断为失败
    securityContext: # 可选,限制容器不可信的行为
      privileged: false
  restartPolicy: Always # 可选,pod的重启策略,默认为Always。[Always]表示不论以什么方式终止运行,kubelet都将重启,OnFailure表示只有pod是以非0退出码退出才重启, Nerver表示不再重启该pod
  nodeSelector: # 可选,指定Node节点,将该pod设置只能再含有这个label的node上运行,以key:value的格式指定
    region: subnet7 # 也就是该pod只能调度含有region: subnet7这个label的node上
  imagePullSecrets: # 可选,拉取镜像使用的secret,pull镜像时所需要的secret
  - name: mydockerhub # 私有仓库(secret)的名称
  hostNetwork: false # 可选,是否为主机模式,如是,会占用主机端口,如果设置true表示使用宿主机网络,pod不会单独生成一个ip就会和node共用一个ip地址
  volumes: # 共享存储卷列表
  - name: webroot # 名称,与上述对应
    emptyDir: {} # 共享卷类型,空
  - name: hostpath-volume # 名称
    hostPath: # 共享卷类型,本机目录
      path: /etc/hosts
  - name: secret-volume # 名称
    secret: # 共享卷类型,secret模式,一般用于密码
      secretName: default-token-tf2jp # 名称
      defaultMode: 420 # 权限
  - name: configmap-volume # 名称
    configMap: # 一般用于配置文件
      name: nginx-conf
      defaultMode: 420


总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lovely_red_scarf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值