saltsatck自動化安裝kubernets v1.10.1
阿新 • • 發佈:2018-04-19
kubernets saltstack前面手動安裝了kubernets,但是過程比較繁瑣,也不容易重復,今天有時間寫了一個使用saltstack來安裝kubernets。
1.已知問題:
用於加入node接天的token需要手動修改
環境:
centos7.2 2c+4g+40 saltmaster
centos7.2 2c+4g+40 saltminion k8s-master
centos7 2c +2g saltminion k8s-node1
本環境默認已經修改了主機名和關閉了防火墻,安裝好saltminion,如果不知道怎麽做可以看看cobbler,系統初始化安裝的時候全部搞定。
saltstack安裝master思路:
1.安裝docker並啟動,註意docker版本,官網明確表示最多到17.03
2.同步kubernetsyum源
3.安裝kubernets
4.修改配置文件
5.啟動kubernets
6.初始化kubernets
7.將節點加入集群
8.測試
1.已知問題:
用於加入node接天的token需要手動修改
環境:
centos7.2 2c+4g+40 saltmaster
centos7.2 2c+4g+40 saltminion k8s-master
centos7 2c +2g saltminion k8s-node1
本環境默認已經修改了主機名和關閉了防火墻,安裝好saltminion,如果不知道怎麽做可以看看cobbler,系統初始化安裝的時候全部搞定。
saltstack安裝master思路:
1.安裝docker並啟動,註意docker版本,官網明確表示最多到17.03
3.安裝kubernets
4.修改配置文件
5.啟動kubernets
6.初始化kubernets
7.將節點加入集群
8.測試
k8smaster節點:
[root@saltmater prod]# cat k8s_master/install_k8s_master.sls
dock_relay_pkg:
pkg.installed:
- names:
- yum-utils
- device-mapper-persistent-data
- lvm2
- wget
- net-tools
dock_v17selinux_file:
file.managed:
- name: /opt/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm
- source: salt://k8s_master/files/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm
- user: root
- group: root
- mode: 644
- unless: test -f /opt/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm
docker_v17ce_file:
file.managed: - name: /opt/docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm
- source: salt://k8s_master/files/docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm
- user: root
- group: root
- mode: 644
- unless: test -f /opt/docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm
install_docker_v17:
cmd.run: - name: cd /opt && yum localinstall docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm -y
- require:
- file: dock_v17selinux_file
- file: docker_v17ce_file
service.running:
- name: docker
- enable: True
- require:
- cmd: install_docker_v17
kubernetes_repo:
file.managed:
- cmd: install_docker_v17
- name: /root/ku_repo.sh
- source: salt://k8s_master/files/ku_repo.sh
- user: root
- group: root
- mode: 755
- unless: test -f /root/ku_repo.sh
cmd.run: - name: /bin/bash /root/ku_repo.sh
- reuqire:
- file: kubernetes_repo
kubelet_install:
pkg.installed:
- file: kubernetes_repo
- names:
- kubelet
- kubeadm
- kubectl
- require:
- cmd: kubernetes_repo
config_file_modify:
file.managed:
- cmd: kubernetes_repo
- name: /opt/k8s_config_modify.sh
- source: salt://k8s_master/files/k8s_config_modify.sh
- user: root
- group: root
- mode: 755
cmd.run: - name: /bin/bash -x /opt/k8s_config_modify.sh
- require:
- pkg: kubelet_install
- file: config_file_modify
k8s_node節點:
cat k8s_node/install_k8s_node.sls
dock_node_pkg:
pkg.installed:
- names:
- yum-utils
- device-mapper-persistent-data
- lvm2
- wget
- net-tools
dock_selinux_file:
file.managed:
- name: /opt/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm
- source: salt://k8s_node/files/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm
- user: root
- group: root
- mode: 644
- unless: test -f /opt/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm
docker_ce_file:
file.managed: - name: /opt/docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm
- source: salt://k8s_node/files/docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm
- user: root
- group: root
- mode: 644
- unless: test -f /opt/docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm
install_docker:
cmd.run: - name: cd /opt && yum localinstall docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm -y
- require:
- file: dock_selinux_file
- file: docker_ce_file
service.running:
- name: docker
- enable: True
- require:
- cmd: install_docker
kubernetes_repo_yum:
file.managed:
- cmd: install_docker
- name: /root/ku_repo.sh
- source: salt://k8s_node/files/ku_repo.sh
- user: root
- group: root
- mode: 755
- unless: test -f /root/ku_repo.sh
cmd.run: - name: /bin/bash /root/ku_repo.sh
- reuqire:
- file: kubernetes_repo_yum
pkg.installed:
- file: kubernetes_repo_yum
- names:
- kubelet
- kubeadm
- kubectl
- require:
- cmd: kubernetes_repo_yum
config_node_modify:
file.managed:
- cmd: kubernetes_repo_yum
- name: /opt/k8s_node_modify.sh
- source: salt://k8s_node/files/k8s_node_modify.sh
- user: root
- group: root
- mode: 755
cmd.run: - name: /bin/bash -x /opt/k8s_node_modify.sh
-
require:
- pkg: kubernetes_repo_yum
-
file: config_node_modify
部署2個nginx服務做測試:
kubectl run nginx --image=nginx --replicas=2 --labels="run=load-tomct-example" --port=8089
查看服務是否啟動:
saltsatck自動化安裝kubernets v1.10.1