fourpastmidnight / kubewin Goto Github PK
View Code? Open in Web Editor NEWA PowerShell script module for initializing and joining a Windows Server-based Kubernetes cluster node
License: MIT License
A PowerShell script module for initializing and joining a Windows Server-based Kubernetes cluster node
License: MIT License
Right now, this code lives in the New-WindowsKubernetesClusterNode
cmdlet. It's a rather large chunk of code, along with some branching logic. It'd be nice to clean that up and make this section a bit more declarative, leaving the imperative bits in their respective cmdlets.
Make this into a proper module, with a version, a PSD file, and most importantly, with Pester tests using the Gherkin format, from my fork of Pester containing the changes in my open PR to the Pester project.
The New-KubernetesWindowsNodeConfiguration
is meant to allow you to store all the options which are required to orchestrate the process of adding a Windows Server kubernetes node to a cluster for versions of Windows Server 2019 that are > 1809/LTSC 2019.
The cmdlet already sets default values for most of the parameters. However, for parameters such as CniPluginVersion
and CniVersion
, these should not be set to a hard-coded version. Rather, these should be set to latest
. Likewise, parameters should be added for the version of GoLang to use, as well as Yq, Git for Windows (for building GoLang), etc. These should all be set to latest
. This way, they don't need to be specified--but if for some reason some version needs to be "pinned", it's possible to do so.
Something is telling me that I don't need to build a custom GoLang image. So long as the resulting image being built (in this case, the flannel DaemonSet image) is based on the same version of Windows Server as the node being configured, that should be enough??
Currently, the script module builds any required docker images locally on the node being configured as a Windows cluster node, as well as updates the flannel-*.yml
DaemonSet configuration file and the kube-proxy.yml
DaemonSet configuration file.
Update the module to also accept a docker repository to which to push the images, and update the DaemonSet configuration files appropriately. Still maintain the option to build the images locally and keep them locally on the server (by configuring imagePullPolicy: never
), as the module currently does.
Because this script module is currently intended to be run on the server being configured as a Windows Server node, it assumes that the images you want built are for the version of Windows Server on which the script is run.
This may not always be the case. Maybe you want to "pre-build" images ahead of time on another machine? You should be able to specify the version of Windows Server for which you want to build images.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.