K8S(Kubernetes)

重要定义

kubernetes

Kubernetes 是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。

etcd

etcd 是兼具一致性和高可用性的键值数据库,可以作为保存 Kubernetes 所有集群数据的后台数据库。

configMap

存储配置文件,实际内容存在 etcd 中,kubernetes通过ConfigMap来实现对容器中应用的配置管理。
使用时, Pods 可以将其用作环境变量、命令行参数或者存储卷中的配置文件。

secret

类似configMap,用来保存敏感信息,例如密码、OAuth 令牌和 SSH 密钥

spec(Kubernetes 对象规约)

创建 Kubernetes 对象时,必须提供对象的规约,用来描述该对象的期望状态, 以及关于对象的一些基本信息(例如名称)。 当使用 Kubernetes API 创建对象时(或者直接创建,或者基于kubectl), API 请求必须在请求体中包含 JSON 格式的信息。 大多数情况下,需要在 .yaml 文件中为 kubectl 提供这些信息。 kubectl 在发起 API 请求时,将这些信息转换成 JSON 格式。

namespace(命名空间)

Kubernetes 支持多个虚拟集群,它们底层依赖于同一个物理集群。 这些虚拟集群被称为命名空间。命名空间是在多个应用之间划分集群资源的一种方法

Node(节点)

Kubernetes 中的工作机器称作节点。Kubernetes 通过将容器放入在节点(Node)上运行的 Pod 中来执行你的工作负载。 节点可以是一个虚拟机或者物理机器,取决于所在的集群配置。 每个节点包含运行 Pods 所需的服务;

deployment

Deployment 是管理应用副本的 API 对象,通常通过运行没有本地状态(无状态)的Pods来实现,Deployment 很适合用来管理你的集群上的无状态应用,Deployment 中的所有 Pod 都是相互等价的,并且在需要的时候被换掉。

statefulSet

StatefulSet 让你能够运行一个或者多个以某种方式跟踪有状态的 Pods。StatefulSet 用来管理某 Pod 集合的部署和扩缩, 并为这些 Pod 提供持久存储和持久标识符,用到了共享存储。类似运行一个MySQL集群,

DaemonSet

DaemonSet确保 Pod 的副本在集群中的一组节点上运行。确保集群中每个(部分)node运行一份pod副本,当node加入集群时创建pod,当node离开集群时回收pod。如果删除DaemonSet,其创建的所有pod也被删除,DaemonSet中的pod覆盖整个集群。

Job 、CronJob。

定义一些一直运行到结束并停止的任务。Job 是需要运行完成的确定性的或批量的任务。Job 用来表达的是一次性的任务。而 CronJob 会根据其时间规划反复运行。

操作命令

干净移除node节点

kubectl drain $node_name --delete-emptydir-data --force --ignore-daemonsets  ##将节点标记为不可调度并驱逐所有负载
kubectl delete node $node_name  ##删除
##在已移除节点上操作
kubeadm reset ##重置节点安装状态

解除node节点不可调度并驱逐所有负载的标记

kubectl uncordon $node_name

创建命名空间

kubectl create namespace 命名空间名字

暴露应用,外部可访问到集群内

kubectl expose deployment/部署应用名 --type=“NodePort” --port 当前容器内部端口
当前容器内部端口可通过 kubectl describe deployment/部署应用名 查看

扩展或缩放集群(增加或减少pod)

kubectl scale deployments/部署应用名 --replicas=最终的pod数量

修改应用镜像(升级为最新版本镜像)

kubectl set image deployments/部署应用名 部署应用名=新镜像

应用回滚到上一版本(新镜像不能用,有错误)

kubectl rollout undo deployments/部署应用名

创建configMap

kubectl create configmap 配置集合名 --from-literal(直接指定键值对) 键名=键值
kubectl create configmap 配置集合名 --from-file(使用现有文件内容)=配置文件地址

创建secret

kubectl create secret generic(通用的) 密钥集合名 --from-literal username=bob --from-literal password=bobpwd

参考文档: kubernetes官方文档

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值