Giter Club home page Giter Club logo

binary-ansbile-k8s's Introduction

kubernetes v1.23.5 高可用集群自动部署

Ubuntu 系统

1、准备一台ansible操作服务器

apt -y install ansible

2、git clone

git clone [email protected]:Asvex/binary-ansible-k8s.git
mv binary-ansible-k8s kubernetes

3、ansible-playbook

ansible-playbook -i ~/hosts ~/k8s.yaml 

4、k8s.yaml

# dir=/root/kubernetes/roles

# create certificate
> ### $dir/cert.sh send to $dir/{etcd,master,node}/files/
- name: create cert 
  gather_facts: false
  hosts: operater
  roles:
    - certificate
  tags: certificate
  
# create components
> ### wget https://dl.k8s.io/v1.23.5/kubernetes-server-linux-amd64.tar.gz -C $dir/common/files
> ### wget https://github.com/etcd-io/etcd/releases/download/v3.5.4/etcd-v3.5.4-linux-amd64.tar.gz -C $dir/common/files
> ### tar *.tar.gz kube{ctl,-apiserver,-controller-manager,-scheduler} send to $dir/master/files/
> ### tar *.tar.gz etcd{,ctl} send to $dir/etcd/files/
> ### tar *.tar.gz kube{let,-proxy} send to $dir/node/files/
> ### create token.csv send to $dir/master/files/
- name: create token.csv kube{ctl,let,-apiserver,-controller-manager,-scheduler,-proxy}
  gather_facts: false
  hosts: operater
  roles:
    - common
  tags: common

# set up etcd cluster 
> ### tags:certificate:  $dir/etcd/files/ca*.pem etcd*.pem
> ### tags:common:  $dir/etcd/files/etcd{,ctl}
- name: etcd service
  gather_facts: false
  hosts: etcd
  roles:
    - etcd
  tags: etcd

# set up kubernetes components 
> ### tags:certificate:  $dir/master/files/ca*.pem admin*.pem kube{ctl,-apiserver,-controller-manager,-scheduler}*.pem
> ### tags:common:  $dir/master/files/token.csv kube{ctl,-apiserver,-controller-manager,-scheduler} 
- name: master
  gather_facts: false
  hosts: master
  roles:
    - master
  tags: master

# set up api
> ### kubecatl apply -f *.yaml
- name: kubernetes-kubelet api
  gather_facts: false
  hosts: master[0]
  roles:
    - api
  tags: api
  
  - name: node
  gather_facts: false
  hosts: node
  roles:
    - node
  tags: node

- name: network
  gather_facts: false
  hosts: master[0]
  roles:
    - network
  tags: network

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.