Kubernetes基础

目录

前言:

[一.Kubernetes 操作管理概述](#一.Kubernetes 操作管理概述)

1.管理操作分类

2.陈述式资源管理方法

2.1基本原理

2.2.基础信息查看命令

2.3.基本资源查看命令

2.4.命名空间操作

2.5.创建Deloyment(副本控制器)

2.6.登陆容器与删除Pod

2.7.扩缩容与删除

二.项目生命周期管理

[1.创建阶段(kubectl create)](#1.创建阶段(kubectl create))

[2.发布阶段(kubectl expose)](#2.发布阶段(kubectl expose))

[3.更新阶段(kubectl set)](#3.更新阶段(kubectl set))

[4.回滚阶段(kubectl rollout)](#4.回滚阶段(kubectl rollout))

[5.删除阶段(kubectl delete)](#5.删除阶段(kubectl delete))

三.发布策略

四.声明式资源管理方法

1.基本原理

2.查看与解释配置清单

3.修改资源配置清单并应用

4.删除资源配置清单

总结

前言:

今天我将分享关于k8s的相关基础命令操作、项目生命周期管理、发布策略,以及声明式资源管理方法。

一.Kubernetes****操作管理概述

1.管理操作分类

Kubernetes 的管理操作分为两大类:
陈述式(命令式)管理方法
声明式(配置清单式)管理方法

2.陈述式资源管理方法

2.1基本原理

Kubernetes 集群资源管理的唯一入口是通过调用 apiserver 的接口。
kubectl 是官方 CLI 命令行工具,用于与 apiserver 通信,将用户命令转化为 apiserver 能识别的
请求,实现集群资源管理。
查看 kubectl 命令大全:

对资源的 " 增、删、查 " 操作较方便,但 " 改 " 操作相对复杂

2.2.基础信息查看命令

集群与版本信息:

命令自动补全与版本查看:

2.3.基本资源查看命令

  • n 指定命名空间
  • o 指定输出格式
    -- all - namespaces :显示所有命名空间
    -- show - labels :显示所有标签
  • l app=nginx :筛选指定标签的资源
    例如:

2.4.命名空间操作

2.5.创建Deloyment(副本控制器)

2.6.登陆容器与删除Pod

2.7.扩缩容与删除

二.项目生命周期管理

项目的生命周期包括:
创建 → 发布 → 更新 → 回滚 → 删除

1.创建阶段(kubectl create)

2.发布阶段(kubectl expose)


service类型:

端口类型:
● port
port 是 k8s 集群内部访问 service 的端口,即通过 clusterIP: port 可以从 Pod 所在的 Node 上访问到service
● nodePort
nodePort 是外部访问 k8s 集群中 service 的端口,通过 nodeIP: nodePort 可以从外部访问到某个
service
● targetPort
targetPort 是 Pod 的端口,从 port 或 nodePort 来的流量经过 kube-proxy 反向代理负载均衡转发到后端 Pod 的 targetPort 上,最后进入容器
● containerPort
containerPort 是 Pod 内部容器的端口, targetPort 映射到 containerPort
查看网络状态与服务端口

访问日志:

3.更新阶段(kubectl set)

4.回滚阶段(kubectl rollout)

5.删除阶段(kubectl delete)

三.发布策略

金丝雀发布( Canary Release )
Deployment 控制器支持自定义控制更新过程中的滚动节奏,如 " 暂停 (pause)" 或 " 继续 (resume)" 更新操作。比如等待第一批新的Pod 资源创建完成后立即暂停更新过程,此时,仅存在一部分新版本的应用,主体部分还是旧的版本。然后,再筛选一小部分的用户请求路由到新版本的Pod 应用,继续观察能否稳定地按期望的方式运行。确定没问题之后再继续完成余下的Pod 资源滚动更新,否则立即回滚更新操作。这就是所谓的金丝雀发布。
注意:
这里还有滚动发布,灰度发布,蓝绿发布,以及重建发布,可以自行了解。

四.声明式资源管理方法

1.基本原理

适合于对资源的修改操作
声明式资源管理方法依赖于资源配置清单文件对资源进行管理
资源配置清单文件有两种格式:yaml (人性化,易读), json (易于 api 接口解析)
对资源的管理,是通过事先定义在统一资源配置清单内,再通过陈述式命令应用到 k8s 集群里
语法格式: kubectl create/apply/delete -f xxxx.yaml

2.查看与解释配置清单

3.修改资源配置清单并应用

4.删除资源配置清单

陈述式删除:

声明式删除:

总结:

今天主要是讲解了关于Kubernetes的基础命令、项目生命周期管理、发布策略以及声明式资源管理,需要注意的是,声明式资源管理需要我们对yaml文件具有一定的认识和编写能力,希望对读者们有所帮助!

相关推荐
openFuyao9 小时前
新增Agent沙箱调度能力!openFuyao v26.09社区发行版上线,AI原生基础设施能力进一步升级
云原生·ai-native·ai推理·openfuyao·多样化算力集群软件
谢亮_vipxieliang9 小时前
Kubernetes 1.36 深度解读:从 kubelet 安全到 GPU 原生调度的 70 项改进
安全·kubernetes·kubelet
阿里云云原生11 小时前
云效工作项智能优化:先澄清,再开工
云原生
阿里云云原生12 小时前
阿里云日志服务 SLS 全新升级,打造 Agent 时代的智能数据引擎
云原生
阿里云云原生12 小时前
从“治已病”到“治未病”:浩瀚能源与阿里云共建充电补能异地双活高可用体系实践
云原生
wzq11_66612 小时前
kubernetes集群——灰度发布
云原生·容器·kubernetes
阿里云云原生14 小时前
阿里云发布 Alibaba Cloud AI Agent Handbook,阐述“智能面积”
云原生
灯澜忆梦15 小时前
【docker】#1 | Docker 初识
运维·docker·容器
骑着蜗牛撵大象32716 小时前
穿越 Docker 内核迷雾:镜像分层的叠加态与卷挂载的空间穿梭
运维·docker·容器·联合文件系统·卷挂载·镜像分层·存储驱动
吴声子夜歌17 小时前
Docker入门与实战——Docker数据管理
docker·容器