企业实战--kubernetes(二)---pod命令行方式管理

零基础学kubernetes(k8s)必看教程,带你10分钟快速实战入门k8s 作为一个工作十余年,拥有比较丰富的计算机网络运维、主机运维、云计算平台运维、自动化运维开发经验的老鸟,我来说说我当初刚接触Kubernetes时的一些感受以及学习技巧。 阅读详情

一、Pod是什么

Pod是Kubernetes中能够创建和部署的最小单元,是Kubernetes集群中的一个应用实例,总是部署在同一个节点Node上。Pod中包含了一个或多个容器,还包括了存储、网络等各个容器共享的资源。Pod支持多种容器环境,Docker则是最流行的容器环境。

单容器Pod,最常见的应用方式。
多容器Pod,对于多容器Pod,Kubernetes会保证所有的容器都在同一台物理主机或虚拟主机中运行。多容器Pod是相对高阶的使用方式,除非应用耦合特别严重,一般不推荐使用这种方式。一个Pod内的容器共享IP地址和端口范围,容器之间可以通过 localhost 互相访问。

Pod带来的好处

Pod并不提供保证正常运行的能力,因为可能遭受Node节点的物理故障、网络分区等等的影响,整体的高可用是Kubernetes集群通过在集群内调度Node来实现的。通常情况下我们不要直接创建Pod,一般都是通过Controller来进行管理,但是了解Pod对于我们熟悉控制器非常有好处。
Pod做为一个可以独立运行的服务单元,简化了应用部署的难度,以更高的抽象层次为应用部署管提供了极大的方便。
Pod做为最小的应用实例可以独立运行,因此可以方便的进行部署、水平扩展和收缩、方便进行调度管理与资源的分配。
Pod中的容器共享相同的数据和网络地址空间,Pod之间也进行了统一的资源管理与分配。

Kubernetes中Pod控制器

pod的管理主要有RC(RS)、Deployment、StatefulSet、DaemonSet和Job(CronJob)等

Replication Controller

Replication Controller简称RC,简单来说,RC可以保证在任意时间运行Pod的副本数量,能够保证Pod总是可用的。总维持pod是指定的副本数量运行。

Replication Set
Replication Set简称RS,随着Kubernetes的发展,RS在RC的基础上做了一些扩展,官方已经推荐使用RS和Deployment来代替RC了。

apiVersion: v1
kind: ReplicationController/Replication Set
metadata:
  name: rc-test
  labels:
    name: rc
spec:
  replicas: 3
  selector:
    name: rc
 ...................................

Deployment

主要职责和RC一样的都是保证Pod的数量和健康,二者大部分功能都是完全一致的,可以看成是一个升级版的RC控制器。比如一些官方组件kube-dns、kube-proxy也都是使用的Deployment来管理的.

新特性如下:

RS的全部功能:Deployment具备上面描述的RC的全部功能
事件和状态查看:可以查看Deployment的升级详细进度和状态
回滚:当升级Pod的时候如果出现问题,可以使用回滚操作回滚到之前的任一版本
版本记录:每一次对Deployment的操作,都能够保存下来,这也是保证可以回滚到任一版本的基础
暂停和启动:对于每一次升级都能够随时暂停和启动

  apiVersion: apps/v1beta1
    kind: Deployment
    metadata:
      name: test
      labels:
        k8s-app: test
    spec:
      replicas: 3
      template:
        metadata:
          labels:
            app: mysql
      ....................................

DaemonSet

DaemonSet适用于在每个Node都需要运行一个Pod的时候使用,比如:每一个Node上运行一个日志采集、性能监控的Pod,可以通过DaemonSet来实现

  apiVersion: apps/v1
    kind: DaemonSet
    metadata:
      name: node-ds-test
    spec:
      selector:
        matchLabels:
          name: node-ds-test
      template:
        metadata:
          labels:
    ...........................

StatefulSet

StatefulSet是Kubernetes提供的管理有状态应用的负载管理控制器API。在Pods管理的基础上,保证Pods的顺序和一致性。与Deployment一样,StatefulSet也是使用容器的Spec来创建Pod,与之不同StatefulSet创建的Pods在生命周期中会保持持久的标记

  apiVersion: apps/v1
    kind: StatefulSet
    metadata:
      name: web
    spec:
      serviceName: "nginx"
      replicas: 2
      selector:
         matchLabels:
           app: nginx
      template:
        metadata:
    ...........................

Job/CronJob

K8S中,通常用Job来创建一个任务,注意job是执行一个的任务。如需要任务定时周期的去执行。CronJob就出场了,CronJob其实就是在Job的基础上加上了任务调度。

apiVersion: batch/v1
kind: Job/CronJob
metadata:
  name: job-test
spec:
  template:
    metadata:
      name: job-test
    spec:
      restartPolicy: Never

二、通过命令来管理pod

官方推荐我们使用yaml文件的形式来管理pod,我们先用命令的方式来管理pod:

以下就是一些常用的kubectl管理命令

#查看所有 pod 列表,  -n 后跟 namespace, 查看指定的命名空间  -o wide 查看详细信息
kubectl get pod
kubectl get pod -n kube  
kubectl get pod -o wide


# 查看 RC 和 service 列表, -o wide 查看详细信息
kubectl get rc,svc
kubectl get pod,svc -o wide  
kubectl get pod <pod-name> -o yaml


# 显示 Node 的详细信息
kubectl describe node server2


# 显示 Pod 的详细信息, 特别是查看 pod 无法创建的时候的日志
kubectl describe pod <pod-name>
eg:
kubectl describe pod nginx


# 根据 yaml 创建资源, apply 可以重复执行,create 不行
kubectl create -f pod.yaml
kubectl apply -f pod.yaml


# 基于 pod.yaml 定义的名称删除 pod 
kubectl delete -f pod.yaml 


# 删除所有包含某个 label 的pod 和 service
kubectl delete pod,svc -l name=<label-name>


# 删除所有 Pod
kubectl delete pod --all


# 查看 endpoint 列表
kubectl get endpoints


# 执行 pod 的命令
kubectl exec <pod-name> -- date
kubectl exec <pod-name> -- bash
kubectl exec <pod-name> -- ping 172.25.63.1


# 通过bash获得 pod 中某个容器的TTY,相当于登录容器
kubectl exec -it <pod-name> -c <container-name> -- bash
eg:
kubectl exec -it nginx -- bash


# 查看容器的日志
kubectl logs <pod-name>
kubectl logs -f <pod-name> # 实时查看日志
kubectl log  <pod-name>  -c <container_name> # 若 pod 只有一个容器,可以不加 -c 


# 查看注释
kubectl explain pod
kubectl explain pod.apiVersion

# 查看节点 labels
kubectl get node --show-labels

三、pod命令管理实践

创建自主式pod

运行一个pod:

可以使用kubectl run --help查看运行的帮助

[root@server1 ~]# kubectl run nginx --image=nginx
pod/nginx created

查看运行的pod:

[root@server1 ~]# kubectl get pod
NAME    READY   STATUS              RESTARTS   AGE
nginx   0/1     ContainerCreating   0          3m56s

查看默认namespace的pod:

[root@server1 ~]# kubectl get pod -n default
NAME    READY   STATUS    RESTARTS   AGE
nginx   1/1     Running   0          4m31s

查看pod的详细信息:

[root@server1 ~]# kubectl describe pod nginx
Name:         nginx
Namespace:    default
Priority:     0
Node:         server2/172.25.63.2			#这个pod运行在哪个节点上
Start Time:   Sat, 18 Apr 2020 00:43:38 +0800
Labels:       run=nginx					#pod的label
Annotations:  <none>
Status:       Running
IP:           10.244.1.2			#pod的ip地址
IPs:
  IP:  10.244.1.2
Containers:
  nginx:
  ......

此时,集群内部的任意节点可以访问pod,但是集群外部无法直接访问:
现在再运行一个容器来访问nginx:

[root@server1 ~]# kubectl run test -it --image=radial/busyboxplus --restart=Never
If you don't see a command prompt, try pressing enter.
/ # 
/ # curl 10.244.1.2			#访问第一个pod的ip地址即可。

上述命令中--restart=Never表示退出之后不重启,默认会重启。

当pod不使用时可以将其删除

删除pod:

[root@server1 ~]# kubectl delete pod nginx 
pod "nginx" deleted
[root@server1 ~]# kubectl delete pod test 
pod "test" deleted

 

指定pod控制器为deployment

默认创建pod时使用自主式的pod管理器,这种自主创建的pod再删除时会直接删除,我们也可以指定pod管理器deployment来创建pod,这种管理器在pod删除时会帮我们自动启动:

首先用两种方式创建pod:

[root@server1 ~]# kubectl run nginx --image=nginx
pod/nginx created
[root@server1 ~]# kubectl create deployment myapp --image=ikubernetes/myapp:v1deployment.apps/myapp created

查看pod信息:
[root@server1 ~]# kubectl get pod -o wide
NAME                     READY   STATUS              RESTARTS   AGE     IP           NODE      NOMINATED NODE   READINESS GATES
myapp-5d587c4d45-vw5z5   0/1     ContainerCreating   0          13s     <none>       server3   <none>           <none>
nginx                    1/1     Running             0          5m32s   10.244.1.3   server2   <none>           <none>

删除自主pod:
[root@server1 ~]# kubectl delete pod nginx 
pod "nginx" deleted
[root@server1 ~]# kubectl get pod
NAME                     READY   STATUS    RESTARTS   AGE
myapp-5d587c4d45-vw5z5   1/1     Running   0          116s

可以看到已经被删除,接下来删除指定deployment的pod:

[root@server1 ~]# kubectl delete pod myapp-5d587c4d45-vw5z5
pod "myapp-5d587c4d45-vw5z5" deleted
[root@server1 ~]# kubectl get pod
NAME                     READY   STATUS              RESTARTS   AGE
myapp-5d587c4d45-nplqk   0/1     ContainerCreating   0          26s

可以看到删除pod后deployment又帮我们启动了pod。

pod拉伸

基于deployment我们也可以实现拉伸pod的目的:

[root@server1 ~]# kubectl scale --replicas=2 deployment myapp

在这里插入图片描述

拉伸成功,同理也可以实现缩减的效果。

集群内部pod之间访问

此时的pod在集群外部和pod外部并不能被访问,只能在pod内部被访问,要实现集群内部pod外部访问就要借助service,service是一个抽象概念,定义了一个服务的多个pod逻辑合集和访问pod的策略,一般把service成为微服务。

解下来创建service:

[root@server1 ~]# kubectl expose deployment myapp --port=80 --target-port=80
service/myapp exposed

此时pod客户端可以通过service的名称访问后端的两个pod,其中Cluster ip为默认类型,自动分配一个仅集群内部可以访问的虚拟ip。

[root@server1 ~]# kubectl get deployments.apps 
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
myapp   2/2     2            2           7m24s
[root@server1 ~]# kubectl get svc
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP   4h25m
myapp        ClusterIP   10.104.223.76   <none>        80/TCP    32s
[root@server1 ~]# kubectl describe svc myapp 
Name:              myapp
Namespace:         default
Labels:            app=myapp
Annotations:       <none>
Selector:          app=myapp
Type:              ClusterIP
IP:                10.104.223.76
Port:              <unset>  80/TCP
TargetPort:        80/TCP
Endpoints:         10.244.1.4:80,10.244.2.8:80		#两个pod的地址
Session Affinity:  None
Events:            <none>

 

之后测试访问:

[root@server1 ~]# kubectl run test -it --image=radial/busyboxplus
If you don't see a command prompt, try pressing enter.
/ # 
/ # curl 10.104.223.76

在这里插入图片描述

集群外部访问pod

当然这种方式也只能在集群内部访问,要想实现集群外部访问,我们可以使用NodePort类型暴露端口,让外部客户端访问Pod。

NodePort:在ClusterIp基础上为Service在每台机器上绑定一个端口,这样就可以通过NodeIP:NodePort来访问该服务。

由于集群已经创建,因此要实现集群外部访问需要更改集群网络类型:

[root@server1 ~]# kubectl edit svc myapp

将ClusterIp该为NodePort
在这里插入图片描述当然也可以在创建service时加--type=NodePort指定类型。

kubectl expose deployment myapp --port=80 --target-poet=80 --type=NodePort
kubectl get pod -o wide
kubectl get svc myapp

查看暴露出来的端口:

[root@server1 ~]# kubectl get svc myapp
NAME    TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
myapp   NodePort   10.104.223.76   <none>        80:32516/TCP   6m47s

端口为32516,因此可以使用以下方式访问pod:

[root@foundation63 kiosk]# curl 172.25.63.3:32516
Hello MyApp | Version: v1 | <a href="hostname.html">Pod Name</a>
[root@foundation63 kiosk]# curl 172.25.63.2:32516
Hello MyApp | Version: v1 | <a href="hostname.html">Pod Name</a>

pod的应用版本更新和回滚

接下来实现pod的版本更新和回滚:

[root@server1 ~]# kubectl set image deployments myapp myapp=ikubernetes/myapp:v2 --record 
deployment.apps/myapp image updated

查看更新历史:

[root@server1 ~]# kubectl rollout history deployment myapp
deployment.apps/myapp 
REVISION  CHANGE-CAUSE
1         <none>
2         kubectl set image deployments myapp myapp=ikubernetes/myapp:v2 --record=true

查看版本:

[root@server1 ~]# curl 172.25.63.3:32516
Hello MyApp | Version: v2 | <a href="hostname.html">Pod Name</a>

可以看出已经更新成了v2版本。

回滚到v1:

[root@server1 ~]# kubectl rollout undo deployment myapp --to-revision=1
deployment.apps/myapp rolled back

查看版本:

[root@server1 ~]# curl 172.25.63.3:32516
Hello MyApp | Version: v1 | <a href="hostname.html">Pod Name</a>

    

可以看到版本已经回滚到v1了。

通过实例快速掌握k8s(Kubernetes)核心概念 容器技术是微服务技术的核心技术之一,并随着微服务的流行而迅速成为主流。Docker是容器技术的先驱和奠基者,它出现之后迅速占领市场,几乎成了容器的代名词。但它在开始的时候并没有很好地解决容器的集群问题。Kubernetes抓住了这个机遇,以容器编排者(Container Orchestration)的身份出现,对容器集群进行管理和调度,现在已经打败了Docker成为了容器技术事实上的标准。当然K8... 阅读详情

相关推荐

深度学习分类任务中,正负样本比例失衡的5种实战解决方案(附代码)

本文深入探讨了深度学习分类任务中正负样本比例失衡的5种实战解决方案,包括智能采样技术、动态数据增强、损失函数工程、模型架构创新和训练策略优化。针对信用卡欺诈检测、医疗诊断等场景,提供了详细的代码实现和评估方法,帮助开发者有效解决样本不平衡问题,提升模型在真实场景中的表现。

h9j8k7l6m5n的博客 425

Kubernetes API的流编解码器StreamSerializer

从数据流中读取数据并解码API对象的解码器本文命名为流解码器,我们日常说的流是字节流,那么流解码器可以看做是API对象流,每调用一次返回一个API对象。如果想把字节流变成API对象流,首先需要将字节流变成json/yaml/protobuf序列化格式对象流,即先从字节流中读取一个一个的json/yaml/protobuf对象。然后再用解码器将json/yaml/protobuf对象解码成API对象就完成了。...

weixin_42663840的博客 930

AB相增量式编码器以及STM32定时器编码器模式测速/测距离(HAL库)

编码器(Encoder)是一种用于测量旋转运动或位置的设备。编码器通常与定时器模块一起使用,以便在微控制器中获取和计算旋转的脉冲数量,从而确定物体的运动方向和距离。编码器在许多应用中都很有用,例如机器人运动控制、电机位置反馈和位置传感。STM32微控制器提供了多种类型的编码器支持,其中一种常见的编码器类型是增量编码器。增量编码器基于两个脉冲信号通道,通常称为A相和B相。当旋转发生时,这两个信号通道的相位关系会发生变化,从而可以计算出旋转方向和旋转的步数。

嵌入式软件工程师的博客 1万+

【云原生之k8s】K8s 管理工具 kubectl 详解(一)

resource可以是具体资源名称,如"pod nhinx-xxx";也可以是资源类型,如“pod,node,svc,deploy”多种资源使用逗号间隔;或者all(仅展示几种核心资源,并不完整)直接使用kubectl edit service nginx-service在线编辑配置资源清单并保存退出即时生效(如port: 888)注意:当apply不生效时,先使用delete清除资源,再apply创建资源。获取资源的相关信息,-n指定命名空间,-o指定输出格式。#namespace可以缩写成ns。...

weixin_67582338的博客 2456

避坑指南:用逐飞开源库驱动MT9V03X摄像头时容易忽略的3个细节(附TFT显示优化技巧)

本文详细解析了在智能汽车竞赛中使用MT9V03X摄像头(总钻风)时常见的硬件连接、图像采集和TFT显示优化问题。重点介绍了逐飞开源库中容易被忽略的三个关键细节,包括电源管理、看门狗设置和中断优先级配置,并提供了针对IPS200和TFT180显示屏的优化技巧,帮助参赛队伍提升图像处理效率和显示质量。

study的专栏 744

思科模拟器实战:MQTT协议实现物联网设备通信全流程解析

本文详细解析了如何在思科模拟器中利用MQTT协议实现物联网设备通信的全流程。通过搭建网络拓扑、配置MQTT Broker与客户端,并编写发布/订阅逻辑,手把手指导读者完成一个“开关控制电灯”的经典物联网场景实验,帮助零成本掌握物联网通信核心。

weixin_29294975的博客 382

Kubectl基本操作命令

创建对象 通过yaml文件创建: kubectl create -f xxx.yaml (不建议使用,无法更新,必须先delete) kubectl apply -f xxx.yaml (创建+更新,可以重复使用) 删除对象 通过yaml文件删除: kubectl delete -f xxx.yaml 查看kube-system namespace下面的pod/svc/deployment 等等 ...

互联网的修罗场 3万+

8、鼠疫流行过程的计算机建模介绍

本博文介绍了一种基于概率细胞自动机和蒙特卡罗方法的计算机模型,用于模拟由大沙鼠传播的鼠疫流行过程。结合GIS和遥感技术,该模型能够分析鼠疫在不同聚居地类型和季节变化下的传播特征,揭示了群落密度、分布及流行接触率对鼠疫传播的影响。研究还验证了模型与自然流行过程的一致性,并探讨了鼠疫在宿主数量低谷时的持续机制。模型为鼠疫防控和流行病研究提供了定量分析工具。

x2y3z4a5b的博客 107

k8s命令扫盲

流量转发:NodePort 服务将来自外部的请求流量转发到后端 Pod 的对应端口,从而实现对服务的访问。以上配置定义了一个名为 "my-ingress" 的 Ingress 对象,在域名 "example.com" 下,将以 "/app" 路径前缀的请求转发到名为 "my-service" 的服务的端口 8080 上。在 Kubernetes 中,NodePort 是一种服务类型(Service Type),它允许你将集群中的某个服务公开到集群外部,并通过节点的 IP 地址和指定的端口进行访问。

techdashen的博客 2484

Windows配置L2TP/IPsec连接

Windows 系统的 L2TP/IPsec 功能,通过配置即可构建加密 VPN 通道。

m0_61806534的博客 1668

【U-Net 数据集制作】如何制作自己的图像分割数据集?(标注与格式转换),图像分割数据集制作与转换神器

在前面的课程中,我们像搭积木一样手写了 U-Net 的网络架构。很多同学迫不及待地想把自己的图片喂进网络开始“炼丹”。但是,深度学习界有一句名言:“数据决定了模型的上限,而网络结构只是在逼近这个上限。用标注工具标出来的是 JSON 文件,怎么变成 U-Net 需要的黑白掩码(Mask)图?为什么我的 Mask 肉眼看是黑白的,一放进 PyTorch 训练就报?如何快速按 8:2 的比例把几千张图片和标签划分成训练集和验证集?

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 195

K8S的常见命令小解

掌握 Kubernetes 的常用命令是高效管理和操作集群的基础。通过本文的介绍,您已经了解了kubectl的基本用法、Pods、Service、Persistent Volume、Port Forwarding、Helm 以及其他常用命令的详细操作方法。此外,结合命令分析与最佳实践,可以进一步提升您的工作效率和集群管理能力。

远方雪的专栏 1885

C++和OpenGL实现3D游戏编程【连载7】——文字和汉字的显示(附源码)

上一节我们讨论了纹理在二维平面内不规则图形贴图的相关基础操作,本节我们开始了解游戏里文字以及汉字的显示方法。本节课我们将从基本的ASCII字符显示,拓展到中文字符的显示,最后再讲到纹理字符的显示,并对各种文字显示方法的优缺点和使用场景进行分析,这节课将使用到显示列表、兼容视图、屏幕图形转纹理等操作。

zhooyu的博客 1499

Kubernetes超详细教程,一篇文章帮助你从零开始学习k8s,从入门到实战

10w+的Kubernetes详细教程,涵盖k8s中常用的所有概念以及面试的高频问点(pod的深入理解),帮助你从零开始学习k8s,搭建k8s集群,从入门到实战,希望对大家学习k8s有所帮助

一弓虽的博客 6万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

k8s企业级应用系列(二):对象管理及Pod原理

Pod在其生命周期内只能被调度一次,一旦Pod被调度到某个节点上,将一直运行到被终止。Pod自身不具备自愈能力,如果Pod所在节点出现故障,Pod会被删除。即先创建一个父容器Infra,然后在创建子容器myapp时,指定需要加入的父容器Infra,如。此外,我们可以为应用容器设置回调函数,在容器启动和终止时操作。当init容器运行完成后,它的生命周期也就结束了,然后被k8s回收。通过命名空间,将资源分组,分组间相互隔离。,默认情况下,该字段为true,表示不删除。的根容器,Pod中其他的容器都会被加入到。

汝飞@大模型 的博客 2354

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Kubernetes(k8s)基础入门

K8S是Kubernetes的全称,官方称其是across multiple hosts. It provides basic mechanisms for deployment, maintenance, and scaling of applications. 用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。容器就是一个包,其中包含了应用及其所有依赖。容器中的应用与主机系统是隔离的,不关注环境。

沉浸式Study 1万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

k8s与pod概念

此文章为学习过程中根据网上资源整合总结 文章目录1 为什么需要k8s1.1 应用部署模式的演进1.11 模式对比1.12 各模块介绍1.2 管理大量的容器----k8s2 ks8的集群架构3 pod---k8s调度的最小单元3.1 一个 pod 包含一组容器,一个 pod 不会跨越多个工作节点3.2 pod是什么 1 为什么需要k8s 1.1 应用部署模式的演进 1.11 模式对比 虚拟化模式: 容器化模式: 1.12 各模块介绍 【虚拟机】 是一种高度隔离的软件容器,它可以运行自己的操作系统和应用.

qq_33712668的博客 1万+

Kubernetes核心概念实战:Pod、Deployment、Service深度解析

本文深入解析Kubernetes三大核心概念:Pod、Deployment和Service。Pod作为最小调度单元,本质是共享上下文的容器组;Deployment实现声明式副本管理,支持滚动更新和自动扩缩容;Service提供稳定的网络端点,实现负载均衡。文章包含SpringCloud微服务在K8s的完整部署方案,从资源优化到故障排查的全流程实践,并探讨了K8s未来演进方向。作者基于13年Java开发经验,强调理解K8s设计哲学的重要性,指出声明式配置、控制器模式和解耦抽象是云原生架构的核心原则,为开发者提

七夜zippoe的博客 780

Linux企业运维——Kubernetes(二)Pod管理

Linux企业运维——Kubernetes(二)Pod管理 (临时笔记,以后会详细修补) 文章目录Linux企业运维——Kubernetes(二)Pod管理1、Pod简介2、Pod管理2.1、Pod创建与使用2.2、Pod扩容缩容2.3、Pod中镜像的滚动更新 1、Pod简介 Pod是可以创建和管理Kubernetes计算的最小可部署单元,一个Pod代表着集群中运行的一个进程,每个pod都有一个唯一的ip。 一个pod类似一个豌豆荚,包含一个或多个容器(通常是docker),多个容器间共享IPC、Netwo

weixin_44310047的博客 652

【kubernetes】认识K8S基础理论

K8S 是属于主从设备模型(Master-Slave 架构),即有 Master 节点负责集群的调度、管理和运维,Slave 节点是集群中的运算工作负载节点。在 K8S 中,主节点一般被称为 Master 节点,而从节点则被称为 Worker Node 节点,每个 Node 都会被 Master 分配一些工作负载。Master 组件可以在群集中的任何计算机上运行,但建议 Master 节点占据一个独立的服务器。

liu_xueyin的博客 2454

从 Pod 核心原理到 Rancher 实战:K8s 容器管理全解析

Kubernetes(K8s)作为容器编排领域的事实标准,Pod 是其最小部署单元,理解 Pod 的核心原理是掌握 K8s 的基础;而 Rancher 作为企业级多集群 K8s 管理平台,能大幅降低 K8s 运维复杂度。本文将从 Pod 的核心原理入手,结合实操案例拆解关键配置,再通过 Rancher 实战讲解 K8s 集群的可视化管理,帮助读者打通 “原理 - 实操 - 管理” 的全链路。

dfl2504的博客 799

企业 Kubernetes pod管理

pod 命令 建立pod 删除pod Deploment service 镜像版本更新和版本回退

Howei__的博客 460

Kubernetes(k8s)服务介绍

Kubernetes,又称为 k8s(首字母为 k、首字母与尾字母之间有 8 个字符、尾字母为 s,所以简称 k8s),是一种可自动实施 Linux 容器操作的开源平台。它可以帮助用户省去应用容器化过程的许多手动部署和扩展操作。也就是说,您可以将运行 Linux 容器的多组主机聚集在一起,由 Kubernetes 帮助您轻松高效地管理这些集群。而且,这些集群可跨公共云、私有云或混合云部署主机。因此,对于要求快速扩展的云原生应用而言(例如借助 Apache Kafka 进行的实时数据流处理),Kubernet

shenyuanhaojie的博客 5086

k8s(Kubernetes)是什么?

Kubernetes(简称k8s)是一个开源的容器编排平台,用于自动化容器化应用程序的部署、扩展和管理。它由Google设计并捐赠给Cloud Native Computing Foundation(CNCF)来维护。Kubernetes源自Google多年运行容器化工作负载的经验,其设计目标是提供一个用于自动部署、扩展、以及运行应用程序容器的平台,无论运行环境是公有云、私有云还是混合云。

常备不懈 1868

企业项目实战k8s篇(二)pod管理与资源清单

pod管理与资源清单一.pod管理1.pod简介2.pod常用操作二.资源清单 一.pod管理 1.pod简介 Pod是可以创建和管理Kubernetes计算的最小可部署单元,一个Pod代表着集群中运行的一个进程,每个pod都有一个唯一的ip。 一个pod类似一个豌豆荚,包含一个或多个容器(通常是docker),多个容器间共享IPC、Network和UTC namespace。 2.pod常用操作 查看namespaces,default为默认 kubectl get namespaces 创建de

qq_42003848的博客 482

视频教程-Kubernetes/K8S企业容器云平台入门与进阶实战-Docker/K8S

Kubernetes/K8S企业容器云平台入门与进阶实战 资深DevOps工...

weixin_28722443的博客 899
上一篇: 企业实战--kubernetes(一)--kubeadm方式部署集群
下一篇: 企业实战--kubernetes(三)---资源清单方式创建pod
chihtung_hsu
博客等级 码龄7年 42粉丝 122原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值