Kubernetes 二进制部署

部署方式

  1. ansible-playbook控制整体架构部署逻辑

  2. k8s、harbor、docker、etcd、flannel、cfssl等均采用二进制方式部署

部署思路

1
1

ansible整体目录结构

[root@node1 ~]# tree starx-k8s-deploy/
starx-k8s-deploy/
├── ansible.cfg
├── install.yml
├── inventory
│   ├── group_vars
│   │   └── k8s_hosts
│   │       └── main.yml
│   └── hosts.ini
├── playbooks
│   ├── files
│   │   ├── centos7.tar.gz  ## 制作的私有yum
│   │   ├── cfssl.tar.gz
│   │   ├── cni.tar.gz
│   │   ├── etcd-v3.4.16.tar.gz
│   │   ├── harbor.tar.gz
│   │   ├── k8s_master.tar.gz
│   │   └── k8s_node.tar.gz
│   ├── install_coredns.yml
│   ├── install_docker.yml
│   ├── install_etcd.yml
│   ├── install_flannel.yml
│   ├── install_harbor.yml
│   ├── install_helm.yml
│   ├── install_images.yml
│   ├── install_k8s_master.yml
│   ├── install_k8s_node.yml
│   ├── install_system_init.yml
│   └── roles
│       ├── cfssl
│       │   └── tasks
│       │       ├── cfssl.yml
│       │       └── main.yml
│       ├── chrony
│       │   ├── files
│       │   │   └── chrony.keys
│       │   ├── handlers
│       │   │   └── main.yml
│       │   ├── tasks
│       │   │   └── main.yml
│       │   └── templates
│       │       ├── chrony_agent.conf
│       │       └── chrony_server.conf
│       ├── coredns
│       │   ├── defaults
│       │   │   └── main.yml
│       │   ├── files
│       │   │   └── coredns.yml
│       │   └── tasks
│       │       └── main.yml
│       ├── docker
│       │   ├── defaults
│       │   │   └── main.yml
│       │   ├── files
│       │   │   └── docker.service
│       │   ├── handlers
│       │   │   └── main.yml
│       │   ├── tasks
│       │   │   └── main.yml
│       │   └── templates
│       │       └── daemon.json.j2
│       ├── etcd
│       │   ├── defaults
│       │   │   └── main.yml
│       │   ├── files
│       │   │   ├── ca-config.json
│       │   │   ├── ca-csr.json
│       │   │   ├── ca-key.pem
│       │   │   └── ca.pem
│       │   ├── handlers
│       │   │   └── main.yml
│       │   ├── tasks
│       │   │   └── main.yml
│       │   └── templates
│       │       ├── check_etcd_cluster.sh.j2
│       │       ├── etcd.conf.j2
│       │       ├── etcd-csr.json.j2
│       │       └── etcd.service.j2
│       ├── flannel
│       │   ├── defaults
│       │   │   └── main.yml
│       │   ├── files
│       │   │   ├── ca-config.json
│       │   │   ├── ca-csr.json
│       │   │   ├── ca-key.pem
│       │   │   ├── ca.pem
│       │   │   └── flannel-csr.json
│       │   ├── handlers
│       │   │   └── main.yml
│       │   ├── tasks
│       │   │   └── main.yml
│       │   └── templates
│       │       └── flanneld.service.j2
│       ├── harbor
│       │   ├── defaults
│       │   │   └── main.yml
│       │   ├── tasks
│       │   │   ├── harbor.yml
│       │   │   ├── main.yml
│       │   │   └── project.yml
│       │   └── templates
│       │       └── harbor.yml.j2
│       ├── helm
│       │   └── tasks
│       │       ├── helm.yml
│       │       ├── main.yml
│       │       └── plugin.yml
│       ├── k8s_master
│       │   ├── defaults
│       │   │   └── main.yml
│       │   ├── files
│       │   │   ├── admin.json
│       │   │   ├── audit-policy.yaml
│       │   │   ├── ca-config.json
│       │   │   ├── ca-csr.json
│       │   │   ├── ca-key.pem
│       │   │   ├── ca.pem
│       │   │   └── k8s-rbac.yml
│       │   ├── handlers
│       │   │   └── main.yml
│       │   ├── tasks
│       │   │   ├── apiserver.yml
│       │   │   ├── global_cmd.yml
│       │   │   ├── kube-admin.yml
│       │   │   ├── kube-controller-manager.yml
│       │   │   ├── kube-scheduler.yml
│       │   │   ├── main.yml
│       │   │   └── prepare.yml
│       │   └── templates
│       │       ├── apiserver.json.j2
│       │       ├── create_kube_admin.sh.j2
│       │       ├── create_kube_controller_manager.kubeconfig.sh.j2
│       │       ├── create_kube_scheduler.kubeconfig.sh.j2
│       │       ├── k8s-master.sh.j2
│       │       ├── kube-apiserver.conf.j2
│       │       ├── kube-apiserver.service.j2
│       │       ├── kube-controller-manager.conf.j2
│       │       ├── kube-controller-manager.json.j2
│       │       ├── kube-controller-manager.service.j2
│       │       ├── kube-scheduler.conf.j2
│       │       ├── kube-scheduler.json.j2
│       │       ├── kube-scheduler.service.j2
│       │       └── token.csv.j2
│       ├── k8s_node
│       │   ├── defaults
│       │   │   └── main.yml
│       │   ├── files
│       │   │   ├── ca-config.json
│       │   │   ├── ca-csr.json
│       │   │   ├── ca-key.pem
│       │   │   ├── ca.pem
│       │   │   └── kube-proxy-csr.json
│       │   ├── handlers
│       │   │   └── main.yml
│       │   ├── tasks
│       │   │   ├── cni.yml
│       │   │   ├── global_cmd.yml
│       │   │   ├── kubelet.yml
│       │   │   ├── kube-proxy.yml
│       │   │   ├── main.yml
│       │   │   └── prepare.yml
│       │   └── templates
│       │       ├── create_kubelet.sh.j2
│       │       ├── create_kube_proxy.kubeconfig.sh.j2
│       │       ├── k8s-node.sh.j2
│       │       ├── kubelet.conf.j2
│       │       ├── kubelet.service.j2
│       │       ├── kubelet.yaml.j2
│       │       ├── kube-proxy.conf.j2
│       │       ├── kube-proxy.service.j2
│       │       └── kube-proxy.yaml.j2
│       ├── load_images
│       │   ├── defaults
│       │   │   └── main.yml
│       │   └── tasks
│       │       ├── load.yml
│       │       ├── login.yml
│       │       ├── main.yml
│       │       └── prepare.yml
│       ├── supervisor
│       │   ├── files
│       │   │   ├── supervisord.conf
│       │   │   └── supervisord.service
│       │   ├── handlers
│       │   │   └── main.yml
│       │   └── tasks
│       │       └── main.yml
│       └── system_init
│           ├── defaults
│           │   └── main.yml
│           ├── files
│           │   ├── 20-nproc.conf
│           │   ├── config
│           │   ├── id_rsa
│           │   ├── id_rsa.pub
│           │   ├── master_chrony.conf
│           │   └── sysctl.conf
│           ├── tasks
│           │   ├── disable_firewall.yml
│           │   ├── hostname.yml
│           │   ├── main.yml
│           │   ├── repos.yml
│           │   ├── ssh_key.yml
│           │   └── system_optimization.yml
│           └── templates
│               ├── hosts.j2
│               └── local.repo.j2
├── pre_ansible.sh
├── README
└── test-nginx.yml

获取ansible部署代码可留言

Copyright & TianCiwang 2021 all right reserved,powered by Gitbook修改时间: 2022-03-16 11:35:37

results matching ""

    No results matching ""

    results matching ""

      No results matching ""