Skip to content

Commit 3fb5dd3

Browse files
committed
Fixes for 1.32
Signed-off-by: galal-hussein <[email protected]>
1 parent 92892cb commit 3fb5dd3

File tree

11 files changed

+25
-35
lines changed

11 files changed

+25
-35
lines changed

manifests/rolebindings.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ rules:
2323
- nodes
2424
verbs:
2525
- get
26+
- list
27+
- watch
28+
- update
2629
- apiGroups:
2730
- ""
2831
resources:

pkg/agent/flannel/setup.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ func Run(ctx context.Context, nodeConfig *config.Node, nodes typedcorev1.NodeInt
7575
return errors.Wrap(err, "failed to check netMode for flannel")
7676
}
7777
go func() {
78-
err := flannel(ctx, nodeConfig.FlannelIface, nodeConfig.FlannelConfFile, nodeConfig.AgentConfig.KubeConfigKubelet, nodeConfig.FlannelIPv6Masq, netMode)
78+
err := flannel(ctx, nodeConfig.FlannelIface, nodeConfig.FlannelConfFile, nodeConfig.AgentConfig.KubeConfigK3sController, nodeConfig.FlannelIPv6Masq, netMode)
7979
if err != nil && !errors.Is(err, context.Canceled) {
8080
logrus.Errorf("flannel exited: %v", err)
8181
os.Exit(1)

pkg/agent/run.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ func run(ctx context.Context, cfg cmds.Agent, proxy proxy.Proxy) error {
177177
return errors.Wrap(err, "failed to wait for apiserver ready")
178178
}
179179

180-
coreClient, err := util.GetClientSet(nodeConfig.AgentConfig.KubeConfigKubelet)
180+
coreClient, err := util.GetClientSet(nodeConfig.AgentConfig.KubeConfigK3sController)
181181
if err != nil {
182182
return err
183183
}

pkg/cloudprovider/servicelb.go

+5-13
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@ package cloudprovider
22

33
import (
44
"context"
5+
"encoding/json"
56
"fmt"
67
"sort"
78
"strconv"
89
"strings"
910
"time"
10-
"encoding/json"
11+
1112
"sigs.k8s.io/yaml"
1213

1314
"github.com/k3s-io/k3s/pkg/util"
@@ -27,11 +28,9 @@ import (
2728
"k8s.io/apimachinery/pkg/util/intstr"
2829
"k8s.io/apimachinery/pkg/util/sets"
2930
"k8s.io/apimachinery/pkg/util/wait"
30-
utilfeature "k8s.io/apiserver/pkg/util/feature"
3131
"k8s.io/client-go/util/retry"
3232
"k8s.io/cloud-provider/names"
3333
servicehelper "k8s.io/cloud-provider/service/helpers"
34-
"k8s.io/kubernetes/pkg/features"
3534
utilsnet "k8s.io/utils/net"
3635
utilsptr "k8s.io/utils/ptr"
3736
)
@@ -563,7 +562,7 @@ func (k *k3s) newDaemonSet(svc *core.Service) (*apps.DaemonSet, error) {
563562
Name: "DEST_IPS",
564563
ValueFrom: &core.EnvVarSource{
565564
FieldRef: &core.ObjectFieldSelector{
566-
FieldPath: getHostIPsFieldPath(),
565+
FieldPath: "status.hostIPs",
567566
},
568567
},
569568
},
@@ -710,8 +709,8 @@ func (k *k3s) getPriorityClassName(svc *core.Service) string {
710709
return k.LBDefaultPriorityClassName
711710
}
712711

713-
// getTolerations retrieves the tolerations from a service's annotations.
714-
// It parses the tolerations from a JSON or YAML string stored in the annotations.
712+
// getTolerations retrieves the tolerations from a service's annotations.
713+
// It parses the tolerations from a JSON or YAML string stored in the annotations.
715714
func (k *k3s) getTolerations(svc *core.Service) ([]core.Toleration, error) {
716715
tolerationsStr, ok := svc.Annotations[tolerationsAnnotation]
717716
if !ok {
@@ -778,10 +777,3 @@ func ingressToString(ingresses []core.LoadBalancerIngress) []string {
778777
}
779778
return parts
780779
}
781-
782-
func getHostIPsFieldPath() string {
783-
if utilfeature.DefaultFeatureGate.Enabled(features.PodHostIPs) {
784-
return "status.hostIPs"
785-
}
786-
return "status.hostIP"
787-
}

pkg/daemons/agent/agent_linux.go

-2
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,6 @@ func kubeletArgs(cfg *config.Agent) map[string]string {
141141
argsMap["node-ip"] = cfg.NodeIP
142142
}
143143
} else {
144-
// Cluster is using the embedded CCM, we know that the feature-gate will be enabled there as well.
145-
argsMap["feature-gates"] = util.AddFeatureGate(argsMap["feature-gates"], "CloudDualStackNodeIPs=true")
146144
if nodeIPs := util.JoinIPs(cfg.NodeIPs); nodeIPs != "" {
147145
argsMap["node-ip"] = util.JoinIPs(cfg.NodeIPs)
148146
}

pkg/daemons/agent/agent_windows.go

-2
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,6 @@ func kubeletArgs(cfg *config.Agent) map[string]string {
106106
argsMap["node-ip"] = cfg.NodeIP
107107
}
108108
} else {
109-
// Cluster is using the embedded CCM, we know that the feature-gate will be enabled there as well.
110-
argsMap["feature-gates"] = util.AddFeatureGate(argsMap["feature-gates"], "CloudDualStackNodeIPs=true")
111109
if nodeIPs := util.JoinIPs(cfg.NodeIPs); nodeIPs != "" {
112110
argsMap["node-ip"] = util.JoinIPs(cfg.NodeIPs)
113111
}

pkg/daemons/control/deps/deps.go

+11-11
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ import (
2929
"github.com/sirupsen/logrus"
3030
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3131
"k8s.io/apimachinery/pkg/util/sets"
32-
"k8s.io/apiserver/pkg/apis/apiserver"
3332
apiserverconfigv1 "k8s.io/apiserver/pkg/apis/apiserver/v1"
33+
apiserverv1beta1 "k8s.io/apiserver/pkg/apis/apiserver/v1beta1"
3434
"k8s.io/apiserver/pkg/authentication/user"
3535
"k8s.io/client-go/util/keyutil"
3636
)
@@ -785,19 +785,19 @@ func genEncryptionConfigAndState(controlConfig *config.Control) error {
785785
}
786786

787787
func genEgressSelectorConfig(controlConfig *config.Control) error {
788-
var clusterConn apiserver.Connection
788+
var clusterConn apiserverv1beta1.Connection
789789

790790
if controlConfig.EgressSelectorMode == config.EgressSelectorModeDisabled {
791-
clusterConn = apiserver.Connection{
792-
ProxyProtocol: apiserver.ProtocolDirect,
791+
clusterConn = apiserverv1beta1.Connection{
792+
ProxyProtocol: apiserverv1beta1.ProtocolDirect,
793793
}
794794
} else {
795-
clusterConn = apiserver.Connection{
796-
ProxyProtocol: apiserver.ProtocolHTTPConnect,
797-
Transport: &apiserver.Transport{
798-
TCP: &apiserver.TCPTransport{
795+
clusterConn = apiserverv1beta1.Connection{
796+
ProxyProtocol: apiserverv1beta1.ProtocolHTTPConnect,
797+
Transport: &apiserverv1beta1.Transport{
798+
TCP: &apiserverv1beta1.TCPTransport{
799799
URL: fmt.Sprintf("https://%s:%d", controlConfig.BindAddressOrLoopback(false, true), controlConfig.SupervisorPort),
800-
TLSConfig: &apiserver.TLSConfig{
800+
TLSConfig: &apiserverv1beta1.TLSConfig{
801801
CABundle: controlConfig.Runtime.ServerCA,
802802
ClientKey: controlConfig.Runtime.ClientKubeAPIKey,
803803
ClientCert: controlConfig.Runtime.ClientKubeAPICert,
@@ -807,12 +807,12 @@ func genEgressSelectorConfig(controlConfig *config.Control) error {
807807
}
808808
}
809809

810-
egressConfig := apiserver.EgressSelectorConfiguration{
810+
egressConfig := apiserverv1beta1.EgressSelectorConfiguration{
811811
TypeMeta: metav1.TypeMeta{
812812
Kind: "EgressSelectorConfiguration",
813813
APIVersion: "apiserver.k8s.io/v1beta1",
814814
},
815-
EgressSelections: []apiserver.EgressSelection{
815+
EgressSelections: []apiserverv1beta1.EgressSelection{
816816
{
817817
Name: "cluster",
818818
Connection: clusterConn,

pkg/daemons/control/server.go

-1
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,6 @@ func cloudControllerManager(ctx context.Context, cfg *config.Control) error {
323323
"authentication-kubeconfig": runtime.KubeConfigCloudController,
324324
"node-status-update-frequency": "1m0s",
325325
"bind-address": cfg.Loopback(false),
326-
"feature-gates": "CloudDualStackNodeIPs=true",
327326
}
328327
if cfg.NoLeaderElect {
329328
argsMap["leader-elect"] = "false"

pkg/daemons/executor/embed.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ func (*Embedded) APIServer(ctx context.Context, etcdReady <-chan struct{}, args
152152
}
153153

154154
func (e *Embedded) Scheduler(ctx context.Context, apiReady <-chan struct{}, args []string) error {
155-
command := sapp.NewSchedulerCommand()
155+
command := sapp.NewSchedulerCommand(ctx.Done())
156156
command.SetArgs(args)
157157

158158
go func() {
@@ -165,7 +165,7 @@ func (e *Embedded) Scheduler(ctx context.Context, apiReady <-chan struct{}, args
165165
// node (usually, the local node) before starting the scheduler to ensure that it
166166
// finds a node that is ready to run pods during its initial scheduling loop.
167167
if !e.nodeConfig.AgentConfig.DisableCCM {
168-
if err := waitForUntaintedNode(ctx, e.nodeConfig.AgentConfig.KubeConfigKubelet); err != nil {
168+
if err := waitForUntaintedNode(ctx, e.nodeConfig.AgentConfig.KubeConfigK3sController); err != nil {
169169
logrus.Fatalf("failed to wait for untained node: %v", err)
170170
}
171171
}

pkg/deploy/zz_generated_bindata.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/integration/kubeflags/kubeflags_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ var _ = Describe("create a new cluster with kube-* flags", Ordered, func() {
153153
"--authorization-kubeconfig=/var/lib/rancher/k3s/server/cred/cloud-controller.kubeconfig --bind-address=127.0.0.1 "+
154154
"--cloud-config=/var/lib/rancher/k3s/server/etc/cloud-config.yaml --cloud-provider=k3s --cluster-cidr=10.42.0.0/16 "+
155155
"--configure-cloud-routes=false --controllers=*,-route,-cloud-node,-cloud-node-lifecycle "+
156-
"--feature-gates=CloudDualStackNodeIPs=true --kubeconfig=/var/lib/rancher/k3s/server/cred/cloud-controller.kubeconfig "+
156+
"--kubeconfig=/var/lib/rancher/k3s/server/cred/cloud-controller.kubeconfig "+
157157
"--leader-elect-resource-name=k3s-cloud-controller-manager --node-status-update-frequency=1m0s --profiling=false --secure-port=0")
158158
if err != nil {
159159
return err

0 commit comments

Comments
 (0)