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文件具有一定的认识和编写能力,希望对读者们有所帮助!

相关推荐
@insist1239 小时前
系统集成项目管理工程师-安全架构与云原生架构
云原生·架构·软考·安全架构·系统集成项目管理工程师·软考中项·软件水平考试
阿里云云原生12 小时前
一张告警卡片到一键 RCA:塔斯汀万店连锁的智能运维闭环实践
云原生
坐吃山猪13 小时前
Docker07-MySQL
mysql·docker·容器
Kismet_nvi14 小时前
《Kubernetes Service 进阶、kube-proxy 与 Ingress 实战精要》
云原生·容器·kubernetes
Crazy________16 小时前
Redis03:持久化存储,大key分析,主从复制及哨兵模式
数据库·redis·容器
Zhu75816 小时前
使用helm在k8s集群部署MySQL单实例,支持当前所有主版本的最新子版本
mysql·adb·kubernetes
2401_8346369916 小时前
从零吃透 K8s 网络:ServiceIngressMetalLB 实操手册
网络·容器·kubernetes
SLD_Allen17 小时前
HxApisix 云原生 API 网关的架构设计与 AI 集成实践(THS)
人工智能·网关·云原生·apisix
云烟成雨TD18 小时前
Micrometer 系列【39】链路追踪:入门案例 | 环境准备
java·云原生·链路追踪