陈奇网络工作室

K8SPodstatus状态分析

云计算

K8S Pod status的状态分析

CrashLoopBackOff :容器已关闭,kubelet正在重新启动

InvalidImageName :无法解析镜像名称

ImageInspectError :无法验证镜像

ErrImageNeverPull禁止在策略中抽取镜像

ImagePullBackOff :正在重试抽屉

注册不可用:无法连接到镜像中心

ErrImagePull :公共镜像错误

createcontainerconfigerror :无法创建kube let使用的容器配置

CreateContainerError :创建容器失败

m.internal life cycle.prestartcontainer报告hook错误

RunContainerError :容器启动失败

poststarthookerror :执行hook的错误报告

ContainersNotInitialized :容器未初始化

ContainersNotReady :容器没有准备好

ContainerCreating :正在创建容器

PodInitializing:pod初始化中

文档管理器:文档还没有完全启动

NetworkPluginNotReady :网络插件还没有完全启动

K8S-YAML的使用和命令

YML配置文件管理对象

管理对象:

创建部署资源

kubectlcreate-f nginx-deployment.YAML

浏览部署

kubectl get deploy

查看复制集

kubectl get rs

查看pods上的所有标签

UbeCTLgetpods----show-labels

#根据标签查看销售点

kubectl get pods -l app=nginx

#镜像滚动更新

kubectlsetimagedeployment/nginx-deployment nginx=nginx:1.11

或者

kubectleditdeployment/nginx-deployment

或者

kubectlapply-f nginx-deployment.YAML

#实时观察发布状态:

ubectlrolloutstatusdeployment/nginx-deployment

查看部署历史修订

kubectlrollouthistorydeployment/nginx-deployment

kubectlrollouthistorydeployment/nginx-deployment-- revision=3

#回滚到以前的版本

kubectlrolloutundodeployment/nginx-deployment

ubectlrolloutundodeployment/nginx-deployment---- to-revision=3

#扩展部署的Pod拷贝数

ubectlscaledeploymentnginx-- deployment-- replicas=10

#设置启动的缩放

kubectlautoscaledeploymentnginx-deployment---min=10---max=15---CPU-percent=80

对象管理实例: vim nginx.deployment.yaml

API version:apps/v1 beta 2

kind :部署

元数据:

name: nginx-deployment

spec :

replicas: 2

选择器:

匹配标签:

APP:nginx

template :

元数据:

labels :

APP:nginx

spec :

containers :

- name: nginx

image: nginx:1.10

端口:

-容器端口: 80

服务发现示例: vim nging.service.yaml

apiVersion: v1

kind :服务

元数据:

labels :

run: nginx

name: nginx

namespace: default

spec :

端口:

-端口: 88

目标端口: 80

选择器:

APP:nginx

清理:

# kubectldelete-f nginx-deployment.YAML

# kubectldelete-f nginx-service.YAML

POD角色:

Pod管理-创建/查询/更新/删除

基本管理:

创建pod资源

kubectl create -f pod.yaml

查看销售点

kubectl get pods pod-test

查看pod说明

kubectl describe pod pod-test

#资源替换

kubectl replace -f pod.yaml -force

#删除资源

kubectl delete pod pod-test

支持三种战略:

Always :总是在容器退出和退出后重新启动容器。 这是默认策略。

仅当OnFailure (容器异常终止(结束状态代码为非0 ) )时,重新启动容器。

Never :如果容器退出并退出,则容器不会重新启动。

Pod实例: vim pod.yaml

apiVersion: v1

kind: Pod

元数据:

name: pod-test

labels :

os: centos

spec :

containers :

- name:hello

image: centos:7

env :

- name: Test

value: 123456

command: [bash,-c,while true; do date; 休眠1; done]

restartPolicy: OnFailure

Pod管理-体检:

Probe机制有以下两种类型:

livenessProbe

如果检查失败,杀死集装箱,根据Pod的重启策略

重新启动。

自述文件

如果检查失败,Kubernetes将从服务代理的分发后端中排除Pod。

Probe支持以下三种检查方法:

httpGet

发送HTTP请求,返回200-400范围的状态码,成功。

执行

运行shell命令,状态代码为0,成功。

TCP套接字

TCP套接字建立成功。

示例: vim pod2.yaml

apiVersion: v1

kind: Pod

元数据:

name: nginx-pod

labels :

APP:nginx

spec :

containers :

- name: nginx

image: nginx:1.10

端口:

-容器端口: 80

livenessProbe :

httpGet :

path: /index.html

端口: 80

Pod管理-数据永久化和共享:

vim pod3.yaml

apiVersion: v1

kind: Pod

元数据:

name: pod-test1

labels :

test: centos

spec :

containers :

#第一个容器

- name: hello-write

image: centos:7

command: [bash,-c,for i in {1.1000}; do echo $i /data/hello; 休眠1; done]

#第二个容器

- name: hello-read

image: centos:7

command: [bash,-c,for i in {1.1000}; do cat $i /data/hello; 休眠1; done]

volumeMounts :

- name: data

mountPath: /data

#数据卷

volumes :

- name: data

hostPath :

path:/数据

Pod端口映射:

vim pod4.yaml

apiVersion: v1

kind: Pod

元数据:

name: nginx-pod

labels :

APP:nginx

spec :

containers :

- name: nginx

image: nginx:1.10

端口:

- name: http

容器端口: 80

hostIP: 0.0.0.0

主机端口: 80

protocol: TCP

- name: https

容器端口: 443

hostIP: 0.0.0.0

主机端口: 443

protocol: TCP

详情请访问云服务器、域名注册、虚拟主机的问题,请访问西部数码代理商官方网站: www.chenqinet.cn

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3