腾讯云K8S(TKE)部署
1.背景介绍以及准备工作
2年前公司k8s生产环境部署在了aws上,今年由于公司策略原因,全面切换至腾讯云,且将实体机部署项目迁移至k8s环境。对比本次的迁移,k8s版本已经更新到了1.21;不过由于是在云上托管,这里虽然没有太大的问题,还是有以下注意事项以及准备工作。
- 腾讯云TKE分为TKE Master和TKE Node两种角色;TKE Master为全托管,TKE Node为手动创建节点或者创建节点池来完成。
- 腾讯云TKE的默认安全组一定要对应的放开,比如,TKE增加prometheus后会自动生成一个负载均衡、增加日志采集后也要开放对应端口等等。
- 需要准备的资源。
项目:有了项目,资源才能更好的分类
vpc:路由网关和nat网络。
安全组:创建TKE集群时需要指定一个安全组。
秘钥:创建TKE集群时和node时都需要。
置放群组:物理机隔离,让不同cvm分配到不同的物理主机上。
2.创建项目
云控制台--》项目管理--》新建,来建一个新的项目,名称自定义
3.创建VPC以及子网
这里为手动创建vpc,这里没有aws的标签问题的困扰,所以创建和维护都比较方便。
子网规划这里就仅有一个,因为项目原本运行在云上,原本的数据库不做迁移。
子网网段/24 |
可用区 |
网络类型 |
网络名称 |
10.158.50.0/24 |
上海三区 |
NAT+公网ip |
k8s-pub01-prod |
3.1 创建VPC以及子网
点击左侧私有网络→新建
3.2 创建路由表
点击左侧路由表→新建
完成后如下
查看一下关联的子网,有没有关联上一步创建的
4.创建安全组以及密钥
密钥这里不做过多解释,至于安全组,这里还是觉得有必要解释一下,在后期使用腾讯云开放内网访问、使用prometheus服务,使用日志服务的时候都有一些默认的安全组端口开放,所以刚开始不能一下子就把默认的给删除,但是能删除部分。默认腾讯TKE创建的安全组开放了以下规则。
在集群创建完成后,本人将安全组更改成了以下规则。
2个内网网段都是在使用日志和监控时需要的,不知道具体端口,只能开放2个网段,好在都是内网,对安全性的影响并没有很大;至于放通master和worker节点间通信的端口,目前取消掉没有什么影响,因为后期开放nodeport可能使用,如果没有特殊要求,也可以不用删除,全部打开,这里本人还是删除,需要什么开放什么。
以下是官方安全组设置的参考:https://cloud.tencent.com/document/product/457/9084
5.创建置放群组
云产品→云服务器→置放群组
6.TKE集群
6.1 创建TKE集群
云产品→容器服务→集群→新建
第一页集群信息
第二页选择机型
第三页与服务器配置
第四页组件配置
第五页信息确认
创建完成
6.2 开启内外网访问
容器服务→集群→选择集群→基本信息
6.3 权限问题
除了父账号以外,其他云用户在查看一些信息的时候没有权限,即使这个用户有了admin的授权,还是没有权限;
解决方式如下:
要用根账号来创建
登录根账号授权
6.4 创建ingress
腾讯云TKE默认是没有安装ingress的,所以这里需要手动安装,安装方式见以下博客
https://www.cnblogs.com/lizexiong/p/15056918.html#blogTitle5