mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-31 07:20:13 +00:00
Migrated pkg/proxy/ipvs to structured logging (#104932)
* migrated ipset.go * migrated graceful_termination.go * fixed vstring * fixed ip set entry, made it consistent * fixed rs logging * resolving review comments for key graceful_termination.go * refactoring ipset.go * included review changes
This commit is contained in:
parent
daf5af2917
commit
7d9a6d1de6
@ -62,7 +62,7 @@ func (q *graceTerminateRSList) add(rs *listItem) bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
klog.V(5).Infof("Adding rs %v to graceful delete rsList", rs)
|
klog.V(5).InfoS("Adding real server to graceful delete real server list", "realServer", rs)
|
||||||
q.list[uniqueRS] = rs
|
q.list[uniqueRS] = rs
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
@ -85,11 +85,11 @@ func (q *graceTerminateRSList) flushList(handler func(rsToDelete *listItem) (boo
|
|||||||
for name, rs := range q.list {
|
for name, rs := range q.list {
|
||||||
deleted, err := handler(rs)
|
deleted, err := handler(rs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
klog.Errorf("Try delete rs %q err: %v", name, err)
|
klog.ErrorS(err, "Error in deleting real server", "realServer", name)
|
||||||
success = false
|
success = false
|
||||||
}
|
}
|
||||||
if deleted {
|
if deleted {
|
||||||
klog.Infof("lw: remote out of the list: %s", name)
|
klog.InfoS("Removed real server from graceful delete real server list", "realServer", name)
|
||||||
q.remove(rs)
|
q.remove(rs)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -140,7 +140,7 @@ func (m *GracefulTerminationManager) GracefulDeleteRS(vs *utilipvs.VirtualServer
|
|||||||
}
|
}
|
||||||
deleted, err := m.deleteRsFunc(ele)
|
deleted, err := m.deleteRsFunc(ele)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
klog.Errorf("Delete rs %q err: %v", ele.String(), err)
|
klog.ErrorS(err, "Error in deleting real server", "realServer", ele)
|
||||||
}
|
}
|
||||||
if deleted {
|
if deleted {
|
||||||
return nil
|
return nil
|
||||||
@ -150,13 +150,13 @@ func (m *GracefulTerminationManager) GracefulDeleteRS(vs *utilipvs.VirtualServer
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
klog.V(5).Infof("Adding an element to graceful delete rsList: %+v", ele)
|
klog.V(5).InfoS("Adding real server to graceful delete real server list", "realServer", ele)
|
||||||
m.rsList.add(ele)
|
m.rsList.add(ele)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *GracefulTerminationManager) deleteRsFunc(rsToDelete *listItem) (bool, error) {
|
func (m *GracefulTerminationManager) deleteRsFunc(rsToDelete *listItem) (bool, error) {
|
||||||
klog.V(5).Infof("Trying to delete rs: %s", rsToDelete.String())
|
klog.V(5).InfoS("Trying to delete real server", "realServer", rsToDelete)
|
||||||
rss, err := m.ipvs.GetRealServers(rsToDelete.VirtualServer)
|
rss, err := m.ipvs.GetRealServers(rsToDelete.VirtualServer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
@ -167,10 +167,10 @@ func (m *GracefulTerminationManager) deleteRsFunc(rsToDelete *listItem) (bool, e
|
|||||||
// (existing connections will be deleted on the next packet because sysctlExpireNoDestConn=1)
|
// (existing connections will be deleted on the next packet because sysctlExpireNoDestConn=1)
|
||||||
// For other protocols, don't delete until all connections have expired)
|
// For other protocols, don't delete until all connections have expired)
|
||||||
if utilipvs.IsRsGracefulTerminationNeeded(rsToDelete.VirtualServer.Protocol) && rs.ActiveConn+rs.InactiveConn != 0 {
|
if utilipvs.IsRsGracefulTerminationNeeded(rsToDelete.VirtualServer.Protocol) && rs.ActiveConn+rs.InactiveConn != 0 {
|
||||||
klog.V(5).Infof("Not deleting, RS %v: %v ActiveConn, %v InactiveConn", rsToDelete.String(), rs.ActiveConn, rs.InactiveConn)
|
klog.V(5).InfoS("Skip deleting real server till all connection have expired", "realServer", rsToDelete, "activeConnection", rs.ActiveConn, "inactiveConnection", rs.InactiveConn)
|
||||||
return false, nil
|
return false, nil
|
||||||
}
|
}
|
||||||
klog.V(5).Infof("Deleting rs: %s", rsToDelete.String())
|
klog.V(5).InfoS("Deleting real server", "realServer", rsToDelete)
|
||||||
err := m.ipvs.DeleteRealServer(rsToDelete.VirtualServer, rs)
|
err := m.ipvs.DeleteRealServer(rsToDelete.VirtualServer, rs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, fmt.Errorf("delete destination %q err: %w", rs.String(), err)
|
return false, fmt.Errorf("delete destination %q err: %w", rs.String(), err)
|
||||||
@ -183,7 +183,7 @@ func (m *GracefulTerminationManager) deleteRsFunc(rsToDelete *listItem) (bool, e
|
|||||||
|
|
||||||
func (m *GracefulTerminationManager) tryDeleteRs() {
|
func (m *GracefulTerminationManager) tryDeleteRs() {
|
||||||
if !m.rsList.flushList(m.deleteRsFunc) {
|
if !m.rsList.flushList(m.deleteRsFunc) {
|
||||||
klog.Errorf("Try flush graceful termination list err")
|
klog.ErrorS(nil, "Try flush graceful termination list error")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -110,7 +110,7 @@ func NewIPSet(handle utilipset.Interface, name string, setType utilipset.Type, i
|
|||||||
if strings.HasPrefix(name, "KUBE-") {
|
if strings.HasPrefix(name, "KUBE-") {
|
||||||
name = strings.Replace(name, "KUBE-", "KUBE-6-", 1)
|
name = strings.Replace(name, "KUBE-", "KUBE-6-", 1)
|
||||||
if len(name) > 31 {
|
if len(name) > 31 {
|
||||||
klog.Warningf("ipset name truncated; [%s] -> [%s]", name, name[:31])
|
klog.InfoS("Ipset name truncated", "ipSetName", name, "truncatedName", name[:31])
|
||||||
name = name[:31]
|
name = name[:31]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -147,7 +147,7 @@ func (set *IPSet) resetEntries() {
|
|||||||
func (set *IPSet) syncIPSetEntries() {
|
func (set *IPSet) syncIPSetEntries() {
|
||||||
appliedEntries, err := set.handle.ListEntries(set.Name)
|
appliedEntries, err := set.handle.ListEntries(set.Name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
klog.Errorf("Failed to list ip set entries, error: %v", err)
|
klog.ErrorS(err, "Failed to list ip set entries")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -162,18 +162,18 @@ func (set *IPSet) syncIPSetEntries() {
|
|||||||
for _, entry := range currentIPSetEntries.Difference(set.activeEntries).List() {
|
for _, entry := range currentIPSetEntries.Difference(set.activeEntries).List() {
|
||||||
if err := set.handle.DelEntry(entry, set.Name); err != nil {
|
if err := set.handle.DelEntry(entry, set.Name); err != nil {
|
||||||
if !utilipset.IsNotFoundError(err) {
|
if !utilipset.IsNotFoundError(err) {
|
||||||
klog.Errorf("Failed to delete ip set entry: %s from ip set: %s, error: %v", entry, set.Name, err)
|
klog.ErrorS(err, "Failed to delete ip set entry from ip set", "ipSetEntry", entry, "ipSet", set.Name)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
klog.V(3).Infof("Successfully delete legacy ip set entry: %s from ip set: %s", entry, set.Name)
|
klog.V(3).InfoS("Successfully deleted legacy ip set entry from ip set", "ipSetEntry", entry, "ipSet", set.Name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Create active entries
|
// Create active entries
|
||||||
for _, entry := range set.activeEntries.Difference(currentIPSetEntries).List() {
|
for _, entry := range set.activeEntries.Difference(currentIPSetEntries).List() {
|
||||||
if err := set.handle.AddEntry(entry, &set.IPSet, true); err != nil {
|
if err := set.handle.AddEntry(entry, &set.IPSet, true); err != nil {
|
||||||
klog.Errorf("Failed to add entry: %v to ip set: %s, error: %v", entry, set.Name, err)
|
klog.ErrorS(err, "Failed to add ip set entry to ip set", "ipSetEntry", entry, "ipSet", set.Name)
|
||||||
} else {
|
} else {
|
||||||
klog.V(3).Infof("Successfully add entry: %v to ip set: %s", entry, set.Name)
|
klog.V(3).InfoS("Successfully added ip set entry to ip set", "ipSetEntry", entry, "ipSet", set.Name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -181,7 +181,7 @@ func (set *IPSet) syncIPSetEntries() {
|
|||||||
|
|
||||||
func ensureIPSet(set *IPSet) error {
|
func ensureIPSet(set *IPSet) error {
|
||||||
if err := set.handle.CreateSet(&set.IPSet, true); err != nil {
|
if err := set.handle.CreateSet(&set.IPSet, true); err != nil {
|
||||||
klog.Errorf("Failed to make sure ip set: %v exist, error: %v", set, err)
|
klog.ErrorS(err, "Failed to make sure existence of ip set", "ipSet", set)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
@ -191,13 +191,13 @@ func ensureIPSet(set *IPSet) error {
|
|||||||
func checkMinVersion(vstring string) bool {
|
func checkMinVersion(vstring string) bool {
|
||||||
version, err := utilversion.ParseGeneric(vstring)
|
version, err := utilversion.ParseGeneric(vstring)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
klog.Errorf("vstring (%s) is not a valid version string: %v", vstring, err)
|
klog.ErrorS(err, "Got invalid version string", "versionString", vstring)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
minVersion, err := utilversion.ParseGeneric(MinIPSetCheckVersion)
|
minVersion, err := utilversion.ParseGeneric(MinIPSetCheckVersion)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
klog.Errorf("MinCheckVersion (%s) is not a valid version string: %v", MinIPSetCheckVersion, err)
|
klog.ErrorS(err, "Got invalid version string", "versionString", MinIPSetCheckVersion)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return !version.LessThan(minVersion)
|
return !version.LessThan(minVersion)
|
||||||
|
Loading…
Reference in New Issue
Block a user