WRY

Where Are You?
You are on the brave land,
To experience, to remember...

0%

使用Kind安装K8s学习环境

K8s的安装,根据PC师兄的过往经验,是充满艰辛困难的,为了尽量晚一点自闭,先在kind的帮助下部署简单版的学习环境。选择kind的原因是kind相比于minikube不需要使用虚拟化技术,可以在云服务器的虚拟机中进行安装。

kind基本原理

kind通过创建容器的方式部署K8s的节点,不会对本地环境产生污染。

kind常用命令

  • 创建集群,可以使用--image参数指定K8s的版本(node版本和K8s之间的实际对应版本还需核实),使用--name参数指定集群的名称。(指定集群名称的时候有可能会遇到错误,可以替换成纯小写的字母,逃过bug)
1
2
3
4
# 创建集群
$ kind create cluster --image kindest/node:v1.14.10 --name cluster14
# 删除集群
$ kind delete cluster --name cluster14
  • TODO 为了更好的了解kind所做的工作,此处应该补上demo配置文件进行部署
  • 配置kubectl,(该步骤也可能kind都已经执行了)
1
2
3
4
5
# 此步骤可以省略掉
# $ kind get kubeconfig --name="cluster14" > ~/.kube/config
# 查看集群 & 切换集群
$ kubectl config get-contexts
$ kubectl config use-context ${name}
  • 检查kubectl 的版本信息,确认部署的API版本信息符合预期kubectl version

周边环境

  • 基于安装rancher,TODO,使用http进行连接,关掉https.
1
docker run -d --restart=unless-stopped -p 8080:80 -p 443:443 rancher/rancher
  • 在rancher的主界面中选择:添加集群 --> 导入已有集群 --> 按照提示在主机上输入命令完成集群的添加
  • 安装refunc,参考
1
docker run --rm -it refunc/refunc refunc play gen -n refunc | kubectl apply -f -
  • 在rancher查看refunc-play,需要先在集群下创建一个project,然后将refunc-play的namespace导入到project中。
  • 配置端口转发
1
2
kubectl port-forward deployment/aws-api-gw 9000:80 -n refunc
kubectl port-forward deployment/refunc-play 9802:7788 -n refunc

国内镜像拉取

通过代理机下载,打包之后,传到目标机器上,再解包

1
2
3
4
5
# 代理机下载镜像
docker pull lambci/lambda:build-python3.7
docker save -o lambdapython3.7.tar lambci/lambda:build-python3.7
# 将lambdapython3.7.tar下载到目标机器后,进行安装
docker load -i lambdapython3.7.tar