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
|
$ 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
docker load -i lambdapython3.7.tar
|