关注分享主机优惠活动
国内外VPS云服务器

K8S常用命令(k8s启动后)

总结:负载均衡将私有集群地址分配给一组副本,负载均衡将请求转发到后端容器。 在节点上实现网络代理来维护网络规则和四层负载平衡。

1. Kubernetes 概述

Kubernetes 是 Google 于 2014 年 6 月开源的容器集群管理系统。 使用Go语言开发。 Kubernetes 也称为 K8S。 。 K8S源自Google内部一个名为Borg的容器集群管理系统。 Borg 在 Google 花了 10 年时间进行大规模生产和运营。 K8S主要用于容器应用的自动化部署、伸缩和管理,提供资源调度、部署管理、服务发现、伸缩和监控等一整套功能。 2015年7月,Kubernetes v1.0正式发布。 截至2017年9月29日的最新稳定版本是v1.8.0。 Kubernetes 的目标是让容器化应用程序的部署变得简单高效。
官网:www.kubernetes.io

Kubernetes主要特点:1.数据量

利用这个可以在容器之间共享数据。数据量。

2.应用健康检查

容器内的服务可能被阻塞,无法处理请求。 您可以设置监控和检查策略以确保应用程序的稳健性。

3.应用实例副本

控制器维护一个Pod的多个副本,以确保一个Pod或一组类似的Pod始终可用。

3.我会的。

4.弹性伸缩

根据配置的指标(CPU使用率)自动伸缩Pod副本数量。

5.服务发现

使用环境变量或DNS服务插件来确保容器中的程序可以发现Pod条目的访问地址。

6.负载均衡

一组Pod副本被分配一个私有集群IP地址,负载均衡将请求定向到后端容器。 集群中的其他 Pod 可以通过此 ClusterIP 访问您的应用程序。

7.滚动更新

更新服务不间断,更新一次。删除单个 Pod,而不是同时删除整个服务。

8.服务编排

通过文件描述来部署服务,使应用部署更加高效。

9. 资源监控

Node Node组件集成了cAdvisor资源采集工具,通过Heapster聚合整个集群节点资源数据并存储在InfluxDB时序数据库中。在 Grafana 中查看它。

10.提供认证和授权

支持属性访问控制(ABAC)和角色访问控制(RBAC)认证和授权策略。

基本对象概念基本对象:1. Pod

Pod 是最小的部署单元。 一个 Pod 包含一个或多个容器,Pod 内的容器共享存储和网络,并在同一台 Docker 主机上运行。

2. 服务

- 服务是一种应用程序服务抽象,它定义了 Pod 的逻辑集合以及访问该 Pod 集合的策略。

服务代理 Pod 集合的对外表现是为访问入口分配一个集群 IP 地址,并将来自该 IP 的请求进行负载均衡并转发到后端 Pod 的容器。

Service 通过 LableSelector 选择一组要提供服务的 Pod。

3. 数据量。 共享 Pod 内容器使用的数据。

4.命名空间

命名空间允许将对象逻辑分配到不同的命名空间,由项目或用户单独管理,或者通过设置控制策略也可以实现多租户。

命名空间也称为虚拟集群。

5. 标签

标签用于区分对象(Pod、Service 等)并具有键值对。 每个对象可以有多个标签,对象通过标签关联起来。

基于基础对象的高级抽象:1.ReplicaSet

下一代ReplicationCont滚筒。 它始终确保指定数量的 Pod 副本,并提供声明性更新等功能。

RC 和 RS 之间的唯一区别是对标签选择器的支持。 RS支持新的基于集合的标签,而RC仅支持基于方程的标签。

2. 部署

部署是管理 ReplicaSet 和 Pod 的高级 API 对象,并提供声明性更新和其他功能。

官方建议使用Deployment来管理ReplicaSet,而不是直接使用ReplicaSet。 这意味着您不需要直接操作 ReplicaSet 对象。

3. StatefulSet

StatefulSet适用于具有唯一网络标识符(IP)、持久存储、有序部署、扩展、删除和滚动更新的持久化应用。

4. DaemonSet

aemonSet 确保所有(或部分)节点运行相同的 Pod。 当节点添加到 Kubernetes 集群时,Pod 会被调度在该节点上运行。 当从集群中删除节点时,DaemonSet 的 pod 也会被删除。 删除 DaemonSet 会清除该 DaemonSet 创建的所有 Pod。

5. 工作

这是一项一次性任务。 一旦操作完成,pod就会被销毁,并且不会重新启动新的容器。 任务也可以按计划运行。

2.k8s架构

系统组件主组件:1. -apiserver

Kubernetes API,集群集成入口,各组件的协调者,通过HTTP API提供接口服务,对所有对象资源的所有增删改查,执行监控操作。 传递给APIServer进行处理,然后发送到Etcd存储。

2.kube-controller-manager

处理集群内的常规后台任务。 一种资源对应一个控制器然后ControllerManager 负责管理这些控制器。

3.kube-scheduler

根据调度算法为新创建的Pod选择一个Node节点。

Node的组成:1.kubelet

kubelet是Node节点上master的代理。 管理本地运行的容器的生命周期,包括创建容器、挂载 Pod 数据卷、下载机密以及获取容器和节点状态。 kubelet 将每个 pod 转换为一组容器。

2.kube-proxy

在Node节点上实现Pod网络代理,用于维护网络规则和四层负载均衡。

3. 运行 Docker 或 Rocket(rkt)

容器。

第三方服务:1.etcd

分布式键/值存储系统。 用于维护集群状态,例如pod、服务和其他对象信息。

3.K8S常用命令显示节点

-o Wide以yaml格式显示详细信息 [root@linux[ k4]node1 ~]# kubectl get node -o WideNAME STATUS 角色年龄版本外部 -IP OS- 映像内核 - 版本容器 - 运行时 192.168.56.12 Ready  6d v1.10.8  CentOS Linux 7 (核心)3.10.0- 514.el7.x86_64 docker://18.6.1192.168.56.13 就绪  6d v1.10.8  CentOS Linux 7(核心)3.10.0-514.el7.x86_64 docker://18.6.1

创建部署

[root@linux-node1 ~]# kubectl run net-test --image=alpine --replicas=2 sleep 360000deployment.apps "net-test "已创建###Viewdeployments[root@linux-node1 ~]# kubectl getdeployments--all-namespaces-owideNAMESPACE 名称需要更新-到-当前可用日期- ]TO-DATE AGE 容器映像选择器default net-test 2 2 2 2 13s net-test alpine run=net-test

显示部署详细信息

 [root@linux- ]node1 ~]# kubectl 描述部署 net-testName: net-testNamespace: defaultCreationTimestamp:2018 年 9 月 28 日星期五 05:25:49 -0400Labels:run=net-testAnnotations:deployment.kubernetes.io/revision=1Selector:run=net-testReplicas:需要 2 | 2 更新 | 2总计 | 2 个可用 | 0 个不可用StrategyType: RollingUpdateMinReadySeconds: 0RollingUpdateStrategy: 最多 1 个不可用,最多 1 个 SurgePod 模板:标签:run=net-test 容器:net-test:图像:alpine 端口: 主机端口:  参数:睡眠 360000 环境: 安装: 卷: 条件:类型 状态 原因 ---- --[ k4][ k4] -[k4 ] ------ 可用真实最小副本数ailable Progressing True NewReplicaSetAvailableOldReplicaSets: NewReplicaSet: net-test-5767cb94df(已创建 2/2 个副本)事件:类型原因消息年龄 ---- [ k4][k4 ]----------------[ k4]--正常扩容ReplicaSet 9mdeployment-controller副本集net-test-5767cb94df扩容至2

删除部署

[root@linux -node1 ~]# kubectl returnedeployment net-test -ndefaultdeployment.extensions "net-test" 已删除

查看 pod

[root@ linux- ]node1 ~]# kubectl get pod -o WideNAME READY STATUS RESTARTS AGE IP NODEnet-test-5767cb94df-7lwtq 1/1 Running 0 3m 10.2.96.11 192.168.56.13net-test-5767cb94df-wcwg5 1/1 Running 0 3m 10.2.96.10 192.168.56.12- yaml 格式为 Wide查看 pod 详细信息 kubectl get pod  -o Wide[root@linux-node1 ~]# kubectl get pod net-test-5767cb94df-7lwtq - o WideNAME就绪状态重新启动 AGE IP NODEnet-test-5767cb94df-7lwtq 1/1 Running 0 2m 10.2.96.11 192.168.56.13

查看 Pod 详细信息

 [root@ linux-node1 ~]# kubectl 是 pod net-test-5767cb94df-7lwtqName: net-test-5767cb94df-7lwtqNamespace:defaultNode:192.168 写入 .56.13/192.168。    56.13开始时间:2018年9月28日星期五05:25:49 -0400标签:pod-template-hash=1323765089 run=net-test注释:状态:运行IP:10.2.96.11控制者:ReplicaSet/net-test-5767cb94dfContainers:net-测试: 容器 ID:docker://fc0889ca3141cdcd29fc137da45dcb913b7aece71dea76e1508cf34aa93ed0ce 镜像:alpine 镜像 ID:docker-pullable://alpine@sha256:621c2f39f8133acb8e64023a94dbdf0d 5 102 b9e57c0dc184cadaf5528 端口: 主机端口: 参数:sleep 360000 状态:运行已启动完成:2018 年 9 月 28 日星期五 05:25:56 -0400 就绪:True 重新启动:0 环境: 挂载:/var/run/secrets/kubernetes.io/serviceaccount fromdefault-token[ k4]xr766 (b)公寓选项: 类型 状态 已初始化 True Ready True PodScheduled True Volumes:default-token-xr766: 类型:Secret (由 Secret 设置的卷) SecretName:default-token-xr766 选项:falseQoS 类别:BestEffortNode [ k4 ] 选择器: 容差: 事件:类型 原因 自消息以来的时间 ---- ----- - [ k4 ]--- ---- ------- 正常时间表 3 分钟 默认[k4 ] ]scheduler net-test-5767cb94df-7lwtq 成功分配到 192.168.56.13。 正常成功安装卷 3m kubelet,192.168.56.13 卷“default-”的 MountVolume.SetUp 成功。令牌 - XR766“正常拉动 3M Kubelet,192.168.56.13 拉动镜像” 正常拉动 3M Kubelet,192.168.56.13 成功拉动镜像“Pine”正常创建 3M Kubelet,192.168.56.13 创建容器 正常启动 3M Kubelet,192 .16 8.    56.13 启动容器
https://blog.csdn.net/liumiaocn/article/details/73913597 Kubernetes kubectl常用命令使用指南:1:创建和删除 https://blog.csdn.net/ qq_32828145 /article/details/81429232 K8S部署与服务

未经允许不得转载:主机频道 » K8S常用命令(k8s启动后)

相关推荐

评论 抢沙发

评论前必须登录!

 

本站不销售/不代购主机产品,不提供技术支持,仅出于个人爱好分享优惠信息,请遵纪守法文明上网

Copyright © 主机频道 - ZHUJIPINDAO.COM ,本站托管于国外主机商

© 2021-2024   主机频道   网站地图 琼ICP备2022006744号