1. 程式人生 > >saltsatck自動化安裝kubernets v1.10.1

saltsatck自動化安裝kubernets v1.10.1

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.測試

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:
  • 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:
  • names:
    • kubelet
    • kubeadm
    • kubectl
  • require:
    • cmd: kubernetes_repo
      config_file_modify:
      file.managed:
  • 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:
  • 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:
  • names:
    • kubelet
    • kubeadm
    • kubectl
  • require:
    • cmd: kubernetes_repo_yum
      config_node_modify:
      file.managed:
  • 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