kubectl入门

一.kubectl的三种资源管理方式:

二. kubectl资源介绍:

        1.namespace:实现多套环境的资源隔离或者多租户的资源隔离。k8s中的pod默认可以相互访问,如果不想让两个pod之间相互访问,就将其划分到不同ns下。

        2.pod:k8s集群管理的最小单元,程序运行在容器中,容器则存在于pod中,一个pod可以存在一个或者多个容器。

        3.label:以key/value键值对的形式添加到各种对象上,一个资源对象可以定义任意数量的label,一个label也可以被添加到任意数量的资源对象上。通过label实现资源的多维度分组,可以方便灵活的进行资源分配,调度,配置,部署等管理工作。

        4.service:service是一组同类pod对外的访问接口,通过service方便的实现服务发现和负载均衡。

三. pod

        pod的五种状态:

                a. 挂起(Pending):pod已经被kubernetes系统接收,apiserver已经完成了pod资源对象的创建,但还有一个或多个容器未被创建(但pod尚未被调度完成或者还在下载镜像等),可用kubectl describe查看原因。
                b. 运行中(Running):pod已经被调度至某个节点,并且所有容器都已经被 kubelet 创建完成,至少有一个容器处于运行状态(或是启动,重启),可用kubectl logs查看日志 。
                c. 成功(Succeeded):pod中的所有容器都已经成功终止并且不会被重启,可用kubectl logs查看日志 。
                d. 失败(Failed):所有容器都已经终止,但至少有一个容器终止失败,即容器终止时出现了异常,可用kubectl describe和kubectl logs查看日志 。
                e. 状态 未知(Unknown):apiserver无法正常获取到 pod 对象的状态信息,通常由网络通信失败所导致。
其他情况:
                a. 镜像获取不到(ImagePullBackOff、ErrorImagePull):镜像拉取失败,一般是由于镜像不存在,网络不通或者需要登录认证引起,可用kubectl describe查看原因。
                b. 容器启动失败(CrashLoopBackOff):容器启动失败,一般是启动命令不正确,健康检查不通过等,可用kubectl logs查看日志 。
                c. 容器内存溢出(OMMKilled):容器内存溢出,一般是容器的内存limit设置得过小或者程序本身存在内存溢出,可用kubectl logs查看日志 。
                d. 容器终止(Terminating):pod正在被删除,可用kubectl describe查看原因。
                e.SysctlForbidden:pod定义了内核配置,但是kubelet没有添加内核配置或者配置的内核参数不支持,可用kubectl describe查看原因。
                f.Completed:容器内部主进程退出,一般计划任务执行结束会显示该状态,可用kubectl logs查看日志 。
                g.ContainerCreating:pod正在创建,一般为正在下载镜像,或者有配置不当的地方,可用kubectl describe查看原因。
        
       pod内容器镜像拉取的三种方式:
                a. Always:总是从远程仓库拉取镜像
                b. IfNotPresent:优先从本地获取镜像,本地没有则从远程仓库拉取镜像
                c. Never:只使用本地镜像,本地没有就报错 
        pod的探针:
                a. liveness probes:存活性探针,用于检测应用实例当前是否处于正常运行状态,如果不正常,则重启容器。
                b. readiness probes:就绪性探针,用于检测应用实例是否可以接收请求,如果不能,k8s不会将业务流程发送到此实例。

        探针支持三种探测方式,分别是exec命令,TCPSocket,HTTPSocket。Exec命令指在容器内执行一次命令,如果命令执行的退出码为0,则认为程序正常,否则不正常; TCPSocket会尝试访问一个用户容器的端口,如果能够建立这条连接,则认为程序正常,否则 不正常;HTTPGet会调用容器内Web应用的URL,如果返回的状态码在200399之间,则认为程序正常,否 则不正常。

        pod的重启策略:

                a. Always:容器失效时,自动重启容器,容器重启的默认策略。 

                b. OnFailure: 容器终止运行且退出码不为0时重启。

                c. Never:不论状态如何,都不重启容器

        pod的调度方式:

                a. 自动调度:运行在哪个节点上完全由Scheduler经过一系列的算法计算得出
                b. 定向调度:NodeName、 NodeSelector
                c. 亲和性调度:NodeAw inity、 PodAw inity PodAntiAw inity
                d. 污点(容忍)调度:Taints、 Toleration

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值