1.查看系统版本,架构等情况便于后续采用对应的安装包以及命令
查看系统版本
uname -a
查看系统命令集
uname -m
这是我系统配置情况
名称 | IP | 配置 | 系统 |
---|---|---|---|
主-服务 | 192.168.23.171 | 4Cpu8G | Ubuntu 20.04.6 |
副主-服务 | 192.168.23.103 | 4Cpu8G | Ubuntu 20.04.6 |
代理-服务 | 192.168.23.248 | 4Cpu8G | Ubuntu 20.04.6 |
外置均衡代理 | 192.168.23.205 | 4Cpu8G | Ubuntu 20.04.6 |
2.配置服务器
2.1服务器源配置
修改/etc/apt/sources.list文件
2.2服务器host配置
修改主机服务名称,最好与下面的hosts中的名称相同
vi /etc/hostname
修改host文件,写主机映射的域名,每个服务器都要进行设定
vi /etc/hosts
#主服务器
192.168.23.171 k3s-master-server
#副主服务
192.168.23.103 k3s-server
#代理
192.168.23.248 k3s-agent
2.3服务器时间配置
保持服务器主机时间一致,可以开启同步
2.4处理磁盘挂载
2.4.1磁盘挂载
参考文章
这里注意要关闭 swap,在 /etc/fstab文件中的swap前添加#号
2.4.2创建与k3s和rancher相关的目录,独立存储
mkdir /data
mkdir /data/k3s
mkdir /data/k3s/k3s
mkdir /data/k3s/kubelet
mkdir /data/k3s/rancher
2.4.3建立软链接
ln -s /data/k3s/k3s /run/k3s
ln -s /data/k3s/kubelet /var/lib/kubelet
ln -s /data/k3s/rancher /var/lib/rancher
2.5其他内容安装
添加iscsi命令支持
apt-get install open-iscsi
调整忘了配置
vi /etc/sysctl.conf
net.ipv4.ip_forward=l
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_timestamps=1
使配置生效
/sbin/sysctl -p
调整dns
避免网络的问题,适当调整dns
vim /etc/resolv.conf
nameserver 8.8.8.8
nameserver 114.114.114.114
2.安装nginx配置,tcp转接,实现负载均衡
外置均衡代理服务器主要安装nginx,用于TCP转接实现负载均衡处理。并用于部分静态文件存储配置nginx.conf文件如下:psstjz.com
stream {
upstream k3s_servers {
server 192.168.23.248:6443;
server 192.168.23.103:6443;
server 192.168.23.171:6443;
}
server {
listen 6443;
proxy_pass k3s_servers;
}
}
3.添加镜像仓库
4.离线安装k3s
4.1拷贝离线文件
拷贝离线k3s执行文件、k3s-airgap-images-amd64.tar到数据存储目录
创建镜像文件对应目录,并拷贝离线文件
mkdir -p /var/lib/rancher/k3s/agent/images/
cp ./k3s-airgap-images-amd64.tar /var/lib/rancher/k3s/agent/images/
拷贝k3s执行文件,并且赋权
chmod 755 k3s
cp k3s /usr/local/bin/
4.2外部安装数据库(可选)
本次安装外部安装mysql数据库,并且创建k3s数据库
4.3k3s安装
有需要可以将sh脚本下载成文件(注意同样要修改权限)
4.3.1主-服务安装
安装过程中如果提示缺啥就装啥,每个k3s服务器都装
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_VERSION=v1.26.9+k3s1 INSTALL_K3S_MIRROR=cn INSTALL_K3S_SKIP_DOWNLOAD=true sh -s - server --datastore-endpoint="mysql://用户名:密码@tcp(ip地址:端口)/k3s"
4.3.2查询token
cat /var/lib/rancher/k3s/server/token
复制主机token信息
4.3.3副主-服务安装
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn INSTALL_K3S_SKIP_DOWNLOAD=true INSTALL_K3S_VERSION=v1.26.9+k3s1 sh -s - server --datastore-endpoint="mysql://账号:密码@tcp(ip地址:端口)/k3s" --token "主服务token"
4.3.4代理安装
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn INSTALL_K3S_SKIP_DOWNLOAD=true K3S_URL=https://域名(host中编写的主机服务域名):6443 INSTALL_K3S_VERSION=v1.26.9+k3s1 K3S_TOKEN="主服务token" sh -
4.3.5设置镜像资源
vi /etc/rancher/k3s/registries.yaml
内容如下:
mirrors:
镜像库域名或者ip:
endpoint:
- "https://镜像库域名或者ip"
configs:
镜像库域名或者ip:
auth:
username: 镜像仓库的用户名
password: 镜像仓库的密码
tls:
insecure_skip_verify: true #跳过安全认证
4.3.6设置集群配置文件
两个主服务中复制配置文件到root中,并且修改中间的127.0.0.1为nginx中配置的负载均衡域名
kubectl --kubeconfig ~/.kube/config get pods --all-namespaces
4.3.7重启服务
重新加载配置文件
systemctl daemon-reload
重新启动主-服务
systemctl restart k3s
重启副主-服务
systemctl restart k3s-agent
5.离线安装rancher
5.1准备离线文件
根据版本不同下载不同文件rancher-2.7.9.tgz,cert-manager-v1.13.2.tgz
提前通过镜像库下载镜像文件
k3s crictl pull 镜像库域名/rancher/rancher:v2.7.9
5.2安装cer-manager仓库
5.2.1创建命名空间
kubectl create namespace cert-manager
5.2.2创建资源定义
kubectl apply -f cert-manager/cert-manager-crd.yaml
5.2.3安装cert-manager
helm install cert-manager ./cert-manager-<VERSION>.tgz \
--namespace cert-manager \
--set image.repository=镜像库域名地址/quay.io/jetstack/cert-manager-controller \
--set webhook.image.repository=镜像库域名地址/quay.io/jetstack/cert-manager-webhook \
--set cainjector.image.repository=镜像库域名地址/quay.io/jetstack/cert-manager-cainjector \
--set startupapicheck.image.repository=镜像库域名地址/quay.io/jetstack/cert-manager-ctl
5.3安装rancher
5.3.1创建命名空间
kubectl create namespace cattle-system
5.3.2安装rancher
helm install rancher ./rancher-2.7.9.tgz --namespace cattle-system --set hostname=负载均衡地址 --set rancherImage=镜像库域名地址/rancher/rancher --set systemDefaultRegistry=镜像库域名地址/rancher --set useBundledSystemChart=true
5.3.3获取初次登录密码
kubectl get secret --namespace cattle-system bootstrap-secret -o go-template='{{.data.bootstrapPassword|base64decode}}{{"\n"}}'
6.其他内容
6.1关闭多路径
systemctl stop multipathd.service
vi /etc/multipath.conf
blacklist {
devnode "^sd[a-z0-9]+"
}
systemctl restart multipathd.service
6.2 缺少restorecon命令支持
执行如下命令安装
apt-get install policycoreutils
6.3安装longhorn时个节点安装nfsutil
sudo apt install nfs-common
6.4一些常用命令
查看所有pod
kubectl --kubeconfig ~/.kube/config get pods --all-namespaces
查看命名空间下的所有pod
kubectl -n 命名空间 get pods
查看当个pod状态
kubectl describe pod pod名称 -n 命名空间
查看单pod日志
kubectl logs -f -n 命名空间 pod名称 --since=1h
文件拷贝命令
从主机拷贝文件到pod
kubectl cp /主机目录/文件路径 podName:/容器路径/xxx -n 命名空间
从pod拷贝到主机
kubectl cp podName:容器路径/xxx -n 命名空间 /主机目录
删除pod
kubectl delete pod pod名称 -n 命名空间
删除命名空间
kubectl delete namespace 命名空间
查看k3s日志
tail -200f /var/log/syslog | grep k3s
卸载主服务k3s
/usr/local/bin/k3s-uninstall.sh
卸载代理服务k3s文章来源:https://www.toymoban.com/news/detail-799790.html
/usr/local/bin/k3s-agent-uninstall.sh
出现mysql数据查询缓慢,调整最大连接数,更换引擎文章来源地址https://www.toymoban.com/news/detail-799790.html
到了这里,关于K3S+Rancher的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!