系列文章目录
提示:
Kubernetes命令
前言
提示:以下是本篇文章正文内容,下面案例可供参考
查看 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提供了大量能使我们快速便捷地处理数据的函数和方法。