一、 基礎環境
作業系統: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