目录

搭建k8s集群

安装docke

配置阿里云Docker Yum源

安装指定版本Docker

系统内核调优

配置免密登录

给普通用户配置免密

启动配置文件

下载kubectl工具,并且配置权限

查看集群状态

rancher管理k8s集群

启动docker

使用docker启动


搭建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

# Use Aliyun Docker

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:"

导入集群

刷新完就可以看到集群了

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐