rke安装k8s

划三台机器用rke安装k8s,rke安装之前先配好一台的环境,然后克隆。
版本信息:

软件    版本
os    CentOS Linux release 7.5.1804
docker    18.06.2-ce
rke    v0.2.4(默认k8s版本:v1.13.5-rancher1-3)
kubectl    v1.15.0
一、装机,配静态ip,装常用软件
用vmware最小化安装centos7后,修改主机名和hosts文件。

vi /etc/hostname
vi /etc/hosts
 
配置静态ip
进入vmware,菜单栏选择“编辑-虚拟网络编辑器”,在最上边选择nat那个网卡,取消勾选最下边的“使用本地dhcp服务……”,点击中间的“nat设置”,记住ip、子网掩码,网关。

然后本地的windows网络设置,适配器设置里找到vmware的对应的nat那个网卡,在ipv4设置里改成静态获取,填上边记住的内容。

进入虚拟机,vi /etc/sysconfig/network-scripts/ifcfg-ens33,需要修改的:

BOOTPROTO="static"
ONBOOT="yes"
IPADDR=192.168.xxx.xxx
NETMASK=255.255.255.0
GATEWAY=192.168.xxx.x
DNS1=8.8.8.8
DNS2=114.114.114.114
 
重启:service network restart或者systemctl restart network

安装常用软件(可以不装)
yum install -y lrzsz
yum install -y net-tools
yum install -y wget
yum install -y vim-enhanced
yum install -y bash-completion
yum install -y git
yum install -y telnet
yum install -y telnet-server
 
二、安装docker
环境配置
禁用selinux:修改配置文件/etc/sysconfig/selinux,设置SELINUX=disabled。
禁用交换分区:修改/etc/fstab,注释掉swap项。
关闭防火墙:systemctl disable firewalld && systemctl stop firewalld && systemctl status firewalld。
重启一波。

删除旧版本残留
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
 
删除残留镜像、容器、卷文件:

rm –rf /var/lib/docker/
 
rpm方式安装docker
官网提供多种方式安装:https://docs.docker.com/install/linux/docker-ce/centos/
本文采用方式是官网下载rpm包:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
传到虚拟机,虚拟机里安装:

cd到rpm包所在目录,
yum install -y ./docker-ce-18.06.2.ce-3.el7.x86_64.rpm
 
修改docker配置
mkdir /etc/docker
vi /etc/docker/daemon.json
添加:
{
    "registry-mirrors": [
        "https://registry.docker-cn.com"
    ],
    "dns":[
        "114.114.114.114",
        "8.8.8.8",
        "8.8.4.4"
    ]
}
 
然后使之生效:systemctl daemon-reload
设置开机自启:systemctl enable docker
启动:systemctl start docker
测试:docker run hello-world

三、rke安装k8s
安装前修改配置
此处默认安装docker前的配置修改已经完成。

rke安装需要新建用户并添加到docker组:

useradd xxx
passwd xxx
usermod -aG docker xxx
 
顺便添加一下sudo权限:

vi /etc/sudoers
找到这一行:"root ALL=(ALL) ALL",
在下面添加"xxx ALL=(ALL) ALL"(这里的xxx是你的用户名)
 
启动ipv4转发:CentOS7下可编辑配置文件/etc/sysctl.conf,添加:

net.ipv4.ip_forward = 1              
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
 
执行sudo sysctl -p 立刻生效。

虚拟机克隆
关机,打个快照,然后用vmware的克隆功能克隆出2个。修改静态ip、主机名和hosts文件。关机打快照。

ssh配置
接下来切换到前边自己建的普通用户:su - xxx。
在打算安装rke的那台机器执行:

 ssh-keygen  #三次回车
 
然后发送公钥给另两台机器以及自己本身:

ssh-copy-id 用户名@机器IP #输入yes和密码
 
测试免密:

ssh 用户名@机器IP
 
rke安装
下载地址:https://github.com/rancher/rke/releases/tag/v0.2.4
传到ssh免密的那一台虚拟机,改个名,赋个执行权限:

mv rke_linux-amd64 rke-v0.2.4
chmod +x rke-v0.2.4
 
同目录下创建cluster.yml文件:

nodes:
  - address: 192.168.178.xxx
    user: 前边自己建的用户
    role: [controlplane,etcd]
  - address: 192.168.178.xxx
    user: 前边自己建的用户
    role: [etcd,worker]
  - address: 192.168.178.xxx
    user: 前边自己建的用户
    role: [etcd,worker]
 
开始安装(是个幂等操作):

./rke-v0.2.4 up --config cluster.yml
1
完成后当前目录会生成kube_config_cluster.yml文件和cluster.rkestate文件。

安装kubectl
下载最新版(当前是v1.15.0):

curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
1
也可下载指定版本,详见官网:https://kubernetes.io/docs/tasks/tools/install-kubectl/

传到一台机器上,赋予执行权限,放到bin目录:

chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
 
rke安装后,会在当前目录生成k8s集群配置文件kube_config_cluster.yml,拷贝这个文件并重命名为~/.kube/config。然后测试使用:

kubectl get node
 
四、其它后续
helm安装
版本:

软件    版本
helm    v2.14.1
tiller    v2.14.1+unreleased
官网下载:https://github.com/helm/helm/releases

sudo tar -xzvf helm-v2.14.1-linux-amd64.tar.gz
cd linux-amd64/
sudo cp helm /usr/local/bin/
helm init
 
这里init需要翻墙下载tiller镜像,不然会失败,不翻墙可以这样做:

kubectl get pod -n kube-system 
#找到tiller并且describe一下,记住下载失败的tiller镜像版本
#比如叫gcr.io/kubernetes-helm/tiller:v2.14.1
#到docker hub按最近更新搜tiller,找对应版本
helm init --tiller-image=jessestuart/tiller:v2.14.1 --upgrade
 
如果集群启用rbac,helm ls命令会失败,还需要做:

# 在kube-system命名空间中创建tiller账户
kubectl create serviceaccount --namespace kube-system tiller
# 创建角色并授予cluster-admin权限
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
# 指定账户进行初始化,别忘了还要指定tiller镜像哦
helm init --service-account tiller --tiller-image=jessestuart/tiller:v2.14.1 --upgrade
# 等待pod重启后验证
helm ls
 
kubectl和helm命令补全
yum install -y bash-completion
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc
source <(helm completion bash)
echo "source <(helm completion bash)" >> ~/.bashrc
source /usr/share/bash-completion/bash_completion
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值