mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	Merge pull request #92433 from claudiubelu/windows/etcd-image
Adds Windows support for etcd image
This commit is contained in:
		
							
								
								
									
										28
									
								
								cluster/images/etcd/Dockerfile.windows
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								cluster/images/etcd/Dockerfile.windows
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
				
			|||||||
 | 
					# Copyright 2021 The Kubernetes Authors.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
 | 
					# you may not use this file except in compliance with the License.
 | 
				
			||||||
 | 
					# You may obtain a copy of the License at
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#     http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Unless required by applicable law or agreed to in writing, software
 | 
				
			||||||
 | 
					# distributed under the License is distributed on an "AS IS" BASIS,
 | 
				
			||||||
 | 
					# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
				
			||||||
 | 
					# See the License for the specific language governing permissions and
 | 
				
			||||||
 | 
					# limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ARG RUNNERIMAGE
 | 
				
			||||||
 | 
					FROM ${RUNNERIMAGE}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					EXPOSE 2379 2380 4001 7001
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					COPY etcd* etcdctl* /usr/local/bin/
 | 
				
			||||||
 | 
					COPY cp* /usr/local/bin/
 | 
				
			||||||
 | 
					COPY migrate-if-needed.bat /usr/local/bin/
 | 
				
			||||||
 | 
					COPY migrate /usr/local/bin/migrate.exe
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# NOTE(claudiub): docker buildx sets the PATH env variable to a Linux-like PATH,
 | 
				
			||||||
 | 
					# # which is not desirable. See: https://github.com/moby/buildkit/issues/1560
 | 
				
			||||||
 | 
					# # TODO(claudiub): remove this once the issue has been resolved.
 | 
				
			||||||
 | 
					ENV PATH="C:\usr\local\bin;C:\Windows\system32;C:\Windows;"
 | 
				
			||||||
@@ -22,7 +22,8 @@ but can also be used as the etcd target version.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Always run `/usr/local/bin/migrate` (or the
 | 
					Always run `/usr/local/bin/migrate` (or the
 | 
				
			||||||
`/usr/local/bin/migrate-if-needed.sh` wrapper script) before starting the etcd
 | 
					`/usr/local/bin/migrate-if-needed.sh` wrapper script) before starting the etcd
 | 
				
			||||||
server.
 | 
					server. On Windows, run `C:\bin\migrate.exe` (or the `C:\bin\migrate-if-needed.bat
 | 
				
			||||||
 | 
					wrapper script`).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
`migrate` writes a `version.txt` file to track the "current" version
 | 
					`migrate` writes a `version.txt` file to track the "current" version
 | 
				
			||||||
of etcd that was used to persist data to disk. A "target" version may also be provided
 | 
					of etcd that was used to persist data to disk. A "target" version may also be provided
 | 
				
			||||||
@@ -49,6 +50,9 @@ For `amd64`, official `etcd` and `etcdctl` binaries are downloaded from Github
 | 
				
			|||||||
to maintain official support.  For other architectures, `etcd` is cross-compiled
 | 
					to maintain official support.  For other architectures, `etcd` is cross-compiled
 | 
				
			||||||
from source. Arch-specific `busybox` images serve as base images.
 | 
					from source. Arch-specific `busybox` images serve as base images.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Windows images can be built on Linux nodes due to `docker buildx`, but they will
 | 
				
			||||||
 | 
					only be created and pushed when using the `all-push` make target.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#### How to release
 | 
					#### How to release
 | 
				
			||||||
 | 
					
 | 
				
			||||||
First, update `ETCD_VERSION` and `REVSION` in the `Makefile`.
 | 
					First, update `ETCD_VERSION` and `REVSION` in the `Makefile`.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,5 +19,7 @@ steps:
 | 
				
			|||||||
      - '-c'
 | 
					      - '-c'
 | 
				
			||||||
      - |
 | 
					      - |
 | 
				
			||||||
        gcloud auth configure-docker \
 | 
					        gcloud auth configure-docker \
 | 
				
			||||||
 | 
					        && docker buildx create --name img-builder --use \
 | 
				
			||||||
 | 
					        && docker buildx inspect --bootstrap \
 | 
				
			||||||
        && docker run --rm --privileged linuxkit/binfmt:4ea3b9b0938cbd19834c096aa31ff475cc75d281 \
 | 
					        && docker run --rm --privileged linuxkit/binfmt:4ea3b9b0938cbd19834c096aa31ff475cc75d281 \
 | 
				
			||||||
        && make all-push
 | 
					        && make all-push
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										21
									
								
								cluster/images/etcd/migrate-if-needed.bat
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										21
									
								
								cluster/images/etcd/migrate-if-needed.bat
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					@echo off
 | 
				
			||||||
 | 
					REM Copyright 2021 The Kubernetes Authors.
 | 
				
			||||||
 | 
					REM
 | 
				
			||||||
 | 
					REM Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
 | 
					REM you may not use this file except in compliance with the License.
 | 
				
			||||||
 | 
					REM You may obtain a copy of the License at
 | 
				
			||||||
 | 
					REM
 | 
				
			||||||
 | 
					REM     http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||||
 | 
					REM
 | 
				
			||||||
 | 
					REM Unless required by applicable law or agreed to in writing, software
 | 
				
			||||||
 | 
					REM distributed under the License is distributed on an "AS IS" BASIS,
 | 
				
			||||||
 | 
					REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
				
			||||||
 | 
					REM See the License for the specific language governing permissions and
 | 
				
			||||||
 | 
					REM limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					REM DEPRECATED:
 | 
				
			||||||
 | 
					REM The functionality has been moved to migrate binary and this script
 | 
				
			||||||
 | 
					REM if left for backward compatibility with previous manifests. It will be
 | 
				
			||||||
 | 
					REM removed in the future.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					C:\bin\migrate.exe
 | 
				
			||||||
		Reference in New Issue
	
	Block a user