Skip to content

Commit f525558

Browse files
authored
Merge pull request #5 from bytedance/use-internalip
Use InternalIP to connect to nodes.
2 parents 6b8ff07 + fe88c63 commit f525558

File tree

2 files changed

+44
-6
lines changed

2 files changed

+44
-6
lines changed

aa/service.go

Lines changed: 41 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ const (
2525
type AppArmor struct {
2626
k8sClient *client.K8sClient
2727
sshClient *client.SSHClient
28+
useInternalIP bool
2829
}
2930

3031
// NewAppArmor returns a new AppArmor object
@@ -57,9 +58,14 @@ func NewAppArmor() (*AppArmor, error) {
5758
return &AppArmor{
5859
k8sClient: k8s,
5960
sshClient: ssh,
61+
useInternalIP: false,
6062
}, nil
6163
}
6264

65+
func (aa *AppArmor) UseInternalIP(useInternalIP bool) {
66+
aa.useInternalIP = useInternalIP
67+
}
68+
6369
// InstallCRD installs CRD in Kubernetes
6470
func (aa *AppArmor) InstallCRD() error {
6571
return aa.k8sClient.InstallCRD()
@@ -88,7 +94,12 @@ func (aa *AppArmor) install(node *types.Node) error {
8894
return nil
8995
}
9096

91-
err := aa.sshClient.Connect(node.ExternalIP, SSH_PORT)
97+
var err error
98+
if aa.useInternalIP {
99+
err = aa.sshClient.Connect(node.InternalIP, SSH_PORT)
100+
} else {
101+
err = aa.sshClient.Connect(node.ExternalIP, SSH_PORT)
102+
}
92103

93104
if err != nil {
94105
return err
@@ -97,7 +108,11 @@ func (aa *AppArmor) install(node *types.Node) error {
97108
defer aa.sshClient.Close()
98109

99110
if aa.enabledInConnection(node) {
100-
klog.Infof("AppArmor was enabled on node: %s (external IP: %s)", node.NodeName, node.ExternalIP)
111+
if aa.useInternalIP {
112+
klog.Infof("AppArmor was enabled on node: %s (internal IP: %s)", node.NodeName, node.InternalIP)
113+
} else {
114+
klog.Infof("AppArmor was enabled on node: %s (external IP: %s)", node.NodeName, node.ExternalIP)
115+
}
101116
return nil
102117
}
103118

@@ -141,15 +156,25 @@ func (aa *AppArmor) syncProfile(node *types.Node, profile types.AppArmorProfile)
141156
return nil
142157
}
143158

144-
err := aa.sshClient.Connect(node.ExternalIP, SSH_PORT)
159+
var err error
160+
if aa.useInternalIP {
161+
err = aa.sshClient.Connect(node.InternalIP, SSH_PORT)
162+
} else {
163+
err = aa.sshClient.Connect(node.ExternalIP, SSH_PORT)
164+
}
165+
145166
if err != nil {
146167
return err
147168
}
148169

149170
defer aa.sshClient.Close()
150171

151172
if !aa.enabledInConnection(node) {
152-
klog.Infof("AppArmor was not enabled on node: %s (external IP: %s), no sync happen.", node.NodeName, node.ExternalIP)
173+
if aa.useInternalIP {
174+
klog.Infof("AppArmor was not enabled on node: %s (internal IP: %s), no sync happen.", node.NodeName, node.InternalIP)
175+
} else {
176+
klog.Infof("AppArmor was not enabled on node: %s (external IP: %s), no sync happen.", node.NodeName, node.ExternalIP)
177+
}
153178
return nil
154179
}
155180

@@ -196,7 +221,12 @@ func (aa *AppArmor) enabled(node *types.Node) (bool, error) {
196221
return false, nil
197222
}
198223

199-
err := aa.sshClient.Connect(node.ExternalIP, SSH_PORT)
224+
var err error
225+
if aa.useInternalIP {
226+
err = aa.sshClient.Connect(node.InternalIP, SSH_PORT)
227+
} else {
228+
err = aa.sshClient.Connect(node.ExternalIP, SSH_PORT)
229+
}
200230
if err != nil {
201231
return false, err
202232
}
@@ -249,7 +279,12 @@ func (aa *AppArmor) status(node *types.Node) error {
249279
return nil
250280
}
251281

252-
err := aa.sshClient.Connect(node.ExternalIP, SSH_PORT)
282+
var err error
283+
if aa.useInternalIP {
284+
err = aa.sshClient.Connect(node.InternalIP, SSH_PORT)
285+
} else {
286+
err = aa.sshClient.Connect(node.ExternalIP, SSH_PORT)
287+
}
253288
if err != nil {
254289
return err
255290
}

main.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ func main() {
2020
}
2121

2222
var logLevel string
23+
var useInternalIP bool
2324

2425
log.SetFormatter(&log.TextFormatter{
2526
FullTimestamp: true,
@@ -44,10 +45,12 @@ func main() {
4445
}
4546

4647
log.SetLevel(lvl)
48+
appArmor.UseInternalIP(useInternalIP)
4749
},
4850
}
4951

5052
rootCmd.PersistentFlags().StringVar(&logLevel, "level", "info", "Log level")
53+
rootCmd.PersistentFlags().BoolVarP(&useInternalIP, "internal-ip", "i", false, "Use internal ip to sync")
5154

5255
var initCmd = &cobra.Command{
5356
Use: "init",

0 commit comments

Comments
 (0)