Agent can now poll osupgrade resources from cluster

This commit is contained in:
2026-04-02 00:07:32 +08:00
parent 145b0a4662
commit e7b8e406a8
7 changed files with 32 additions and 14 deletions

View File

@@ -41,6 +41,7 @@ if [ -z "$CTL_BIN" ]; then
exit 1 exit 1
fi fi
ln -s "$CTL_BIN" /usr/local/bin/ctl ln -s "$CTL_BIN" /usr/local/bin/ctl
ctl version
mkdir -p /var/run/crio mkdir -p /var/run/crio

View File

@@ -9,4 +9,5 @@ WORKDIR /
COPY bin/ctl-linux-aarch64-${VERSION} ./ctl COPY bin/ctl-linux-aarch64-${VERSION} ./ctl
COPY --from=cacerts /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ COPY --from=cacerts /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
CMD [ "/ctl", "agent" ] ENTRYPOINT ["/ctl"]
CMD ["agent"]

View File

@@ -1,31 +1,47 @@
# Should be the same as upstream version in prodution
VERSION ?= dev VERSION ?= dev
KUBE_VERSION=v1.35.3 # Target kube version
KUBE_VERSION ?= v1.35.1
GIT_REV=$(shell git rev-parse HEAD)
BIN_DIR := bin BIN_DIR := bin
BUILDINFO_FILE := pkg/buildinfo/buildinfo_gen.go BUILDINFO_FILE := pkg/buildinfo/buildinfo_gen.go
$(BUILDINFO_FILE): # Never cache this
echo 'package buildinfo' > $@ .buildinfo:
echo '' >> $@ echo 'package buildinfo' > $(BUILDINFO_FILE)
echo 'const DefaultKubernetesVersion = "$(KUBE_VERSION)"' >> $@ echo 'const (' >> $(BUILDINFO_FILE)
echo ' Version = "$(VERSION)"' >> $(BUILDINFO_FILE)
echo ' KubeVersion = "$(KUBE_VERSION)"' >> $(BUILDINFO_FILE)
echo ' GitRevision = "$(GIT_REV)"' >> $(BUILDINFO_FILE)
echo ' Timestamp = "$(shell TZ=UTC date +%Y%m%d.%H%M%S)"' >> $(BUILDINFO_FILE)
echo ')' >> $(BUILDINFO_FILE)
echo ''
build: $(BUILDINFO_FILE) build: .buildinfo
mkdir -p $(BIN_DIR) mkdir -p $(BIN_DIR)
GOOS=linux GOARCH=arm64 go build -o $(BIN_DIR)/ctl-linux-aarch64-$(VERSION) ./cmd/ctl/ GOOS=linux GOARCH=arm64 go build -o $(BIN_DIR)/ctl-linux-aarch64-$(VERSION) ./cmd/ctl/
build-agent: build-agent: build
docker build \ docker build \
--platform=linux/arm64 \ --platform=linux/arm64 \
--build-arg VERSION=$(VERSION) \ --build-arg VERSION=$(VERSION) \
-t localhost/monok8s/control-agent:$(VERSION) . -t localhost/monok8s/control-agent:$(VERSION) .
build-local: build-local: .buildinfo
go build -o $(BIN_DIR)/ctl-$(VERSION) ./cmd/ctl go build -o $(BIN_DIR)/ctl-$(VERSION) ./cmd/ctl
run: run:
go run ./cmd/ctl go run ./cmd/ctl
clean: clean:
rm -rf $(BIN_DIR) docker image rm localhost/monok8s/control-agent:$(VERSION)
rm -rf $(BIN_DIR) \
$(BUILDINFO_FILE)
all: build build-agent build-local
.PHONY: clean all run .buildinfo build build-local build-agent

View File

@@ -35,7 +35,7 @@ func NewCmdAgent(flags *genericclioptions.ConfigFlags) *cobra.Command {
rendered := templates.DefaultMonoKSConfig(vals) rendered := templates.DefaultMonoKSConfig(vals)
cfg = &rendered cfg = &rendered
klog.InfoS("starting init", "node", cfg.Spec.NodeName, "envFile", envFile) klog.InfoS("starting agent", "node", cfg.Spec.NodeName, "envFile", envFile)
clients, err := kube.NewClients(flags) clients, err := kube.NewClients(flags)
if err != nil { if err != nil {

View File

@@ -14,7 +14,7 @@ func NewCmdVersion() *cobra.Command {
Short: "Print the version information", Short: "Print the version information",
RunE: func(cmd *cobra.Command, _ []string) error { RunE: func(cmd *cobra.Command, _ []string) error {
_, err := fmt.Fprintln(cmd.OutOrStdout(), buildInfo.Version) _, err := fmt.Fprintln(cmd.OutOrStdout(), fmt.Sprintf("%s %s(%s)", buildInfo.Version, buildInfo.GitRevision, buildInfo.Timestamp))
return err return err
}, },
} }

View File

@@ -300,7 +300,7 @@ func applyControlAgentDaemonSet(ctx context.Context, kubeClient kubernetes.Inter
Name: "agent", Name: "agent",
Image: controlAgentImage, Image: controlAgentImage,
ImagePullPolicy: corev1.PullNever, ImagePullPolicy: corev1.PullNever,
Args: []string{"agent"}, Args: []string{"agent", "--env-file", "$(CLUSTER_ENV_FILE)"},
Env: []corev1.EnvVar{ Env: []corev1.EnvVar{
{ {
Name: "NODE_NAME", Name: "NODE_NAME",

View File

@@ -45,7 +45,7 @@ func defaultTemplateValues() TemplateValues {
return TemplateValues{ return TemplateValues{
Hostname: "monok8s-master-1", Hostname: "monok8s-master-1",
NodeName: "monok8s-master-1", NodeName: "monok8s-master-1",
KubernetesVersion: buildinfo.Version, KubernetesVersion: buildinfo.KubeVersion,
ClusterName: "monok8s", ClusterName: "monok8s",
ClusterDomain: "cluster.local", ClusterDomain: "cluster.local",
PodSubnet: "10.244.0.0/16", PodSubnet: "10.244.0.0/16",