昨天部署服务的时候为了避免服务都部署到主节点,于是打算手动指定某个节点,当然是找资源比较充足的节点,我们可以先查看集群节点名称,输入以下命令行
kubectl get node
效果如下
NAME STATUS ROLES AGE VERSIONk8s-master Ready master 25h v1.17.3k8s-node2 Ready <none> 25h v1.17.3
我的集群只有两个节点,这里我打算部署在k8s-node2节点上,我们先记下这个节点的名称。
nodeName: k8s-node2
apiVersion: apps/v1kind: Deploymentmetadata:name: drone-project-go-deploymentnamespace: gin-api-projectspec:selector:matchLabels:app: drone-project-goreplicas: 2strategy:type: RollingUpdaterollingUpdate:maxSurge: 1maxUnavailable: 1template:metadata:labels:app: drone-project-gospec:containers:- name: drone-project-goimage: project-go-apiimagePullPolicy: Alwaysresources:requests:cpu: "50m"memory: 50Milimits:cpu: "80m"memory: 80Miports:- containerPort: 9911nodeName: k8s-node2 #指定部署节点在k8s-node2---apiVersion: v1kind: Servicemetadata:name: drone-project-go-servicenamespace: gin-api-projectlabels:app: drone-project-gospec:type: NodePortselector:app: drone-project-goports:- port: 9911targetPort: 9911nodePort: 30091
以上这段配置我们部署了一个Go服务(我自己构建的镜像),指定节点在k8s-node2,并且限制了资源,同时暴露了一个30091外部访问端口,我们看看服务是不是部署在我们指定的节点

服务确实部署在k8s-node2节点上,这样就成功在Kubernetes部署服务到集群中的指定节点。
文章转载自程序员技术笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。





