Alan Hou的个人博客

Rancher 2+Kubernetes集群部署

安装

Golang容器编译程序

Docker API

官方 SDK说明:https://docs.docker.com/engine/api/sdk/

Vagrant

允许密码登录

Nginx

在线生成配置文件:

安装Rancher

Rancher 有两个版本:1.x和2.x,其中1.x 主攻容器编排,2.x 主攻 K8S 集群部署相关:

https://rancher.com/docs/rancher/v2.x/zh/

Rancher 1.x 文档:https://rancher.com/docs/rancher/v1.6/zh/

多主机添加 host时第一个主机(本机)可能需自行添加-e CATTLE_AGENT_IP=xx.xx.xx.xx

一些准备工作:

这里在主机上使用了8080和8443端口进行映射,如果该主机仅用作部署 Rancher,可以直接使用80和443端口:

 

在 Rancher 内创建一个集群以供测试,首次创建会需要花费几分钟。通过所创建的集群拷贝配置内容(点击图中 Kubeconfig File),添加至~/.kube/config或在其它路径中创建配置文件并通过KUBECOFIG环境变量进行指定:

创建集群过程中如出现 etcd 关于证书的报错(tls: failed to verify client’s certificate: x509 etcd rancher),可删除重建。

nfs

kuberctl

以1.20在Linux 上的安装为例,访问 GitHub下载对应版本

kubelet api命令 操作

/healthz 之外还有/pods, /stats/summary, /metrics等API

常见问题

1.Invalid username or password. Please try again.

2.Unable to authenticate the request due to an error: x509: certificate has expired or is not yet valid

这一问题网上的解决方案颇多,主要原因为证书实际有效期为一年,官网对于2.4+有一个解决方案在2.5.x 中实测有效,注意其中一次对服务的重启

2.6版本未实测,解决方案为:

3.certificate signed by unknown authority (possibly because of \”crypto/rsa: verification

4.拉取私有仓库报错:repository does not exist or may require ‘docker login’: denied: requested access to the resource is denied

5.curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it

curl命令添加参数-k

 

退出移动版