New playbooks for k8s service and examples
- kubedns moved to playbooks dir - new ansible playbooks added for kubedash and kube-dashboard - examples for k8s deployments and services added
This commit is contained in:
parent
9c5c0f2697
commit
39dd4c1aaa
9 changed files with 77 additions and 3 deletions
2
Vagrantfile
vendored
2
Vagrantfile
vendored
|
@ -92,7 +92,7 @@ Vagrant.configure("2") do |config|
|
||||||
if master
|
if master
|
||||||
config.vm.provision "deploy-k8s", type: "file", source: "deploy-k8s.kargo.sh", destination: "~/deploy-k8s.kargo.sh"
|
config.vm.provision "deploy-k8s", type: "file", source: "deploy-k8s.kargo.sh", destination: "~/deploy-k8s.kargo.sh"
|
||||||
config.vm.provision "custom.yaml", type: "file", source: "custom.yaml", destination: "~/custom.yaml"
|
config.vm.provision "custom.yaml", type: "file", source: "custom.yaml", destination: "~/custom.yaml"
|
||||||
config.vm.provision "kubedns.yaml", type: "file", source: "kubedns.yaml", destination: "~/kubedns.yaml"
|
config.vm.provision "playbooks", type: "file", source: "playbooks", destination: "~/playbooks"
|
||||||
config.vm.provision "nodes", type: "file", source: "nodes", destination: "~/nodes"
|
config.vm.provision "nodes", type: "file", source: "nodes", destination: "~/nodes"
|
||||||
config.vm.provision "bootstrap", type: "shell", path: "bootstrap-master.sh"
|
config.vm.provision "bootstrap", type: "shell", path: "bootstrap-master.sh"
|
||||||
else
|
else
|
||||||
|
|
|
@ -16,7 +16,7 @@ sudo sh -c 'cd /root/kargo-cli && python setup.py install'
|
||||||
# k8s deploy script and configs
|
# k8s deploy script and configs
|
||||||
sudo sh -c 'cp -a ~vagrant/deploy-k8s.kargo.sh /root/ && chmod 755 /root/deploy-k8s.kargo.sh'
|
sudo sh -c 'cp -a ~vagrant/deploy-k8s.kargo.sh /root/ && chmod 755 /root/deploy-k8s.kargo.sh'
|
||||||
sudo cp -a ~vagrant/custom.yaml /root/custom.yaml
|
sudo cp -a ~vagrant/custom.yaml /root/custom.yaml
|
||||||
sudo cp -a ~vagrant/kubedns.yaml /root/kubedns.yaml
|
sudo cp -a ~vagrant/playbooks /root/playbooks
|
||||||
|
|
||||||
# SSH keys and config
|
# SSH keys and config
|
||||||
sudo rm -rf /root/.ssh
|
sudo rm -rf /root/.ssh
|
||||||
|
|
|
@ -22,5 +22,5 @@ deploy_res=$?
|
||||||
|
|
||||||
if [ "$deploy_res" -eq "0" ]; then
|
if [ "$deploy_res" -eq "0" ]; then
|
||||||
echo "Setting up kubedns..."
|
echo "Setting up kubedns..."
|
||||||
ansible-playbook -i $INVENTORY kubedns.yaml
|
ansible-playbook -i $INVENTORY playbooks/kubedns.yaml
|
||||||
fi
|
fi
|
||||||
|
|
18
examples/kubernetes/external-nginx/README.md
Normal file
18
examples/kubernetes/external-nginx/README.md
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
Nginx example with external IPs
|
||||||
|
===============================
|
||||||
|
|
||||||
|
* Edit `nginx-frontend.yaml` and update `externalIPs` to the list of external IPs of your k8s minions
|
||||||
|
|
||||||
|
* Deploy:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kubectl create -f nginx-backends.yaml
|
||||||
|
kubectl create -f nginx-frontend.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
* Check:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl $ANY_MINION_EXTERNAL_IP
|
||||||
|
```
|
||||||
|
|
24
examples/kubernetes/external-nginx/nginx-backends.yaml
Normal file
24
examples/kubernetes/external-nginx/nginx-backends.yaml
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
apiVersion: extensions/v1beta1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: nginx-backend
|
||||||
|
spec:
|
||||||
|
replicas: 3
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: nginx-backend
|
||||||
|
tier: backend
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: nginx
|
||||||
|
image: nginx
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 100m
|
||||||
|
memory: 100Mi
|
||||||
|
env:
|
||||||
|
- name: GET_HOSTS_FROM
|
||||||
|
value: dns
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
22
examples/kubernetes/external-nginx/nginx-frontend.yaml
Normal file
22
examples/kubernetes/external-nginx/nginx-frontend.yaml
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: nginx-frontend
|
||||||
|
labels:
|
||||||
|
app: nginx-frontend
|
||||||
|
tier: frontend
|
||||||
|
spec:
|
||||||
|
externalIPs:
|
||||||
|
- 10.210.0.12
|
||||||
|
- 10.210.0.13
|
||||||
|
- 10.210.0.14
|
||||||
|
- 10.210.0.15
|
||||||
|
- 10.210.0.16
|
||||||
|
- 10.210.0.17
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
port: 80
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 80
|
||||||
|
selector:
|
||||||
|
app: nginx-backend
|
5
playbooks/kubedash.yaml
Normal file
5
playbooks/kubedash.yaml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
- hosts: kube-master
|
||||||
|
tasks:
|
||||||
|
- name: setup-kubedns
|
||||||
|
shell: kpm deploy kube-system/kubedash --namespace=kube-system
|
||||||
|
run_once: true
|
5
playbooks/kubedashboard.yaml
Normal file
5
playbooks/kubedashboard.yaml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
- hosts: kube-master
|
||||||
|
tasks:
|
||||||
|
- name: setup-kubedns
|
||||||
|
shell: kpm deploy kube-system/kubernetes-dashboard --namespace=kube-system
|
||||||
|
run_once: true
|
Loading…
Reference in a new issue