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的五种状态:
探针支持三种探测方式,分别是exec命令,TCPSocket,HTTPSocket。Exec命令指在容器内执行一次命令,如果命令执行的退出码为0,则认为程序正常,否则不正常; TCPSocket会尝试访问一个用户容器的端口,如果能够建立这条连接,则认为程序正常,否则 不正常;HTTPGet会调用容器内Web应用的URL,如果返回的状态码在200和399之间,则认为程序正常,否 则不正常。
pod的重启策略:
a. Always:容器失效时,自动重启容器,容器重启的默认策略。
b. OnFailure: 容器终止运行且退出码不为0时重启。
c. Never:不论状态如何,都不重启容器
pod的调度方式: