(一)产品概述 腾讯云容器服务(Tencent Kubernetes Engine,TKE)是高度可扩展的高性能容器管理服务,您可以在托管的云服务器实例集群上轻松运行应用程序。 (二)产品优势 腾讯云容器服务 TKE 对比自建容器服务 优势 腾讯云容器服务(TKE) 自建容器服务 简单易用 简化集群管理 腾讯云容器服务提供超大规模容器集群管理、资源调度、容器编排、代码构建,屏蔽了底层基础构架的差异 腾讯云容器服务 TKE 监控对比自建容器监控 腾讯云容器服务监控为容器集群、服务、实例提供数据收集和数据展示功能。 容器服务架构图 TKE-arc.png 架构说明 腾讯云容器服务基于原生 Kubernetes 进行适配和增加, 支持原生 Kubernetes 能力。 容器服务 TKE 模块:容器服务核心模块,包括集群的增删改查、服务的增删改查等。
TKE产品介绍 1.产品介绍 2.产品总体架构 3.产品功能 4.业务交付流程 1.产品介绍 腾讯云容器服务(Tencent Kubernetes Engine,TKE)是高度可扩展的高性能容器管理服务 容器服务 TKE 模块:容器服务核心模块,包括集群的增删改查、服务的增删改查等。 模块 功能点 应用构成 支持 TKE 多种服务类型支持 Kubernetes Deployment、DamentSet 等多种资源 应用管理 应用支持我的模板、模板市场快速创建支持更新应用实时对比查看应用内服务一键部署 如下图所示: 业务交付流程总结: 1.制作Docker基础镜像并推送至TKE平台 2.通过镜像管理功能,将代码打包,生成Docker业务镜像(持续集成) 2.创建TKE集群 3.基于Docker业务镜像 ,在TKE集群上进行容器业务部署(持续交付)
首先您需要创建集群。集群是指容器运行所需云资源的集合,包含了若干台云服务器、负载均衡器等腾讯云资源。
<none> 3m56s v1.16.3-tke.9 172.27.16.15 Ready,SchedulingDisabled <none> 29h v1.16.3-tke master 30h v1.16.3-tke.9 172.27.16.5 Ready <none> 29h v1.16.3-tke .9 172.27.16.7 Ready master 30h v1.16.3-tke.9 移除节点 移除节点会有提示 [移除节点] 如果是workload <none> 20m v1.16.3-tke.9 172.27.16.4 Ready master 30h v1.16.3-tke.9 172.27.16.5 Ready,SchedulingDisabled <none> 30h v1.16.3-tke.9 172.27.16.7 Ready
1.TKE集群网络模式 1.1GlobalRouter 模式 image.png GlobalRouter模式是在每个节点下起一个agent从整个VPC中指定一个子网进行通信和数据的传输。 仅对 部分业务使用 VPC-CNI 模式 如果完全了解并接受 VPC-CNI 的各种限制,并且需要集群内所有 Pod 都用 VPC-CNI 模式,可以创建集群时选择 VPC-CNI 网络插件 2.TKE link-type EN10MB (Ethernet), capture size 262144 bytes 4.3在pod中通过busybox容器来修改系统参数失败 现在的版本中集群中如果节点使用TKE
TKE实践 在集群中创建两个不同的服务,如图所示: [Snipaste_2019-11-25_16-02-55.png] 在左侧菜单栏选择ingress服务,点击并新建ingress。
VPC在TKE中的应用 登陆集群,查看集群基本信息。如下图: [Snipaste_2019-11-20_16-19-06.png] 标记部分即为我们简历集群时选择的VPC网络。
使用存储的场景 在TKE中部署服务时,主要有以下的几个使用到存储的场景: 使用主机路径:将容器所在宿主机的文件目录挂载到容器的指定路径中(即对应 Kubernetes 的 HostPath)。 TKE实践 使用NFS盘 新建NFS文件系统。 在文件系统产品界面,选择对应的地域,新建NFS。 [Snipaste_2019-11-20_17-17-36.png] 在TKE服务中使用NFS,添加数据卷,并挂载到容器。 [Snipaste_2019-11-20_18-11-21.png] 在TKE服务中使用CBS,添加数据卷,并挂载到容器。
概念 日志采集 Agent:TKE 用于采集日志信息的 Agent,基于 Fluentd 开发,在集群内以 DaemonSet 的方式运行。 TKE实践 采集容器标准输出日志 日志采集功能支持采集 Kubernetes 集群内指定容器的标准输出日志,用户可以根据自己的需求,灵活的配置采集规则。
在熟悉了TKE CVM容器集群的业务优势,现在我们来正式创建TKE CVM集群。 1.创建私有云网络。 2.创建容器集群。 (我这里选择新增,在创建TKE集群时,node节点同时创建好) 计费方式:选择按量计费 Node机型:当 “Node” 选择为 “新增” 时,可选。
节点池文档 作用:实现节点动态的扩容缩容。 应该是外部的服务监控k8s集群,外部服务调用k8s的api实现的。 创建节点池 配置参数选择 计费模式选择了按量计费; SSH密钥; 机型配置,不要选择1核1G的; 安全组,系统默认选择了worker的安全组,不需要修改; 数量,创建节点池的时候,创建worker节点的数量,选择了一台; 节点数目范围,根据自己需求,这可以后期调整; 支持的子网,全部勾选了; [创建节点池] 可以新建多个节点池,根据不同的机型 查看节点池 可以看到机型和数量 [查看节点池] 修改
namespace的配额 cat quota.yaml apiVersion: v1 kind: ResourceQuota metadata: name: object-counts namespace: default spec: hard: configmaps: "10" ## 最多10个 ConfigMap secrets: "10" ## 最多10个 secret services: "10" ## 最多10个 service services.lo
,有三个需要了解的重要概念: chart:是创建Kubernetes应用实例的信息集合 config:创建发布对象的chart的配置信息 release:chart的运行实例,包含特定的config TKE
背景: 前几天刚刚测试了一把tke1.18.4:腾讯云TKE1.18初体验 ,今天一看后台有了1.20.6的版本了。满怀欣喜的想升级一下tke集群的。但是仔细一看不支持升级。 问了一下tke的小伙伴,要下个月才能支持版本升级。这点让人体验狠不好。新版本发出了。老版本缺不能升级?让老用户感觉到很是被抛弃的感觉。不知道其他用户是怎么感觉的,反正我是有这样感觉的。 闲话少说,搭建一个新的tke1.20.6的版本体验下有那些不同吧! 创建tke1.20.6集群 1. 依然不行....为了下tke的小伙伴:嗯 我的安全组满了,看了一眼我的安全组规则有70条,貌似满了?不管了先删掉了几条无用的安全组。重新点完成 OK了。发现原来tke是自己会创建安全组的! tke与腾讯云其他产品间的结合还是不流畅,如我碰到的安全组问题。可不可以在用户创建集群过程中让用户看到安全组的配置?让我自动或者选择自动生成?让用户知道有那么一个步骤呢?
TKE实践 在容器服务的控制面板点击告警设置选项,选择新建。
nginx.ingress.kubernetes.io/use-regex: "true" name: kuboard-ingress namespace: kuboard spec: rules: - host: kuboard.tke.niewx.cn serviceName: kuboard-v3 servicePort: 80 path: / tls: - hosts: - kuboard.tke.niewx.cn secretName: kuboard-tls 创建好之后我们就可以用kuboard.tke.niewx.cn这个域名来访问kuboard 3. 我们可以在用户与权限界面创建其他登录用户 image.png 这里我们新建一个niewx的用户,给用户赋予viewer权限 image.png 这里可以给用户绑定到所属用户组,绑定全局和某一个集群的权限,这里我们给t用绑定tke
腾讯云TKE“无损业务”升级TKE节点的方法 原理 1. 设置TKE节点为不可调度,记TKE节点名为a; 2. 驱逐节点下的非DaemonSet类型的pod。 移除TKE节点a; 4. 重新将TKE节点a所在CVM加入TKE集群,TKE节点a的会被升级为TKE集群主节点大版本的最新release版本; 5. 依次将所有TKE节点执行步骤1至4,完成所有TKE节点的版本升级; 核心指令/界面操作 查看节点: kubectl get nodes 设置节点为不可调度 kubectl cordon <NodeName 节点版本 设置节点不为不可调度 驱逐节点下的非DaemonSet类型的pod 部分pod驱逐失败时,手工结束不能正常结束的pod 部分pod驱逐失败时,重新部署不能正常驱逐的pod 移除TKE 节点 重新将TKE节点a所在CVM加入TKE集群 节点成功加入口,确认TKE节点版本已升级为最新
1. coredns的原理和介绍 TKE集群中使用的DNS解析是采用coreDNS,Kubernetes 1.11 和更高版本中,CoreDNS 位于 GA 并且默认情况下与 kubeadm 一起安装
由于之前有过历史的问题是 nfs v3 v4挂载出现了问题,k8s默认的是 v4格式挂载,nfs建议是使用v3格式挂载。
安装说明以下安装使用 KongZ helm charts Charts 仓库源进行安装,示例中指定不安装 mongo 和 opensearch 服务(即使用已有),在开始前请先自行准备 TKE 集群环境以及 通过Ingress服务暴露 web 管理界面参考如下 ingress-nginx 配置,graylog-<helm创建版本>-web是web端暴露的service名,如果想要使用 TKE Ingress