本文主要介绍自建Kubernetes集群接入ACK注册集群并手动扩容阿里云ECS节点时的注意事项。
PS:您也可以选择使用ACK注册集群的节点池功能扩容阿里云ECS节点,请参考阿里云注册集群—混合集群-使用自定义节点添加脚本
为自建Kubernetes集群新扩容阿里云ECS节点需要用户在节点初始化脚本中设置 --provider-id=${ALIBABA_CLOUD_PROVIDE_ID}* 以及追加*--node-labels=${ALIBABA_CLOUD_LABELS}。
ALIBABA_CLOUD_PROVIDE_ID 和 ALIBABA_CLOUD_LABELS 变量的值如下所示:
$ clusterID=xxxxx $ aliyunRegionID=$(curl 100.100.100.200/latest/meta-data/region-id) $ aliyunInstanceID=$(curl 100.100.100.200/latest/meta-data/instance-id) $ ALIBABA_CLOUD_PROVIDE_ID=${aliyunRegionID}.${aliyunInstanceID} $ ALIBABA_CLOUD_LABELS="ack.aliyun.com=${clusterID},alibabacloud.com/instance-id=${aliyunInstanceID},alibabacloud.com/external=true"批量为自建Kubernetes集群已有节点打标
自建Kubernetes集群接入ACK注册集群后,需要为已有节点添加节点标签,节点标签的作用如下所示:
ack.aliyun.com=${clusterID}。用于ACK管控从集群维度识别自建Kubernetes中的阿里云ECS节点。alibabacloud.com/instance-id=${aliyunInstanceID}。用于ACK管控从节点维度识别自建Kubernetes中的阿里云ECS节点。alibabacloud.com/external=true。用于自建Kubernetes集群中Terway,CSI等组件识别阿里云ECS节点 。部署global-job-controller$ cat EOF global-job-controller.yaml apiVersion: apps/v1 kind: Deployment metadata: name: global-job-controller namespace: kube-system labels: app: global-job-controller spec: replicas: 1 selector: matchLabels: app: global-job-controller template: metadata: labels: app: global-job-controller spec: restartPolicy: Always serviceAccount: jobs containers: - name: global-job-controller image: registry.cn-hangzhou.aliyuncs.com/acs/global-job:v1.0.0.36-g0d1ac97-aliyun env: - name: MY_POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - name: MY_POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: WATCH_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRole metadata: name: jobs rules: - apiGroups: - jobs.aliyun.com resources: - globaljobs verbs: - "*" - apiGroups: - "*" resources: - pods - events - configmaps verbs: - "*" - apiGroups: - "*" resources: - nodes verbs: - "*" - apiGroups: - apiextensions.k8s.io resources: - customresourcedefinitions verbs: - get - list - create apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: jobs-role-bind roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: jobs subjects: - kind: ServiceAccount name: jobs namespace: kube-system apiVersion: v1 kind: ServiceAccount metadata: name: jobs namespace: kube-system EOF
$ kubectl apply -f global-job-controller.yaml
等待global-job-controller运行正常。
部署globaljob$ export CLUSTER_ID=xxxxxx $ cat EOF globaljob.yaml apiVersion: jobs.aliyun.com/v1alpha1 kind: GlobalJob metadata: name: globaljob namespace: kube-system spec: maxParallel: 100 terminalStrategy: type: Never template: spec: serviceAccountName: ack restartPolicy: Never containers: - name: globaljob image: registry.cn-hangzhou.aliyuncs.com/acs/marking-agent:v1.13.1.39-g4186808-aliyun imagePullPolicy: Always env: - name: REGISTRY_NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName - name: CLUSTER_ID value: "$CLUSTER_ID" $ kubectl apply -f globaljob.yaml
运行完毕后可以检查ecs节点是否已经正确打标并释放上述资源。
$ kubectl delete -f globaljob.yaml -f global-job-controller.yaml
最近,DevOps的采用导致了企业计算的重大转变。除无服务器计算,动态配置和即付...
一、PostgreSQL行业位置 一 行业位置 首先我们看一看RDS PostgreSQL在整个行业当...
2020年对于云计算行业来说是突破性的一年,因为公共云供应商增加了收入,而疫情...
定义 this是函数运行时自动生成的内部对象,即调用函数的那个对象。(不一定很准...
在TOP云(zuntop.com)科技租赁过服务器的站长都知道独立服务器在价格上比VPS主...
本文转载自网络,原文链接:https://mp.weixin.qq.com/s/vlOUg46B5bcmToX-fjavJQ...
很长时间没有更新原创文章了,但是还一直在思考和沉淀当中,后面公众号会更频繁...
9月17日,2020云栖大会上,阿里云正式发布工业大脑3.0。 阿里云智能资深产品专家...
查看表结构,sbtest1有主键、k_1二级索引、i_c二级索引 CREATE TABLE `sbtest1` ...
中国最?好的一朵云飘进了华瑞银行。阿里云将进一步助力华瑞银行All in Cloud。 -...