mirror of
https://github.com/geerlingguy/ansible-role-kubernetes.git
synced 2025-08-01 13:49:01 +02:00
Compare commits
16 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
83e86bb88b | ||
|
321375f702 | ||
|
2b2efa7f9f | ||
|
63ba1cf471 | ||
|
92a5694f6f | ||
|
6baa5d7838 | ||
|
210a0ab262 | ||
|
32292cfd89 | ||
|
8bfb1d772f | ||
|
d4517950a4 | ||
|
e35045cc6c | ||
|
904f5be944 | ||
|
baadacdb3c | ||
|
038cda429a | ||
|
054af0d977 | ||
|
a8ed657fb3 |
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@ -41,7 +41,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- distro: rockylinux8
|
- distro: rockylinux9
|
||||||
playbook: converge.yml
|
playbook: converge.yml
|
||||||
- distro: ubuntu2004
|
- distro: ubuntu2004
|
||||||
playbook: converge.yml
|
playbook: converge.yml
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Ansible Role: Kubernetes
|
# Ansible Role: Kubernetes
|
||||||
|
|
||||||
[](https://github.com/geerlingguy/ansible-role-kubernetes/actions?query=workflow%3ACI)
|
[](https://github.com/geerlingguy/ansible-role-kubernetes/actions/workflows/ci.yml)
|
||||||
|
|
||||||
An Ansible Role that installs [Kubernetes](https://kubernetes.io) on Linux.
|
An Ansible Role that installs [Kubernetes](https://kubernetes.io) on Linux.
|
||||||
|
|
||||||
@ -27,8 +27,8 @@ kubernetes_packages:
|
|||||||
Kubernetes packages to be installed on the server. You can either provide a list of package names, or set `name` and `state` to have more control over whether the package is `present`, `absent`, `latest`, etc.
|
Kubernetes packages to be installed on the server. You can either provide a list of package names, or set `name` and `state` to have more control over whether the package is `present`, `absent`, `latest`, etc.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
kubernetes_version: '1.25'
|
kubernetes_version: '1.32'
|
||||||
kubernetes_version_rhel_package: '1.25.1'
|
kubernetes_version_rhel_package: '1.32'
|
||||||
```
|
```
|
||||||
|
|
||||||
The minor version of Kubernetes to install. The plain `kubernetes_version` is used to pin an apt package version on Debian, and as the Kubernetes version passed into the `kubeadm init` command (see `kubernetes_version_kubeadm`). The `kubernetes_version_rhel_package` variable must be a specific Kubernetes release, and is used to pin the version on Red Hat / CentOS servers.
|
The minor version of Kubernetes to install. The plain `kubernetes_version` is used to pin an apt package version on Debian, and as the Kubernetes version passed into the `kubeadm init` command (see `kubernetes_version_kubeadm`). The `kubernetes_version_rhel_package` variable must be a specific Kubernetes release, and is used to pin the version on Red Hat / CentOS servers.
|
||||||
@ -141,8 +141,7 @@ Options passed to `kubeadm init` when initializing the Kubernetes control plane.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
kubernetes_apt_release_channel: "stable"
|
kubernetes_apt_release_channel: "stable"
|
||||||
kubernetes_apt_keyring_file: "/etc/apt/keyrings/kubernetes-apt-keyring.asc"
|
kubernetes_apt_repository: "https://pkgs.k8s.io/core:/{{ kubernetes_apt_release_channel }}:/v{{ kubernetes_version }}/deb/"
|
||||||
kubernetes_apt_repository: "deb [signed-by={{ kubernetes_apt_keyring_file }}] https://pkgs.k8s.io/core:/{{ kubernetes_apt_release_channel }}:/v{{ kubernetes_version }}/deb/ /"
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Apt repository options for Kubernetes installation.
|
Apt repository options for Kubernetes installation.
|
||||||
|
@ -9,8 +9,8 @@ kubernetes_packages:
|
|||||||
- name: kubernetes-cni
|
- name: kubernetes-cni
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
kubernetes_version: '1.25'
|
kubernetes_version: '1.32'
|
||||||
kubernetes_version_rhel_package: '1.25.1'
|
kubernetes_version_rhel_package: '1.32'
|
||||||
|
|
||||||
kubernetes_role: control_plane
|
kubernetes_role: control_plane
|
||||||
|
|
||||||
@ -29,6 +29,11 @@ kubernetes_pod_network:
|
|||||||
# cidr: '192.168.0.0/16'
|
# cidr: '192.168.0.0/16'
|
||||||
|
|
||||||
kubernetes_kubeadm_kubelet_config_file_path: '/etc/kubernetes/kubeadm-kubelet-config.yaml'
|
kubernetes_kubeadm_kubelet_config_file_path: '/etc/kubernetes/kubeadm-kubelet-config.yaml'
|
||||||
|
|
||||||
|
kubernetes_config_kubeadm_apiversion: v1beta3
|
||||||
|
kubenetes_config_kubelet_apiversion: v1beta1
|
||||||
|
kubernetes_config_kubeproxy_apiversion: v1alpha1
|
||||||
|
|
||||||
kubernetes_config_kubelet_configuration:
|
kubernetes_config_kubelet_configuration:
|
||||||
cgroupDriver: "systemd"
|
cgroupDriver: "systemd"
|
||||||
|
|
||||||
@ -52,8 +57,7 @@ kubernetes_version_kubeadm: 'stable-{{ kubernetes_version }}'
|
|||||||
kubernetes_ignore_preflight_errors: 'all'
|
kubernetes_ignore_preflight_errors: 'all'
|
||||||
|
|
||||||
kubernetes_apt_release_channel: "stable"
|
kubernetes_apt_release_channel: "stable"
|
||||||
kubernetes_apt_keyring_file: "/etc/apt/keyrings/kubernetes-apt-keyring.asc"
|
kubernetes_apt_repository: "https://pkgs.k8s.io/core:/{{ kubernetes_apt_release_channel }}:/v{{ kubernetes_version }}/deb/"
|
||||||
kubernetes_apt_repository: "deb [signed-by={{ kubernetes_apt_keyring_file }}] https://pkgs.k8s.io/core:/{{ kubernetes_apt_release_channel }}:/v{{ kubernetes_version }}/deb/ /"
|
|
||||||
|
|
||||||
kubernetes_yum_base_url: "https://pkgs.k8s.io/core:/stable:/v{{ kubernetes_version }}/rpm/"
|
kubernetes_yum_base_url: "https://pkgs.k8s.io/core:/stable:/v{{ kubernetes_version }}/rpm/"
|
||||||
kubernetes_yum_gpg_key: "https://pkgs.k8s.io/core:/stable:/v{{ kubernetes_version }}/rpm/repodata/repomd.xml.key"
|
kubernetes_yum_gpg_key: "https://pkgs.k8s.io/core:/stable:/v{{ kubernetes_version }}/rpm/repodata/repomd.xml.key"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: Converge
|
- name: Converge
|
||||||
hosts: all
|
hosts: all
|
||||||
become: true
|
#become: true
|
||||||
|
|
||||||
vars:
|
vars:
|
||||||
kubernetes_pod_network:
|
kubernetes_pod_network:
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: Converge
|
- name: Converge
|
||||||
hosts: all
|
hosts: all
|
||||||
become: true
|
#become: true
|
||||||
|
|
||||||
vars:
|
vars:
|
||||||
# Allow swap in test environments (hard to control in some envs).
|
# Allow swap in test environments (hard to control in some envs).
|
||||||
|
@ -8,7 +8,7 @@ driver:
|
|||||||
name: docker
|
name: docker
|
||||||
platforms:
|
platforms:
|
||||||
- name: instance
|
- name: instance
|
||||||
image: "geerlingguy/docker-${MOLECULE_DISTRO:-rockylinux8}-ansible:latest"
|
image: "geerlingguy/docker-${MOLECULE_DISTRO:-rockylinux9}-ansible:latest"
|
||||||
command: ${MOLECULE_DOCKER_COMMAND:-""}
|
command: ${MOLECULE_DOCKER_COMMAND:-""}
|
||||||
volumes:
|
volumes:
|
||||||
- /sys/fs/cgroup:/sys/fs/cgroup:rw
|
- /sys/fs/cgroup:/sys/fs/cgroup:rw
|
||||||
|
@ -4,32 +4,22 @@
|
|||||||
name:
|
name:
|
||||||
- apt-transport-https
|
- apt-transport-https
|
||||||
- ca-certificates
|
- ca-certificates
|
||||||
|
- python3-debian
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
- name: Prepare apt keyring directory.
|
|
||||||
ansible.builtin.file:
|
|
||||||
path: "{{ kubernetes_apt_keyring_file | dirname }}"
|
|
||||||
state: directory
|
|
||||||
mode: 0755
|
|
||||||
|
|
||||||
- name: Get Kubernetes apt key.
|
|
||||||
ansible.builtin.get_url:
|
|
||||||
url: "https://pkgs.k8s.io/core:/{{ kubernetes_apt_release_channel }}:/v{{ kubernetes_version }}/deb/Release.key"
|
|
||||||
dest: "{{ kubernetes_apt_keyring_file }}"
|
|
||||||
mode: '0644'
|
|
||||||
force: true
|
|
||||||
|
|
||||||
- name: Be sure deprecated Kubernetes repository is absent.
|
|
||||||
file:
|
|
||||||
path: "/etc/apt/sources.list.d/apt_kubernetes_io.list"
|
|
||||||
state: absent
|
|
||||||
|
|
||||||
- name: Add Kubernetes repository.
|
- name: Add Kubernetes repository.
|
||||||
ansible.builtin.apt_repository:
|
deb822_repository:
|
||||||
repo: "{{ kubernetes_apt_repository }}"
|
name: kubernetes
|
||||||
filename: pkgs_k8s_io
|
types: deb
|
||||||
state: present
|
uris: "{{ kubernetes_apt_repository }}"
|
||||||
|
suites: /
|
||||||
|
signed_by: "{{ kubernetes_apt_repository }}/Release.key"
|
||||||
|
register: kubernetes_repository
|
||||||
|
|
||||||
|
- name: Update Apt cache.
|
||||||
|
apt:
|
||||||
update_cache: true
|
update_cache: true
|
||||||
|
when: kubernetes_repository.changed
|
||||||
|
|
||||||
- name: Add Kubernetes apt preferences file to pin a version.
|
- name: Add Kubernetes apt preferences file to pin a version.
|
||||||
template:
|
template:
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
---
|
---
|
||||||
apiVersion: kubeadm.k8s.io/v1beta3
|
apiVersion: kubeadm.k8s.io/{{ kubernetes_config_kubeadm_apiversion }}
|
||||||
kind: InitConfiguration
|
kind: InitConfiguration
|
||||||
{{ kubernetes_config_init_configuration | to_nice_yaml }}
|
{{ kubernetes_config_init_configuration | to_nice_yaml }}
|
||||||
---
|
---
|
||||||
apiVersion: kubeadm.k8s.io/v1beta3
|
apiVersion: kubeadm.k8s.io/{{ kubernetes_config_kubeadm_apiversion }}
|
||||||
kind: ClusterConfiguration
|
kind: ClusterConfiguration
|
||||||
{{ kubernetes_config_cluster_configuration | to_nice_yaml }}
|
{{ kubernetes_config_cluster_configuration | to_nice_yaml }}
|
||||||
{% if kubernetes_config_kubelet_configuration|length > 0 %}
|
{% if kubernetes_config_kubelet_configuration|length > 0 %}
|
||||||
---
|
---
|
||||||
apiVersion: kubelet.config.k8s.io/v1beta1
|
apiVersion: kubelet.config.k8s.io/{{ kubenetes_config_kubelet_apiversion }}
|
||||||
kind: KubeletConfiguration
|
kind: KubeletConfiguration
|
||||||
{{ kubernetes_config_kubelet_configuration | to_nice_yaml }}
|
{{ kubernetes_config_kubelet_configuration | to_nice_yaml }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if kubernetes_config_kube_proxy_configuration|length > 0 %}
|
{% if kubernetes_config_kube_proxy_configuration|length > 0 %}
|
||||||
---
|
---
|
||||||
apiVersion: kubeproxy.config.k8s.io/v1alpha1
|
apiVersion: kubeproxy.config.k8s.io/{{ kubernetes_config_kubeproxy_apiversion }}
|
||||||
kind: KubeProxyConfiguration
|
kind: KubeProxyConfiguration
|
||||||
{{ kubernetes_config_kube_proxy_configuration | to_nice_yaml }}
|
{{ kubernetes_config_kube_proxy_configuration | to_nice_yaml }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
Loading…
Reference in New Issue
Block a user