首页 > 其他分享 >K8s(Kubernetes)-Tips

K8s(Kubernetes)-Tips

时间:2024-03-19 09:32:13浏览次数:17  
标签:kubectl Kubernetes 容器 -- IP 集群 Tips K8s pod

K8S中文官网

https://www.kubernetes.org.cn/

Kubernetes集群组件结构

在这里插入图片描述
在这里插入图片描述


一个kubernetes集群主要是由控制节点(master)、**工作节点(node)**构成,每个节点上都会安装不同的组件。

  • master:集群的控制平面,负责集群的决策 ( 管理 )

  • ApiServer : 资源操作的唯一入口,接收用户输入的命令,提供认证、授权、API注册和发现等机制

  • Scheduler :
    负责集群资源调度,按照预定的调度策略将Pod调度到相应的node节点上

  • ControllerManager :
    负责维护集群的状态,比如程序部署安排、故障检测、自动扩展、滚动更新等

  • Etcd :负责存储集群中各种资源对象的信息

    • Etcd被形容为Kubernetes集群的大脑,是 Kubernetes的关键组件,因为它存储了集群的整个状态:其配置,规格以及运行中的工作负载的状态。 我们可以直接把 etcd 的数据存储理解为一个有序的 map,它存储着 key-value 数据。
    • Etcd主要由四个部分组成:HTTP Server、Store、Raft以及WAL
  • node:集群的数据平面,负责为容器提供运行环境 ( 干活 )

Kubelet : 负责维护容器的生命周期,即通过控制docker,来创建、更新、销毁容器
KubeProxy : 负责提供集群内部的服务发现和负载均衡
Docker : 负责节点上容器的各种操作

在这里插入图片描述

Kubernetes 特点

  • 可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)

  • 可扩展: 模块化, 插件化, 可挂载, 可组合

  • 自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展

Pod是什么?

* 每个 Pod 都有一个唯一的 IP 和主机名,并且在同一个 Pod 中,容器可以通过 localhost 相互通信
* k8s中的最小部署单元,不是一个程序/进程,而是一个环境, 其中可以运行1个或多个container(docker或其他容器),在一个pod内部的container共享所有资源,包括共享pod的ip:port和磁盘
* pod是临时性的,用完即丢弃的
* 具有共享存储/网络/UTS/PID的能力以及运行容器的规范

Kubernetes集群里的三种IP地址

  1. Node IP
    • 工作节点哪台机器上的IP(可能是物理机的IP也可能是虚拟机的IP ),每个service都会在node节点上开通一个端口,外部可以通过NodeIP:NodePort来访问service中的pod
    • pod和集群外通信,要借助于node ip
  2. Pod IP
    • 它是Docker Engine根据docker网桥的IP地址段进行分配的,通常是一个虚拟的二层网络
    • 同Service下的pod可以直接根据PodIP相互通信
  3. Cluster IP
    • Service的IP地址,此为虚拟IP地址。外部网络无法ping通,只有kubernetes集群内部访问使用
    • 不同Service下的pod在集群间pod通信要借助于 cluster ip

三种IP网络间的通信
service地址和pod地址在不同网段,service地址为虚拟地址,不配在pod上或主机上,外部访问时,先到Node节点网络,再转到service网络,最后代理给pod网络

K8S的常用指令

  • kubectl get namespace --查看当前有哪些namespace

  • kubectl get ns default --指定查看某一个namespace

  • kubectl create -f pod-command.yaml -n default --拉取镜像(创建新的,如果已存在就会报错)

  • kubectl apply -f pod-command.yaml -n default --拉取镜像(有就更新,没有就创建)

  • kubectl delete pod mount-docker-sock -n attacktest --删除镜像

  • kubectl describe pod pod-base -n dev --查看pod运行信息错信息

  • kubectl exec -it mount-docker-sock-8644f59ff8-qkdcz bash -n attacktest --进入容器

  • kubectl delete deployment mount-docker-sock -n attacktest --删除deployment

  • kubectl cp 宿主机文件夹路径 ns名称/pod名称:/ --从宿主机复制到容器内

  • kubectl edit deployment/kspm-controller – 修改deployment运行的yaml文件

标签:kubectl,Kubernetes,容器,--,IP,集群,Tips,K8s,pod
From: https://blog.csdn.net/weixin_45630387/article/details/136824566

相关文章

  • K8S集合
    1.什么是k8s,有什么用处?k8s是容器化编排管理工具。可以用来完成以下一些主要功能:基于容器的应用部署、维护和滚动升级。负载均衡和服务发现:跨机器和跨地区的集群调度。自动伸缩。广泛的Volume支持。插件机制保证扩展性2.工作节点NodeNode是K8S集群中的工作负载节点,每个No......
  • 猫头虎分享已解决Bug || Error: ImagePullBackOff (K8s)
    博主猫头虎的技术世界......
  • K8s的概念
    Kubernetes(简称K8s)是一个开源的容器编排系统,由Google开发,用于管理容器化的应用程序。K8s在Docker技术的基础上,提供了应用部署、资源调度、服务发现和动态伸缩等一系列功能,提高了大规模容器集群管理的便捷性。它能够自动化地部署、扩展和管理容器应用,还可以监控容器......
  • Hero Talk|无缝扩展:Kubernetes 上的 Amazon Aurora 分片和流量管理
    亚马逊云科技DataHero潘娟正在打开开源之门。作为“2020中国开源先锋人物”以及“2021OSCAR尖峰开源人物”奖项获得者,她致力于赋能数据领域的开发者,助力他们把握先机。在亚马逊云科技re:Invent2023大会上,潘娟就Kubernetes上的 Amazon Aurora 分片和流量管理发表了精......
  • 处理K8S镜像无法拉取问题
    问题原因国内无法直接访问镜像地址,改为国内地址即可#!/bin/bash#downloadk8s1.28.8images#getimage-listby'kubeadmconfigimageslist--kubernetes-version=v1.15.2'#gcr.azk8s.cn/google-containers==k8s.gcr.ioimages=(kube-apiserver:v1.28.8kube-contr......
  • Kubernetes 新手实战指南 - 多节点集群部署
    简介Kubernetes是一个用于管理容器化应用程序的开源平台。它提供了一种声明式的方式来部署、管理和扩展应用程序,同时确保高可用性和可扩展性。在本文中,我们将逐步指导您设置一个Kubernetes多节点集群,即使您是Kubernetes的新手。先决条件至少三台具有root权限的Li......
  • K8s 集群高可用 master 节点故障如何恢复? 原创
    K8s集群高可用master节点故障如何恢复?原创 山河已无恙 山河已无恙 2024-03-1702:01 内蒙古 听全文写在前面很常见的集群运维场景,整理分享博文内容为简单记录K8s集群高可用 master 节点故障恢复过程理解不足小伙伴帮忙指正不必太纠结于当下,也不必太忧......
  • kubernetes的kubectl命令介绍
    前言:kubectl是Kubernetes命令行工具,用于与Kubernetes集群进行交互。它允许用户执行各种操作,包括管理容器、部署应用程序、查看集群状态等。kubectl是操作k8s集群的命令行工具,安装在k8s的master节点,kubectl在$HOME/.kube目录中查找一个名为config的文件,你可以通过设置Kube......
  • kubernetes中的内存表示单位Mi和M的区别
    官网解释:Meaningofmemory,Mi表示(1Mi=1024x1024),M表示(1M=1000x1000)(其它单位类推,如Ki/KGi/G)创建两个pod,一个申请1Mi,另一个申请1MTRANSLATEwithxEnglishArabicHebrewPolishBulgarianHindiPortugueseCatalanHmongDawRomanianChines......
  • k8s 查看容器资源使用率
    dockerstats1b4043389e79CONTAINERIDNAMECPU%MEMUSAGE/LIMITMEM%NETI/OBLOCKI/OPIDS1b4043389e79k8s_xxx-node_xxxx-node-1_default_6cef3b8e-e1f8-11ee-b58d-060eb4000e9d_01.02%3.021GiB/16GiB18.88%0B/......