ClusterAPI.imageBuilder/ansible/roles/kubernetes/tasks/main.yml

76 lines
2.4 KiB
YAML
Raw Permalink Normal View History

2023-02-22 20:24:42 +00:00
# Copyright 2018 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.
---
- import_tasks: debian.yml
when: kubernetes_source_type == "pkg" and ansible_os_family == "Debian"
- import_tasks: redhat.yml
when: kubernetes_source_type == "pkg" and ansible_os_family == "RedHat"
- import_tasks: photon.yml
when: kubernetes_source_type == "pkg" and ansible_os_family == "VMware Photon OS"
- name: Symlink cri-tools
file:
src: "/usr/local/bin/{{ item }}"
dest: "/usr/bin/{{ item }}"
mode: 0777
state: link
force: yes
loop:
- ctr
- crictl
- critest
when: ansible_os_family != "Flatcar"
- import_tasks: url.yml
when: kubernetes_source_type == "http" and kubernetes_cni_source_type == "http"
# must include crictl-url.yml after installing containerd,
# as the cri-containerd tarball also includes crictl.
- import_tasks: crictl-url.yml
when: crictl_source_type == "http"
- name: Create kubelet default config file
template:
src: etc/sysconfig/kubelet
dest: "{{ '/etc/default/kubelet' if ansible_os_family == 'Debian' else '/etc/sysconfig/kubelet'}}"
owner: root
group: root
mode: 0644
- name: Enable kubelet service
systemd:
name: kubelet
daemon_reload: yes
enabled: True
state: stopped
- name: Create the Kubernetes version file
template:
dest: /etc/kubernetes-version
src: etc/kubernetes-version
mode: 0644
# TODO: This section will be deprecated once https://github.com/containerd/cri/issues/1131 is fixed. It is used to support ECR with containerd.
- name: Check if Kubernetes container registry is using Amazon ECR
set_fact:
ecr: '{{ kubernetes_container_registry is regex("^[0-9]{12}.dkr.ecr.[^.]+.amazonaws.com$") }}'
- import_tasks: kubeadmpull.yml
when: (kubernetes_source_type == "pkg" and ecr != true) or ansible_os_family == "Flatcar"
- import_tasks: ecrpull.yml
when: kubernetes_source_type != "http" and ecr == true