rke 部署 k8s 实战

1.1) virtualbox + vagrant 生成4台虚拟机 (centos7 , public_network)

主机 ip 内存 备注
rke(master) 192.168.1.117 2.5G  
node1 192.168.1.116 1G  
node2 192.168.1.113 1G  
node3 192.168.1.115 1G  

1.2) 设置主机名, 

     > hostnamectl set-hostname rke 

1.3)配置 hosts:

    > vi /etc/hosts 

    在尾部加入

    192.168.1.117 rke
    192.168.1.116 node1
    192.168.1.113 node2

    192.168.1.115 node3

1.4)配置ssh key
        将rke的虚拟机 private_key 上传到rke主机用户vagrant 的 .ssh 目录,并更名为: id_dsa, 更改授权:             > chmod 0600 id_dsa

     将rke主机用户vagrant 的 authorized_keys 文件覆盖其它主机用户vagrant 的authorized_keys。目录在 /home/vagrant/.ssh.


1.5) 测试ssh key 访问

        在rke 主机输入命令: >ssh node1 

       成功则可以看到:  [vagrant@node1 ~]$ 

1.6)下载rke

        rke最新版本下载: https://github.com/rancher/rke/releases/

        下载: rke_linux-amd64

          > mv rke_linux-amd64 rke 

          > chmod +x rke 

1.7) 安装 docker

    

Docker Version Install Script
17.03.2 curl https://releases.rancher.com/install-docker/17.03.sh | sh
1.13.1 curl https://releases.rancher.com/install-docker/1.13.sh | sh
1.12.6 curl https://releases.rancher.com/install-docker/1.12.sh | sh

这里选择安装 17.03.2,  在所有主机执行命令:

> sudo curl https://releases.rancher.com/install-docker/17.03.sh | sh

> sudo usermod -aG docker vagrant

1.8) 安装

    在主机rke 执行: > ./rke config  , 生成配置文件: cluster.yml , 

# If you intened to deploy Kubernetes in an air-gapped environment,
# please consult the documentation on how to configure custom RKE images.
nodes:
- address: "192.168.1.117"
  port: "22"
  internal_address: ""
  role:
  - controlplane
  - etcd
  hostname_override: rke
  user: vagrant
  docker_socket: /var/run/docker.sock
  ssh_key: ""
  ssh_key_path: ~/.ssh/id_dsa
  labels: {}
- address: "192.168.1.116"
  port: "22"
  role:
  - worker
  hostname_override: node1
  user: vagrant
  docker_socket: /var/run/docker.sock
  ssh_key: ""
  ssh_key_path: ~/.ssh/id_dsa
  labels: {}
- address: "192.168.1.113"
  port: "22"
  role:
  - worker
  hostname_override: node2
  user: vagrant
  docker_socket: /var/run/docker.sock
  ssh_key: ""
  ssh_key_path: ~/.ssh/id_dsa
  labels: {}
- address: "192.168.1.115"
  port: "22"
  role:
  - worker
  hostname_override: node3
  user: vagrant
  docker_socket: /var/run/docker.sock
  ssh_key: ""
  ssh_key_path: ~/.ssh/id_dsa
  labels: {}
services:
  etcd:
    image: ""
    extra_args: {}
    extra_binds: []
    extra_env: []
    external_urls: []
    ca_cert: ""
    cert: ""
    key: ""
    path: ""
    snapshot: false
    retention: ""
    creation: ""
  kube-api:
    image: ""
    extra_args: {}
    extra_binds: []
    extra_env: []
    service_cluster_ip_range: 10.43.0.0/16
    service_node_port_range: ""
    pod_security_policy: false
  kube-controller:
    image: ""
    extra_args: {}
    extra_binds: []
    extra_env: []
    cluster_cidr: 10.42.0.0/16
    service_cluster_ip_range: 10.43.0.0/16
  scheduler:
    image: ""
    extra_args: {}
    extra_binds: []
    extra_env: []
  kubelet:
    image: ""
    extra_args: {}
    extra_binds: []
    extra_env: []
    cluster_domain: cluster.local
    infra_container_image: ""
    cluster_dns_server: 10.43.0.10
    fail_swap_on: false
  kubeproxy:
    image: ""
    extra_args: {}
    extra_binds: []
    extra_env: []
network:
  plugin: flannel
  options: {}
authentication:
  strategy: x509
  options: {}
  sans: []
addons: ""
addons_include: []
system_images:
  etcd: rancher/coreos-etcd:v3.1.12
  alpine: rancher/rke-tools:v0.1.10
  nginx_proxy: rancher/rke-tools:v0.1.10
  cert_downloader: rancher/rke-tools:v0.1.10
  kubernetes_services_sidecar: rancher/rke-tools:v0.1.10
  kubedns: rancher/k8s-dns-kube-dns-amd64:1.14.8
  dnsmasq: rancher/k8s-dns-dnsmasq-nanny-amd64:1.14.8
  kubedns_sidecar: rancher/k8s-dns-sidecar-amd64:1.14.8
  kubedns_autoscaler: rancher/cluster-proportional-autoscaler-amd64:1.0.0
  kubernetes: rancher/hyperkube:v1.10.5-rancher1
  flannel: rancher/coreos-flannel:v0.9.1
  flannel_cni: rancher/coreos-flannel-cni:v0.2.0
  calico_node: rancher/calico-node:v3.1.1
  calico_cni: rancher/calico-cni:v3.1.1
  calico_controllers: ""
  calico_ctl: rancher/calico-ctl:v2.0.0
  canal_node: rancher/calico-node:v3.1.1
  canal_cni: rancher/calico-cni:v3.1.1
  canal_flannel: rancher/coreos-flannel:v0.9.1
  wave_node: weaveworks/weave-kube:2.1.2
  weave_cni: weaveworks/weave-npc:2.1.2
  pod_infra_container: rancher/pause-amd64:3.1
  ingress: rancher/nginx-ingress-controller:0.10.2-rancher3
  ingress_backend: rancher/nginx-ingress-controller-defaultbackend:1.4
ssh_key_path: ~/.ssh/id_rsa
ssh_agent_auth: false
authorization:
  mode: rbac
  options: {}
ignore_docker_version: false
kubernetes_version: ""
private_registries: []
ingress:
  provider: ""
  options: {}
  node_selector: {}
  extra_args: {}
cluster_name: ""
cloud_provider:
  name: ""
prefix_path: ""
addon_job_timeout: 0
bastion_host:
  address: ""
  port: ""
  user: ""
  ssh_key: ""
  ssh_key_path: ""

安装k8s:

> ./rke up 

备注: http://staging.rancher.com/docs/rke/v0.1.x/en/installation/

你可能感兴趣的:(rke 部署 k8s 实战)