59 lines
2.1 KiB
YAML
59 lines
2.1 KiB
YAML
# Copyright 2020 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.
|
|
---
|
|
- name: Create kubelet directory structure
|
|
win_file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
loop:
|
|
- '{{ systemdrive.stdout | trim }}\var\log\kubelet'
|
|
- '{{ systemdrive.stdout | trim }}\etc\kubernetes'
|
|
- '{{ systemdrive.stdout | trim }}\etc\kubernetes\manifests'
|
|
- '{{ systemdrive.stdout | trim }}\etc\kubernetes\pki'
|
|
|
|
# this is required in 1.22 and below due to invalid absolute path handling
|
|
# https://github.com/kubernetes-sigs/image-builder/issues/853
|
|
- name: Symlink kubelet pki folder
|
|
win_shell: New-Item -path $env:SystemDrive\var\lib\kubelet\etc\kubernetes\pki -type SymbolicLink -value $env:SystemDrive\etc\kubernetes\pki\ -Force
|
|
when: kubernetes_semver is version('v1.23.0', '<')
|
|
|
|
- import_tasks: nssm.yml
|
|
when: windows_service_manager == "nssm"
|
|
|
|
- import_tasks: sc.yml
|
|
when: windows_service_manager == "windows_service"
|
|
|
|
# Dependency selection: https://www.reddit.com/r/ansible/comments/imfdgn/setting_a_variable_conditionally/g41anaf/?utm_source=reddit&utm_medium=web2x&context=3
|
|
- name: Ensure kubelet is installed
|
|
win_service:
|
|
name: kubelet
|
|
dependencies: [ "{{ runtime_service }}" ]
|
|
start_mode: auto
|
|
vars:
|
|
dependencies:
|
|
containerd: containerd
|
|
docker-ee: docker
|
|
default: docker
|
|
runtime_service: "{{ dependencies[runtime] | default(dependencies['docker']) }}"
|
|
|
|
- name: Add firewall rule for kubelet
|
|
win_firewall_rule:
|
|
name: kubelet
|
|
localport: 10250
|
|
action: allow
|
|
direction: in
|
|
protocol: tcp
|
|
state: present
|
|
enabled: yes
|