Kubernetes基础
·
目录
前言:
今天我将分享关于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文件具有一定的认识和编写能力,希望对读者们有所帮助!
更多推荐
所有评论(0)