Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
4cacffd7
Unverified
Commit
4cacffd7
authored
Jan 20, 2020
by
Erik Wilson
Committed by
GitHub
Jan 20, 2020
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1298 from erikwilson/warn-npc-fail
Warn if NPC can't start rather than fatal error
parents
6592b612
5b98d10e
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
18 additions
and
20 deletions
+18
-20
check-config.sh
contrib/util/check-config.sh
+2
-1
network_policy.go
pkg/agent/netpol/network_policy.go
+6
-0
network_policy_controller.go
pkg/agent/netpol/network_policy_controller.go
+5
-17
utils.go
pkg/agent/netpol/utils.go
+5
-2
No files found.
contrib/util/check-config.sh
View file @
4cacffd7
...
@@ -410,11 +410,12 @@ flags="
...
@@ -410,11 +410,12 @@ flags="
NET_CLS_CGROUP
$netprio
NET_CLS_CGROUP
$netprio
CFS_BANDWIDTH FAIR_GROUP_SCHED RT_GROUP_SCHED
CFS_BANDWIDTH FAIR_GROUP_SCHED RT_GROUP_SCHED
IP_NF_TARGET_REDIRECT
IP_NF_TARGET_REDIRECT
IP_SET
IP_VS
IP_VS
IP_VS_NFCT
IP_VS_NFCT
IP_VS_PROTO_TCP
IP_VS_PROTO_TCP
IP_VS_PROTO_UDP
IP_VS_PROTO_UDP
IP_VS_RR
IP_VS_RR
"
"
check_flags
$flags
check_flags
$flags
...
...
pkg/agent/netpol/network_policy.go
View file @
4cacffd7
...
@@ -5,11 +5,17 @@ import (
...
@@ -5,11 +5,17 @@ import (
"time"
"time"
"github.com/rancher/k3s/pkg/daemons/config"
"github.com/rancher/k3s/pkg/daemons/config"
"github.com/sirupsen/logrus"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/tools/clientcmd"
"k8s.io/client-go/tools/clientcmd"
)
)
func
Run
(
ctx
context
.
Context
,
nodeConfig
*
config
.
Node
)
error
{
func
Run
(
ctx
context
.
Context
,
nodeConfig
*
config
.
Node
)
error
{
if
_
,
err
:=
NewSavedIPSet
(
false
);
err
!=
nil
{
logrus
.
Warnf
(
"Skipping network policy controller start, ipset unavailable: %v"
,
err
)
return
nil
}
restConfig
,
err
:=
clientcmd
.
BuildConfigFromFlags
(
""
,
nodeConfig
.
AgentConfig
.
KubeConfigK3sController
)
restConfig
,
err
:=
clientcmd
.
BuildConfigFromFlags
(
""
,
nodeConfig
.
AgentConfig
.
KubeConfigK3sController
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
...
...
pkg/agent/netpol/network_policy_controller.go
View file @
4cacffd7
...
@@ -934,13 +934,9 @@ func cleanupStaleRules(activePolicyChains, activePodFwChains, activePolicyIPSets
...
@@ -934,13 +934,9 @@ func cleanupStaleRules(activePolicyChains, activePodFwChains, activePolicyIPSets
if
err
!=
nil
{
if
err
!=
nil
{
log
.
Fatalf
(
"failed to initialize iptables command executor due to %s"
,
err
.
Error
())
log
.
Fatalf
(
"failed to initialize iptables command executor due to %s"
,
err
.
Error
())
}
}
ipset
s
,
err
:=
New
IPSet
(
false
)
ipset
,
err
:=
NewSaved
IPSet
(
false
)
if
err
!=
nil
{
if
err
!=
nil
{
log
.
Fatalf
(
"failed to create ipsets command executor due to %s"
,
err
.
Error
())
log
.
Fatalf
(
"failed to create ipset command executor due to %s"
,
err
.
Error
())
}
err
=
ipsets
.
Save
()
if
err
!=
nil
{
log
.
Fatalf
(
"failed to initialize ipsets command executor due to %s"
,
err
.
Error
())
}
}
// get the list of chains created for pod firewall and network policies
// get the list of chains created for pod firewall and network policies
...
@@ -957,7 +953,7 @@ func cleanupStaleRules(activePolicyChains, activePodFwChains, activePolicyIPSets
...
@@ -957,7 +953,7 @@ func cleanupStaleRules(activePolicyChains, activePodFwChains, activePolicyIPSets
}
}
}
}
}
}
for
_
,
set
:=
range
ipset
s
.
Sets
{
for
_
,
set
:=
range
ipset
.
Sets
{
if
strings
.
HasPrefix
(
set
.
Name
,
kubeSourceIPSetPrefix
)
||
if
strings
.
HasPrefix
(
set
.
Name
,
kubeSourceIPSetPrefix
)
||
strings
.
HasPrefix
(
set
.
Name
,
kubeDestinationIPSetPrefix
)
{
strings
.
HasPrefix
(
set
.
Name
,
kubeDestinationIPSetPrefix
)
{
if
_
,
ok
:=
activePolicyIPSets
[
set
.
Name
];
!
ok
{
if
_
,
ok
:=
activePolicyIPSets
[
set
.
Name
];
!
ok
{
...
@@ -1605,11 +1601,7 @@ func (npc *NetworkPolicyController) Cleanup() {
...
@@ -1605,11 +1601,7 @@ func (npc *NetworkPolicyController) Cleanup() {
}
}
// delete all ipsets
// delete all ipsets
ipset
,
err
:=
NewIPSet
(
false
)
ipset
,
err
:=
NewSavedIPSet
(
false
)
if
err
!=
nil
{
log
.
Errorf
(
"Failed to clean up ipsets: "
+
err
.
Error
())
}
err
=
ipset
.
Save
()
if
err
!=
nil
{
if
err
!=
nil
{
log
.
Errorf
(
"Failed to clean up ipsets: "
+
err
.
Error
())
log
.
Errorf
(
"Failed to clean up ipsets: "
+
err
.
Error
())
}
}
...
@@ -1719,11 +1711,7 @@ func NewNetworkPolicyController(
...
@@ -1719,11 +1711,7 @@ func NewNetworkPolicyController(
}
}
npc
.
nodeIP
=
nodeIP
npc
.
nodeIP
=
nodeIP
ipset
,
err
:=
NewIPSet
(
false
)
ipset
,
err
:=
NewSavedIPSet
(
false
)
if
err
!=
nil
{
return
nil
,
err
}
err
=
ipset
.
Save
()
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
...
...
pkg/agent/netpol/utils.go
View file @
4cacffd7
...
@@ -152,8 +152,8 @@ func (ipset *IPSet) runWithStdin(stdin *bytes.Buffer, args ...string) (string, e
...
@@ -152,8 +152,8 @@ func (ipset *IPSet) runWithStdin(stdin *bytes.Buffer, args ...string) (string, e
return
stdout
.
String
(),
nil
return
stdout
.
String
(),
nil
}
}
// NewIPSet create a new IPSet with ipSetPath initialized.
// New
Saved
IPSet create a new IPSet with ipSetPath initialized.
func
NewIPSet
(
isIpv6
bool
)
(
*
IPSet
,
error
)
{
func
New
Saved
IPSet
(
isIpv6
bool
)
(
*
IPSet
,
error
)
{
ipSetPath
,
err
:=
getIPSetPath
()
ipSetPath
,
err
:=
getIPSetPath
()
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
...
@@ -163,6 +163,9 @@ func NewIPSet(isIpv6 bool) (*IPSet, error) {
...
@@ -163,6 +163,9 @@ func NewIPSet(isIpv6 bool) (*IPSet, error) {
Sets
:
make
(
map
[
string
]
*
Set
),
Sets
:
make
(
map
[
string
]
*
Set
),
isIpv6
:
isIpv6
,
isIpv6
:
isIpv6
,
}
}
if
err
:=
ipSet
.
Save
();
err
!=
nil
{
return
nil
,
err
}
return
ipSet
,
nil
return
ipSet
,
nil
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment