Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
A
Ansible Role Kubernetes
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nanahira
Ansible Role Kubernetes
Commits
75136958
Commit
75136958
authored
May 09, 2018
by
Jeff Geerling
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
More updates to make things work better in various situations.
parent
7bf95595
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
63 additions
and
2 deletions
+63
-2
README.md
README.md
+12
-0
defaults/main.yml
defaults/main.yml
+5
-0
tasks/main.yml
tasks/main.yml
+43
-2
tests/test.yml
tests/test.yml
+3
-0
No files found.
README.md
View file @
75136958
...
...
@@ -20,6 +20,18 @@ Available variables are listed below, along with default values (see `defaults/m
- name: kubernetes-cni
state: present
TODO.
kubernetes_allow_swap: False
TODO.
kubernetes_allow_pods_on_master: True
TODO.
kubernetes_enable_web_ui: True
TODO.
kubernetes_apt_release_channel: main
...
...
defaults/main.yml
View file @
75136958
...
...
@@ -9,6 +9,11 @@ kubernetes_packages:
-
name
:
kubernetes-cni
state
:
present
kubernetes_allow_swap
:
False
kubernetes_allow_pods_on_master
:
True
kubernetes_enable_web_ui
:
True
kubernetes_apt_release_channel
:
main
kubernetes_apt_repository
:
"
deb
http://apt.kubernetes.io/
kubernetes-{{
ansible_distribution_release
}}
{{
kubernetes_apt_release_channel
}}"
kubernetes_apt_ignore_key_error
:
False
...
...
tasks/main.yml
View file @
75136958
...
...
@@ -15,12 +15,26 @@
notify
:
restart kubelet
with_items
:
"
{{
kubernetes_packages
}}"
-
name
:
Allow kubelet to run with swap enabled (if configured).
lineinfile
:
path
:
/etc/systemd/system/kubelet.service.d/10-kubeadm.conf
line
:
'
Environment="KUBELET_EXTRA_ARGS=--fail-swap-on=false"'
regexp
:
'
Environment="KUBELET_EXTRA_ARGS=--fail-swap-on.+'
insertafter
:
'
^Environment='
state
:
present
when
:
kubernetes_allow_swap
-
name
:
Ensure kubelet is started and enabled at boot.
service
:
name
:
kubelet
state
:
started
enabled
:
yes
-
name
:
Check if Kubernetes has already been initialized.
stat
:
path
:
/etc/kubernetes/admin.conf
register
:
kubernetes_init_stat
-
name
:
Initialize the Kubernetes master with kubeadm init.
command
:
>
kubeadm init
...
...
@@ -30,10 +44,37 @@
--ignore-preflight-errors=all
register
:
kubeadmin_init
failed_when
:
False
when
:
kubernetes_init_stat.stat.exists == False
-
name
:
Print the init output to screen.
debug
:
var=kubeadmin_init.stdout
when
:
kubernetes_init_stat.stat.exists == False
-
name
:
Ensure .kube directory exists.
file
:
path
:
~/.kube
state
:
directory
-
name
:
Symlink the kubectl admin.conf to ~/.kube/conf.
file
:
src
:
/etc/kubernetes/admin.conf
dest
:
~/.kube/config
state
:
link
-
name
:
Configure Flannel networking.
command
:
"
{{
item
}}"
with_items
:
-
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
-
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kube-flannel-rbac.yml
# TODO: Set up Flannel.
# TODO: Check if taint exists with something like `kubectl describe nodes`
# instead of using kubernetes_init_stat.stat.exists check.
-
name
:
Allow pods on master node (if configured).
command
:
"
kubectl
taint
nodes
--all
node-role.kubernetes.io/master-"
when
:
-
kubernetes_allow_pods_on_master
-
kubernetes_init_stat.stat.exists == False
# TODO: Allow pods on master with `kubectl taint nodes --all node-role.kubernetes.io/master-`
-
name
:
Enable the Kubernetes Web Dashboard UI (if configured).
command
:
"
kubectl
create
-f
https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml"
when
:
kubernetes_enable_web_ui
tests/test.yml
View file @
75136958
---
-
hosts
:
all
vars
:
kubernetes_allow_swap
:
True
pre_tasks
:
-
name
:
Update apt cache.
apt
:
update_cache=yes cache_valid_time=600
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment