【容器集群管理】Kubernetes

一、Kubernetes是什么

    Kubernetes简称k8s,是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。将现有服务容器化也是目前的趋势,前段时间搭建了一个master,两个node的k8s环境,master调度整个集群,nodes负责运行应用,记录下。
    pod是容器的集合,通常将紧密相关的一组容器放到同一个pod中,同一个pod中的所有容器共享IP地址和Port。pod是Kubernetes的最小工作单元,pod中的容器作为一个整体被Master调度到一个Node上运行。
    创建部署后,Kubernetes主节点将调度该部署中包含的应用程序实例,使其在集群中的各个节点上运行。
    Kubectl使用Kubernetes API与集群进行交互。
    容器占用资源少、部署快,每个应用可以被打包成一个容器镜像,每个应用与容器间成一对一关系也使容器有更大优势。每个容器之间互相隔离,每个容器有自己的文件系统 ,容器之间进程不会相互影响,能区分计算资源。
    Kubernete Service 是一个定义了一组Pod的策略的抽象,我们也有时候叫做宏观服务。因为每个pod都由自己的ip,这些IP也随着时间的变化也不能持续依赖。这样就引发了一个问题:如果一些Pods(让我们叫它作后台,后端)提供了一些功能供其它的Pod使用(让我们叫作前台),在kubernete集群中使用service实现让这些前台能够持续的追踪到这些后台。
创建资源的两种方式:kubectl run 、kubectl apply -f,类似的命令:kubectl create、kubectl replace、kubectl edit、kubectl patch。
k8s环境部署参考: link

二、部署中遇到的问题及解决

    对于私有的镜像源,一般需要先制作好镜像push到私有的docker仓库才能部署,但是如果不方便上传镜像,可以在要运行的node节点和master分别制作一次镜像,也可以实现不push到私有仓库部署。
    有时错误的pod状态会变成Terminating,需要强制删除pod:kubectl delete pods podname --grace-period=0 --force
镜像有问题时删除镜像:docker rmi -f ID
集群重置:kubeadm reset

你可能感兴趣的:(kubernetes)