- N +

k8s访问pod里面容器(k8s访问容器内部端口)

k8s访问pod里面容器(k8s访问容器内部端口)原标题:k8s访问pod里面容器(k8s访问容器内部端口)

导读:

k8s在创建pod时先创建pause容器,还是先与cni交互执行网络1、总结,Kubernetes在创建pod时,先启动pause容器以创建命名空...

k8s在创建Pod时先创建pause容器,还是先与cni交互执行网络

1、总结kubernetes在创建POD时,先启动pause容器以创建命名空间然后pod中的其他容器共享这个命名空间,实现进程间的隔离独立封装通过pause容器的命名空间机制,确保了容器之间资源隔离和通信隔离,有效管理了容器在集群中的运行

2、sandbox创建:首先,containerd通过CRI创建sandbox,包含容器的基本信息配置。网络环境设置:在创建sandbox的过程中,CNI插件负责设置容器的网络环境,包括命名空间、网卡等。容器创建与网络配置:容器创建后,CNI插件执行网络设置,确保每个Pod的网络环境正确配置。

3、K8s中Pod的创建开始到结束的详细过程包括用户提交创建请求、API server接收认证、Pod对象信息写入etcd、Scheduler调度Pod、Kubelet创建并运行Pod、Pod状态更新以及Pod就绪性探测。用户提交创建请求:用户通过kubectl命令工具或其他Kubernetes API客户端提交Pod创建请求。

4、Pod 功能:Pod是K8S中最小的可部署单元通常一个或多个紧密耦合的容器组成。这些容器共享网络、存储资源,并在同一个环境中运行。结构:Pod可以包含一个或多个容器,这些容器通过共享资源实现紧密耦合。当创建一个Pod时,K8S调度器会将Pod调度到合适的工作节点上。

K8S之nodePort、port、targetPort和containerport

1、K8S中的NodePort、port、tarGetPort和containERPort解释如下:在KuberneTES(K8s)中,Service是一种抽象层,它定义了一个逻辑集合和访问它们策略。Service允许你访问一组运行在一个或多个Pods上的应用程序

2、targetPort是针对Docker容器设置的端口。当数据从nodePort或port进入时,kube-proxy将数据路由至后端pod的targetPort上,最终进入容器内部值得注意的是,targetPort与containerPort必须保持一致。containerPort则是定义在pod控制器中的端口,用于容器需要暴露给外界的接口

3、Service的端口范围(port)通过参数--service-node-port-range指定默认30000-32767),并映射到Pods的特定端口(containerPort)。这样,Service IP + port组合可以提供稳定服务访问,而无需担心Pods的变化为了实现更复杂的服务发现和路由,Kubernetes提供了几种解决方案

4、由于Apache SkyWalking Kubernetes默认的安装方式是采用的ClusterIP,我们需要改为NodePort方式。在skywalking-kubernetes/chart/skywalking/templates下找到oap-svc.yaml文件修改其中的配置,添加targetPort和nodePort。如果仅仅用于安装演示skywalking。本步骤可以跳过不执行。

5、我们使用的service type是NodePort,yaml里没有申明nodePort 所以k8s会默认创建一个nodePort (30000-40000),然后我们通过node ip 加 nodePort 就可以访问service。

...系列docker容器经常被kill掉,k8s中该节点的pod也被驱赶,怎么分析...

面临Docker容器被频繁kill掉,以及k8s中该节点pod被驱赶的情况时,要找出问题的根源,关键在于深入分析容器的运行状态、内存使用情况以及系统资源的分配状况。以下为解决此类问题时,可以采取的步骤与工具,帮助您更直观地找出问题所在。首先,要从容器输出和状态详情入手。

Node:集群中的工作负载节点,可以是物理机或虚拟机,由Master分配负载。当节点宕机,工作负载会被自动转移。3 Pod:最小管理单位,运行在Node节点上,包含多个业务容器,容器间共享网络命名空间、IP地址、端口,可通过localhost进行通讯

在Kubernetes(K8s)中,当pod状态显示为“ContainerCreating”,这意味着pod已经由调度器分配至特定节点,该节点的kubelet正在创建容器。在此阶段,系统会进行容器创建操作。一旦所有容器启动并运行,pod状态将从“ContainerCreating”转变为“Running”。

Docker容器:Docker容器内的应用程序进程直接运行在宿主机的内核上,没有自己的内核。这使得Docker容器比传统虚拟机更轻便、更高效。k8s容器集群:在k8s中,容器通常是以Pod的形式存在的,Pod是k8s中最小的可部署的计算单元。k8s负责将Pod调度到合适的节点上运行,并确保Pod的高可用性和可扩展性。

例如,查看某个pod的日志时,首先需要在pod所在节点上查看kubelet存放的日志文件。数字标记代表了容器重启次数,例如“2393”和“2394”分别表示第2393次和第2394次重启后的日志记录实际上,这些日志文件为链接文件,指向了docker容器的日志文件。

k8s访问pod里面容器(k8s访问容器内部端口)

返回列表
上一篇:
下一篇: