使用rke部署k8s集群
使用rke部署k8s集群
目录
搭建k8s集群
安装docke
entos7用阿里云Docker Yum源在线安装指定版本的docker
# 1 卸载已安装的Docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
配置阿里云Docker Yum源
# 安装Docker依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装指定版本Docker
# 查看docker版本
yum list docker-ce --showduplicates
yum install -y docker-ce-18.09.1-3.el7.centos
# 4 启动docker和设置开机自启
systemctl start docker && systemctl enable docker
1、#关闭虚拟内存(需要在root用户下;三台机器都做)
swapoff -a
sed -i 's/.*swap.*/#&/' /etc/fstab
系统内核调优
cat >> /etc/sysctl.d/kubernetes.conf<<EOF
# 开启路由功能
net.ipv4.ip_forward=1
# 避免cpu资源长期使用率过高导致系统内核锁
kernel.watchdog_thresh=30
# 开启iptables bridge
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables = 1
# 调优ARP高速缓存
net.ipv4.neigh.default.gc_thresh1=4096
net.ipv4.neigh.default.gc_thresh2=6144
net.ipv4.neigh.default.gc_thresh3=8192
EOF
重启docker
配置免密登录
A想要登录B, 就把自己的公钥发送给B
登录机器
获得公钥、私钥:ssh-keygen -t rsa
进入.ssh目录:cd /root/.ssh/
查看公钥,并复制公钥到 authorized_keys
vim authorized_keys
把这个文件传送给其他机器
给普通用户配置免密
rancher只能使用普通用户来登录
下载rke工具wget https://github.com/rancher/rke/releases/download/v1.3.1/rke_linux-amd64
chmod +x rke_linux-amd64 && cp rke_linux-amd64 /usr/bin/rke
在普通用户家目录创建cluster.yaml文件
启动配置文件
rke up -config cluster.yml
在启动时要是出现[etcd] Failed to bring up Etcd Plane: etcd cluster is unhealthy: hosts [192.168.100.666]
报错
其实这个问题的主要原因还是上个集群的一些配置没有清除,导致配置文件不同步之类的原因,在github找到的解决方案如下。我最后一个命令没有运行成功,但是再重装集群就成功了。下面的命令在集群的master上执行就行(或者是在安装rancher的机器上执行)
解决方案:
docker stop $(docker ps -aq)
docker system prune -f
docker volume rm $(docker volume ls -q)
docker image rm $(docker image ls -q)
rm -rf /etc/ceph \
/etc/cni \
/etc/kubernetes \
/opt/cni \
/opt/rke \
/run/secrets/kubernetes.io \
/run/calico \
/run/flannel \
/var/lib/calico \
/var/lib/etcd \
/var/lib/cni \
/var/lib/kubelet \
/var/lib/rancher/rke/log \
/var/log/containers \
/var/log/pods \
/var/run/calico
下载kubectl工具,并且配置权限
下载指定的版本,执行以下命令
// 查询稳定版本号
curl -L -s https://dl.k8s.io/release/stable.txt
// 安装
curl -LO https://dl.k8s.io/release/v1.26.0/bin/linux/amd64/kubectl
2.校验
//下载校验和文件
curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
// 基于校验和文件,验证 kubectl 的可执行文件
配置用户文件,并且验证安装情况
mkdir ~/.kube
cp /home/rancher/kube_config_cluster.yml ~/.kube/config
[rancher@demo02 ~]$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
11.0.1.170 Ready controlplane,etcd,worker 18m v1.21.5
11.0.1.171 Ready controlplane,etcd,worker 18m v1.21.5
11.0.1.172 Ready controlplane,etcd,worker 18m v1.21.5
安装kubectl的另一种方式
安装kubectl
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
yum install -y kubectl
查看集群状态
[root@node01 rke]# kubectl get nodes
正在上传…重新上传取消正在上传…重新上传取消
rancher管理k8s集群
启动docker
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce -y
sudo systemctl enable docker
sudo systemctl start docker
使用docker启动
sudo docker run --privileged -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
-v /host/rancher:/var/lib/rancher \
-v /var/log/rancher/auditlog:/var/log/auditlog \
-e AUDIT_LEVEL=1 \
rancher/rancher:stable
网页访问rancher
获取密码
docker logs 6e89dc6534a 2>&1 | grep "Bootstrap Password:"
导入集群
刷新完就可以看到集群了
更多推荐
所有评论(0)