添加混合云集群管理

  • 首要条件 已经安装完成多集群 host member等
  • 第一种情况:云上和云下通过vpn对等连接或者专线打通(这里直接连接即可)
  • 第二种情况:云上k8s集群apiserver有公网ip(这种方式也可直接连接)
  • 第三种情况:云上k8s集群apiserver无公网ip host管理集群有公网ip,使用代理方式连接
  • 这里用腾讯云托管的k8s云上+本地自建做测试(其实这里腾讯云托管的apiserver是可以设置公网ip的用第二种情况也可以实现连通,但是apiserver直接暴露到公网不太安全,所以通过第三种 host集群代理的方式)

在腾讯云已有的k8s集群上部署kubesphere

1.下载下部署配置文件

	wget https://github.com/kubesphere/ks-installer/releases/download/v3.0.0/kubesphere-installer.yaml
	wget https://github.com/kubesphere/ks-installer/releases/download/v3.0.0/cluster-configuration.yaml

2.运行installer安装器

kubectl apply -f kubesphere-installer.yaml

3.配置service

kubectl apply -f cluster-configuration.yaml

4.查看installer 安装进度日志

kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f
  • 提示k8s 版本需要大于1.5 这里是之前在腾讯云建立的k8s集群有些时间了,所以版本较低为1.14.3,这里操作升级一下
TASK [preinstall : Stop if kubernetes version is nonsupport] *******************
fatal: [localhost]: FAILED! => {
    "assertion": "kubernetes_version.stdout is version('v1.15.0', '>=')",
    "changed": false,
    "evaluated_to": false,
    "msg": "The current k8s version is not supported"
}
  • 升级腾讯云k8s版本 注意腾讯云这里需要版本一次一次升级,从1.4.3到最新1.18.4 需要操作多次升级,master和node要一起升级

  • 升级后最新的版本如下, 升级成功后 再重新部署

//这里进行replace替换重新部署,会删除之前service 所以service也要重新加上
kubectl replace --force -f kubesphere-installer.yaml
kubectl apply -f cluster-configuration.yaml
  • 4.再次查看installer 安装进度日志
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f

//等待到以下输出则安装成功 登陆修改密码即可
**************************************************
#####################################################
###              Welcome to KubeSphere!           ###
#####################################################

Console: http://10.0.0.12:30880
Account: admin
Password: P@88w0rd

NOTES:
  1. After logging into the console, please check the
     monitoring status of service components in
     the "Cluster Management". If any service is not
     ready, please wait patiently until all components
     are ready.
  2. Please modify the default password after login.

#####################################################
https://kubesphere.io             2020-12-23 11:56:55
#####################################################
  • 5.安装成功 等待到以下输出则安装成功 登陆修改密码即可

把腾讯云上部署的kubesphere纳入到云下host集群管理

获取host的Secret

kubectl -n kubesphere-system get cm kubesphere-config -o yaml | grep -v "apiVersion" | grep jwtSecret

jwtSecret: "HryBNMQBjzXMJnzkxxxxxxxxxx"

获取host的Secret

kubectl -n kubesphere-system get cm kubesphere-config -o yaml | grep -v "apiVersion" | grep jwtSecret

jwtSecret: "HryBNMQBjzXMJnzkxxxxxxxxxx"

修改腾讯云上的集群角色为member

kubectl edit cc ks-installer -n kubesphere-system

//修改下面这两个参数 第二个从none改为member 然后保存等待安装器更新
authentication:
  jwtSecret: "上个命令获得的Secret"

multicluster:
  clusterRole: member

查看更新进度

kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f

成功后在host集群添加member成员集群

这里先通过对 第二种情况:云上k8s集群apiserver假设有公网ip,直接连接做个测试

如下腾讯云的已经纳入统一管理了

现在对第三种情况:云上k8s集群apiserver无公网ip host管理集群有公网ip,使用代理方式连接做个测试

  • 先在host集群所在机器编辑代理服务配置公网ip
kubectl -n kubesphere-system edit clusterconfiguration ks-installer

//定位到这个配置 下面增加一样代理地址 设置外网端口负载均衡到host集群tower服务的端口
multicluster:
    clusterRole: host
    proxyPublishAddress: http://xxxx:xxx #增加这一行

添加集群 通过代理方式

通过代理管理会有个等待加入过程 按照页面步骤在腾讯云上部署代理agent

cluster-agent 则是该容器

最后通过2种连接模式都成功可以管理 混合云的这种集群,方便统一维护 ,阿里云,华为云等原理一样哦,建议通过第二种代理方式管理

有任何问题,可以扫码加我,一起探讨哦!

  • 也可以点击公众号菜单或者回复微信获取
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐