查看pod节点命令? 查看pod ip?
K8S——pod入门理解
1、个人理解:POD是容器组的一个抽象,类似于一栋出租楼里面的房子,房子的其他小房间像容器,房间里的水,电充当应用服务。出租屋内的小房间门跟容器端口差不多,出租屋大门像Pod上的端口,整栋楼大门像Service对外暴露的端口。2使用Pod的原因?pod是K8s最小的运行,部署单位。
2、kubernetes(简称K8s)是云计算中部署和管理软件的新标准,它提供了一个强大的平台来自动化容器化应用程序的部署、扩展和管理。对于初学者来说,理解Kubernetes中的核心概念是至关重要的。
3、POD:定义:POD是K8S中的基石概念,负责封装容器并提供资源管理。特点:一个POD可包含一个或多个容器,这些容器共享磁盘空间,并通过分配独立的网络标识实现内部通信。重要性:理解POD如何在集群中运行,是技术型产品经理掌握K8S的基础。控制器:作用:自动化管理POD,确保其在集群中的部署、扩展和维护。
第十一篇:kubectl常用命令详解
1、kubectl常用命令详解:语法格式 kubectl的命令语法格式通常为:kubectl command options resource。 command:执行的操作类型,如get、create等。 options:可选参数,用于进一步指定操作细节。 resource:操作的目标资源,如Pod、Service等。
2、`kubectl SCALE`:调整资源副本数量,如Pod副本。 `kubectl rollout`:管理Deployment和StatefulSet的滚动更新。 `kubectl exec`:在运行中的Pod内执行命令,进行调试或维护。掌握kubectl的常用命令对于Kubernetes操作至关重要,它们帮助用户高效地管理、监控和维护集群中的资源。
3、基本功能 资源操作:通过kubectl,用户可以创建、删除、查看、修改、配置、运行Kubernetes集群中的资源对象。 子命令支持:运行“kubectl help”命令可以查看支持的常用子命令,了解具体操作。全面的命令列表可在官方文档中查询。子命令覆盖的管理需求 资源部署:如创建deployment等。
推荐一款Kubernetes神器“minikube”
Minikube:Kubernetes本地集群神器推荐 Minikube是由Kubernetes社区维护的单机版Kubernetes集群,它支持macOS、Linux和windows等多种操作系统平台,使用最新的官方stable版本,并支持Kubernetes的大部分功能。
在一个新的终端窗口中,执行minikube dashboard命令。这会启用仪表板插件并在默认web浏览器中打开代理,允许你从外部访问Kubernetes仪表板。你可以在仪表板上创建和管理Kubernetes资源,如Deployment和Service。要停止代理,只需在终端中按Ctrl+C退出进程。
从 minikube 官方网站下载 minikube2x86_6rpm 安装包。使用 rpm 命令进行安装。启动 minikube 集群:运行命令 minikube start force driver=Docker imagerePOSitory=http://registry.cnhangzhou.aliyuncs.com/Google_CONTAINERs 来启动 minikube 集群。
K8S故障检查-Pod处于ContainerCreating状态
1、常见导致pod长时间处于“ContainerCreating”状态的原因包括镜像拉取问题、资源不足、持久卷问题、网络问题以及安全上下文或Docker/运行时问题。要排查镜像拉取问题,可使用kubectl describe pod命令检查pod事件,寻找“Failed to pull image”或“ImagePullBackOff”事件,表明镜像拉取存在问题。
2、面对k8s应用卡在ContainerCreating状态的困扰,我通过kubectl describe po命令获取到了关键的日志信息。
3、问题描述:Pod处于终止状态或状态未知,通常与节点故障或删除操作相关。解决办法:强制删除Pod;检查节点的健康状态,必要时重启节点组件;检查集群的删除操作是否正确执行。UnexpectEDAdmISSionError:问题描述:Pod因节点磁盘空间不足而无法正常创建或运行。
4、ContainerCreating:这种情况表示容器正在创建中,常见于配置问题导致的容器创建失败。例如,当使用docker服务时,可能会遇到节点上的kube-proxy、kubelet或docker服务重启后容器仍无法创建的情况。解决这类问题,通常需要检查服务的运行状态,确认资源是否充足,或者是否存在网络、存储配置问题。
5、一个pod的完整创建,通常会伴随着各种事件的产生,k8s种事件的种类总共只有4种:PodStatus 有一组PodConditions。PodCondition中的ConditionStatus,它代表了当前pod是否处于某一个阶段(PodScheduled,Ready,Initialized,Unschedulable),“true” 表示处于,“false”表示不处于。
k8s查看使用哪种网络插件
使用kubectl命令查看网络插件:一旦登录到集群节点,可以使用kubectl命令来查看集群的详细信息,包括当前使用的网络插件。具体的命令可能是kubectl get pods -n kube-system -o wide | grep kube-proxy(这个命令主要用于查看kube-proxy的相关信息,但不同网络插件可能会有不同的标识或组件)。
在Kubernetes集群中使用flannel插件配置VXLAN网络,以实现节点之间的通信。Flannel是Kubernetes的网络插件,本文通过kubeadm工具安装Kubernetes版本19,网络模式设定为VXLAN。Flannel通过下载并配置`flannel.yml`文件进行安装,之后通过检查安装结果来确认配置成功。
CNI,即 Container Network Interface,是 Kubernetes 网络模型中用于容器网络配置的标准接口。它允许 Kubelet 通过调用不同的网络插件来实现多样化的网络配置方式,从而满足不同的网络需求。常见的 CNI 插件包括 Calico、flannel、Terway、Weave Net 以及 Contiv 等。
安装和测试calico网络插件安装calico网络插件,配置其相关文件。为node节点打上标签,确认集群状态变为Ready。进行calico网络测试,确保网络功能正常。通过以上步骤,K8s集群的安装和初步测试便已完成。
单独Calico网络首先部署Calico,使用Calico v8版本,并遵循官方部署指南。然后安装multus-cni,基于v2版本。修改multus-cni的配置文件`/etc/cni/net.d/00-multus.conf`,确保`net-calico`网络配置正确无误。