Docker
Kubernetes部署服务到集群中的指定节点
Kubernetes部署服务到集群中的指定节点
昨天部署服务的时候为了避免服务都部署到主节点,于是打算手动指定某个节点,当然是找资源比较充足的节点,我们可以先查看集群节点名称,输入以下命令行
kubectl get node
效果如下
NAME STATUS ROLES AGE VERSION k8s-master Ready master 25h v1.17.3 k8s-node2 Ready <none> 25h v1.17.3
我的集群只有两个节点,这里我打算部署在k8s-node2节点上,我们先记下这个节点的名称。
k8s编排文件中指定nodeName,只需这一行配置
nodeName: k8s-node2
下面贴出部署ymal文件,配置如下
apiVersion: apps/v1 kind: Deployment metadata: name: drone-project-go-deployment namespace: gin-api-project spec: selector: matchLabels: app: drone-project-go replicas: 2 strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 maxUnavailable: 1 template: metadata: labels: app: drone-project-go spec: containers: - name: drone-project-go image: project-go-api imagePullPolicy: Always resources: requests: cpu: "50m" memory: 50Mi limits: cpu: "80m" memory: 80Mi ports: - containerPort: 9911 nodeName: k8s-node2 #指定部署节点在k8s-node2 --- apiVersion: v1 kind: Service metadata: name: drone-project-go-service namespace: gin-api-project labels: app: drone-project-go spec: type: NodePort selector: app: drone-project-go ports: - port: 9911 targetPort: 9911 nodePort: 30091
以上这段配置我们部署了一个Go服务(我自己构建的镜像),指定节点在k8s-node2,并且限制了资源,同时暴露了一个30091外部访问端口,我们看看服务是不是部署在我们指定的节点
服务确实部署在k8s-node2节点上。
这样就成功在Kubernetes部署服务到集群中的指定节点。
0条评论