为了解决未来我们服务的私有化部署问题,目前强依赖的腾讯云云函数scf(serverless、sls)需要有开源代替品。目前看来,Knative是一个具备可行性的方向。
某竞对云有Knative的一键部署,腾讯云对Knative的支持则明显弱了很多。在更适合中小企业的腾讯云弹性容器服务上,由于腾讯云云市场和镜像在海外的原因,经过长久尝试和沟通,最终依旧没有成功部署。本文探索Knative在腾讯云容器服务上的部署。
经过数十次尝试,包括混合部署的我们系统的容器服务集群,发现整套体系需要近1k Pods,因此我们主要选择L50级别的容器服务。节点服务器上,由于惯性,选择了S5 4核 8GB的服务器。共三台。
注意事项:
1)打开外网访问权限,配置安全组,需要允许本地kubectl外网远程访问容器服务
这里是为了简单,真实配置情况肯定比这复杂。
2)当本地有多个需要访问的集群时,按照【通过Kubectl连接Kubernetes集群操作说明:】,无法成功链接到集群,需要:
`export KUBECONFIG=$HOME/Downloads/cls-XXXXXX-config`
下载下来的外网访问证书,要变更文件名为:cls-XXXXXX-config
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.8.2/cert-manager.yaml
https://github.com/serverless/serverless-knative
https://www.serverless.com/blog/serverless-framework-knative-integration
https://www.serverless.com/blog/deploy-your-first-knative-service-with-the-serverless-framework
本地安装serverless
export SERVERLESS_PLATFORM_VENDOR=knative
export SLS_GEO_LOCATION=us serverless deploy
npm install serverless -g
serverless plugin install -n serverless-knative
本地安装kubectl
配置K8S的yum源
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
安装kubectl
yum install -y kubectl
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。