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

相关推荐
做运维的阿瑞1 小时前
EKS 可销毁环境:集群创建、应用部署到账单归零
云原生·云计算·terraform
每天一道题1 小时前
微服务为什么会变慢?从 QPS、P99 到 Trace 与性能瓶颈
微服务·云原生·架构
牛马工作号1 小时前
Copyparty 轻量文件共享:Docker Compose 部署、权限与多协议使用全指南
运维·docker·容器
oioihoii3 小时前
Windows部署MySpeed自建测速服务:Docker运行后直接测速,再配置固定公网地址远程查看
运维·docker·容器
时间售卖铺3 小时前
MySQL事务ACID与隔离级别深度解析
运维·数据库·mysql·云原生
SatanII3 小时前
Kubernetes 认证与授权详解:守护集群API访问安全
安全·贪心算法·kubernetes
每天一道题4 小时前
微服务为什么会发生级联故障?从 Timeout、Retry 到熔断、限流与 Backpressure
微服务·云原生·架构
无心水4 小时前
15、云原生架构设计理论与实践 核心考点与学习笔记
笔记·学习·云原生·架构师·软考·系统架构设计师·软考系统架构设计师
闲云野鹤在人间4 小时前
头秃修炼手册:StorageClass+StatefulSet+ETCD 全套渡劫笔记
linux·数据库·笔记·云原生·kubernetes·etcd
艾伦_耶格宇5 小时前
【kubernetes - 1.28版本】-7 K8S命令
云原生·容器·kubernetes