天天看點

rke部署k8s叢集

一、 基礎環境

作業系統:CentOS7.6

核心版本:Linux 3.10.0-957.el7.x86_64

kubernetes:v1.13.5

docker版本:18.06.1-ce

二、 準備工作

你需要準備如下這些東西

1 rke安裝包

https://github.com/rancher/rke/releases 這個連結,找你要的版本,本例為v0.2.1

2 cluster.yml檔案

https://rancher.com/docs/rke/latest/en/example-yamls/ 這裡有cluster.yml檔案的樣例

3 主機配置設定

IP 角色 備注
10.3.222.222 rke部署機
10.3.222.223 master1
10.3.222.224 master2
10.3.222.225 node3
10.3.222.226 node1
10.3.222.227 node2

4 關閉所有主機的selinux、firewalld

# setenforce 0

# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

# systemctl stop firewalld && systemctl disable firewalld

三、 部署過程

1 安裝docker

# yum install -y epel-release

# yum install -y yum-utils net-tools conntrack-tools wget

# yum-config-manager \

--add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

可以檢視都有哪些docker的版本

# yum list docker-ce --showduplicate

# yum install -y docker-ce-18.06.1.ce

2 添加使用者

# useradd -g docker docker

3 免密登入

将10.3.222.222主機root使用者的公鑰添加到k8s所有節點docker使用者下的authorized_keys檔案中。

# echo "your key" >> /home/docker/.ssh/authorized_keys

4 rke操作

5 cluster.yml檔案

nodes:
    - address: 10.3.222.223
      user: docker
      role:
         - controlplane
         - etcd
      labels:
         ingress: 'true'
    - address: 10.3.222.224
      user: docker
      role:
         - controlplane
         - etcd
      labels:
         ingress: 'true'
    - address: 10.3.222.225
      user: docker
      role:
         - controlplane
         - etcd
      labels:
         ingress: 'true'
    - address: 10.3.222.226
      user: docker
      role:
         - worker
    - address: 10.3.222.227
      user: docker
      role:
         - worker
  - address: 10.3.222.228
    user: docker
    role:
       - worker
ingress:
   provider: none

ignore_docker_version: true

cluster_name: k8s_test

services:
    kube-api:
        service_cluster_ip_range: 10.96.0.0/16
        service_node_port_range: 30000-42767
        pod_security_policy: false
    kubelet:
        cluster_domain: cluster.local
        cluster_dns_server: 10.96.0.10
        fail_swap_on: false
        extra_args:
            max-pods: 250
            cgroup-driver: cgroupfs

    kube-controller:
        cluster_cidr: 10.244.0.0/16
        service_cluster_ip_range: 10.96.0.0/16

authentication:
    strategy: x509

authorization:
    mode: rbac
network:
    plugin: flannel

addons_include:
    - https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v1.11/nvidia-device-plugin.yml           

6 安裝叢集

繼續閱讀