add label parameter for mesh command

This commit is contained in:
金戟
2019-12-12 21:05:09 +08:00
parent 7989b9eb78
commit e8e48a0413
2 changed files with 8 additions and 5 deletions
+1 -1
View File
@@ -40,7 +40,7 @@ func (action *Action) Mesh(swap string, expose string, userHome string, pidFile
panic(err.Error())
}
workload, err := factory.Mesh(clientset)
workload, err := factory.Mesh(clientset, util.String2Map(action.Labels))
if err != nil {
panic(err.Error())
}
+7 -4
View File
@@ -12,13 +12,14 @@ import (
)
// Mesh prepare swap deployment
func (c *Connect) Mesh(clientset *kubernetes.Clientset) (workload string, err error) {
workload, podIP, podName, err := c.createMeshShadown(clientset)
func (c *Connect) Mesh(clientset *kubernetes.Clientset, labels map[string]string) (workload string, err error) {
workload, podIP, podName, err := c.createMeshShadown(clientset, labels)
remotePortForward(c.Expose, c.Kubeconfig, c.Namespace, podName, podIP, c.Debug)
return
}
func (c *Connect) createMeshShadown(clientset *kubernetes.Clientset) (shadowName string, podIP string, podName string, err error) {
func (c *Connect) createMeshShadown(clientset *kubernetes.Clientset,
extraLabels map[string]string) (shadowName string, podIP string, podName string, err error) {
deploymentsClient := clientset.AppsV1().Deployments(c.Namespace)
origin, err := deploymentsClient.Get(c.Swap, metav1.GetOptions{})
if err != nil {
@@ -33,7 +34,9 @@ func (c *Connect) createMeshShadown(clientset *kubernetes.Clientset) (shadowName
"control-by": "kt",
"version": meshVersion,
}
for k, v := range extraLabels {
labels[k] = v
}
for k, v := range origin.Spec.Selector.MatchLabels {
labels[k] = v
}