使用K3S集群搭建高可用Rancher笔记

网友投稿 364 2022-10-23

使用K3S集群搭建高可用Rancher笔记

反复折腾了快一周,终于能稳定搞出这堆东西了。学习的过程是痛苦的,一旦掌握上手了就轻松了。生命不息,折腾不止。

s3群集用了3台centos minimum,仅装了Docker,禁用了swap selinux和墙。

[root@s3m2 ~]# cat /etc/system-release

CentOS Linux release 7.9.2009 (Core)

[root@s3m2 ~]# cat /etc/os-release

NAME="CentOS Linux"

VERSION="7 (Core)"

ID="centos"

ID_LIKE="rhel fedora"

VERSION_ID="7"

PRETTY_NAME="CentOS Linux 7 (Core)"

ANSI_COLOR="0;31"

CPE_NAME="cpe:/o:centos:centos:7"

HOME_URL="-sfL | INSTALL_K3S_MIRROR=cn K3S_TOKEN=secrettoken sh -s - --cluster-init

等第一台ready后剩下两台再加入,其中server参数加第一台主机的ip,群集建立成功后,群集内主机会记住群集内所有其它master地址,不用担心这个参数导致单点故障

curl -sfL | INSTALL_K3S_MIRROR=cn K3S_TOKEN=secrettoken sh -s - --server calino组件都报错,放弃。最终转向自签名证书,使用Windows CA签发了一张Web server模板的证书。

先生成钥匙文件

openssl genrsa -out cd-rancher.key 2048

使用钥匙生成证书申请文件

openssl req -new -key cd-rancher.key -out cd-rancher.csr

在Windows CA上申请证书时注意填写san扩展,格式如下,每个dns后跟域名

san:dns=cd-rancher.yourdomain.com&dns=192.168.192.168&dns=192.168.192.169

下载证书时选择Base64格式,在linux上直接重命名成crt格式。

添加rancher的secret之前先改文件名

[root@s3m1 tls]# cp cd-rancher.cer tls.crt

[root@s3m1 tls]# cp cd-rancher.key tls.key

然后把根证书文件重命名为cacerts.pem

cp your-root-ca.crt cacerts.pem

在操作系统级别信息私有根证书

[root@s3m1 tls]# cp your-root-ca.crt /etc/pki/ca-trust/source/anchors/

[root@s3m1 tls]# update-ca-trust

准备工作做完就开始使用helm部署rancher了

创建namespace

kubectl create namespace cattle-system

创建secret

kubectl -n cattle-system create secret tls tls-rancher-ingress  --cert=./tls.crt --key=./tls.key

kubectl -n cattle-system create secret generic tls-ca --from-file=./cacerts.pem

下载helm

wget  wget repo add rancher-stable Chart Versions

Rancher Helm chart versions match the Rancher version (i.e ​​appVersion​​). Once you’ve added the repo you can search it to show available versions with the following command:

​​helm search repo --versions​​

If you have several repos you can specify the repo name, ie. ​​helm search repo rancher-stable/rancher --versions​​

For more information, see ​​fetch a specific version of your chosen repo, define the ​​--version​​ parameter like in the following example:

​​helm fetch rancher-stable/rancher --version=2.4.8​​

复制k3s配置文件

cp /etc/rancher/k3s/k3s.yaml ~/.kube/config

部署rancher

helm ​install rancher rancher-stable/rancher --version 2.5.11 ​\​ --namespace cattle-system ​\​ --set ​hostname=​cd-rancher.yourdomain.com ​\​ --set ingress.tls.source​=​secret ​\​ --set ​privateCA=​true

检查部署进度

kubectl -n cattle-system rollout status deploy/rancher

rancher起来后再部署k8s集群就比较简单了,搞好私有Docker仓库,分分钟干起来一个。在rancher mirror上找到rancher对应版本的sh脚本

wget --image-list rancher-images.txt --from-aliyun true

推到私有仓库

./rancher-load-images.sh --image-list rancher-images.txt -r harbor.yourdomain.com

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:区块链数字货币投资服务平台火币云Open API正式上线
下一篇:API设计过程中的通用准则和约定准则
相关文章

 发表评论

暂时没有评论,来抢沙发吧~