mirror of
https://github.com/geerlingguy/ansible-role-kubernetes.git
synced 2025-08-06 13:47:31 +02:00
Compare commits
No commits in common. "master" and "8.1.0" have entirely different histories.
@ -1,6 +1,6 @@
|
|||||||
# Ansible Role: Kubernetes
|
# Ansible Role: Kubernetes
|
||||||
|
|
||||||
[](https://github.com/geerlingguy/ansible-role-kubernetes/actions/workflows/ci.yml)
|
[](https://github.com/geerlingguy/ansible-role-kubernetes/actions?query=workflow%3ACI)
|
||||||
|
|
||||||
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.32'
|
kubernetes_version: '1.25'
|
||||||
kubernetes_version_rhel_package: '1.32'
|
kubernetes_version_rhel_package: '1.25.1'
|
||||||
```
|
```
|
||||||
|
|
||||||
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.
|
||||||
|
@ -9,8 +9,8 @@ kubernetes_packages:
|
|||||||
- name: kubernetes-cni
|
- name: kubernetes-cni
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
kubernetes_version: '1.33'
|
kubernetes_version: '1.25'
|
||||||
kubernetes_version_rhel_package: '1.33'
|
kubernetes_version_rhel_package: '1.25.1'
|
||||||
|
|
||||||
kubernetes_role: control_plane
|
kubernetes_role: control_plane
|
||||||
|
|
||||||
@ -29,11 +29,6 @@ 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: v1beta4
|
|
||||||
kubenetes_config_kubelet_apiversion: v1beta1
|
|
||||||
kubernetes_config_kubeproxy_apiversion: v1alpha1
|
|
||||||
|
|
||||||
kubernetes_config_kubelet_configuration:
|
kubernetes_config_kubelet_configuration:
|
||||||
cgroupDriver: "systemd"
|
cgroupDriver: "systemd"
|
||||||
|
|
||||||
|
@ -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).
|
||||||
|
@ -1,6 +1,2 @@
|
|||||||
---
|
---
|
||||||
roles:
|
- src: geerlingguy.containerd
|
||||||
- src: geerlingguy.containerd
|
|
||||||
|
|
||||||
collections:
|
|
||||||
- name: community.general
|
|
||||||
|
@ -8,6 +8,9 @@
|
|||||||
- include_tasks: setup-Debian.yml
|
- include_tasks: setup-Debian.yml
|
||||||
when: ansible_os_family == 'Debian'
|
when: ansible_os_family == 'Debian'
|
||||||
|
|
||||||
|
- name: Ensure dependencies are installed.
|
||||||
|
package: name=curl state=present
|
||||||
|
|
||||||
- name: Install Kubernetes packages.
|
- name: Install Kubernetes packages.
|
||||||
package:
|
package:
|
||||||
name: "{{ item.name | default(item) }}"
|
name: "{{ item.name | default(item) }}"
|
||||||
|
@ -7,13 +7,6 @@
|
|||||||
ansible_distribution != 'Debian'
|
ansible_distribution != 'Debian'
|
||||||
or ansible_distribution_major_version | int < 10
|
or ansible_distribution_major_version | int < 10
|
||||||
|
|
||||||
- name: Ensure module br_netfilter is loaded
|
|
||||||
modprobe:
|
|
||||||
name: br_netfilter
|
|
||||||
state: present
|
|
||||||
persistent: present
|
|
||||||
when: not ansible_virtualization_type == "docker"
|
|
||||||
|
|
||||||
# See: https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#letting-iptables-see-bridged-traffic
|
# See: https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#letting-iptables-see-bridged-traffic
|
||||||
- name: Let iptables see bridged traffic.
|
- name: Let iptables see bridged traffic.
|
||||||
sysctl:
|
sysctl:
|
||||||
@ -24,6 +17,5 @@
|
|||||||
- net.bridge.bridge-nf-call-iptables
|
- net.bridge.bridge-nf-call-iptables
|
||||||
- net.bridge.bridge-nf-call-ip6tables
|
- net.bridge.bridge-nf-call-ip6tables
|
||||||
when: >
|
when: >
|
||||||
( ansible_distribution != 'Debian'
|
ansible_distribution != 'Debian'
|
||||||
or ansible_distribution_major_version | int < 10
|
or ansible_distribution_major_version | int < 10
|
||||||
) and not ansible_virtualization_type == "docker"
|
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
---
|
---
|
||||||
apiVersion: kubeadm.k8s.io/{{ kubernetes_config_kubeadm_apiversion }}
|
apiVersion: kubeadm.k8s.io/v1beta3
|
||||||
kind: InitConfiguration
|
kind: InitConfiguration
|
||||||
{{ kubernetes_config_init_configuration | to_nice_yaml }}
|
{{ kubernetes_config_init_configuration | to_nice_yaml }}
|
||||||
---
|
---
|
||||||
apiVersion: kubeadm.k8s.io/{{ kubernetes_config_kubeadm_apiversion }}
|
apiVersion: kubeadm.k8s.io/v1beta3
|
||||||
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/{{ kubenetes_config_kubelet_apiversion }}
|
apiVersion: kubelet.config.k8s.io/v1beta1
|
||||||
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/{{ kubernetes_config_kubeproxy_apiversion }}
|
apiVersion: kubeproxy.config.k8s.io/v1alpha1
|
||||||
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