Kubernetes in action 无法创建ReplicationController解决方法
最近在学习K8s,听说《Kubernetes in action》很适合初学者入门,便买了这本作为教材。在里面遇到一个坑,就是在2.3.1部署Node.js这里,原书使用的是一个旧的命令,执行的效果如下:$ kubectl run kubia --image=luksa/kubia --port=8080 --generator=run/v1Flag --generator has been de
·
最近在学习K8s,听说《Kubernetes in action》很适合初学者入门,便买了这本作为教材。在里面遇到一个坑,就是在2.3.1部署Node.js这里,原书使用的是一个旧的命令,执行的效果如下:
$ kubectl run kubia --image=luksa/kubia --port=8080 --generator=run/v1
Flag --generator has been deprecated, has no effect and will be removed in the future.
pod/kubia created
这里说的是–generator这个功能已经被放弃了,这里帮你创建的是一个kubia的pod,而不是书里期望的创建ReplicationController。
由于这里创建ReplicationController失败,会导致后面2.3.4的scale-up失败。
怎么解决这个问题呢?
一种解决的思路是直接绕过这部分,直接创建一个Deployment。但还有另一种方法,可以直接创建一个ReplicationController。
首要条件就是要确保你的Server端的K8s版本小于或等于1.17。默认在google cloud创建的是1.18,你需要把旧的集群删掉,创建一个1.17版本的k8s
之后,创建一个如下YAML文件
apiVersion: v1
kind: ReplicationController
metadata:
name: kubia
spec:
replicas: 1
selector:
app: kubia
template:
metadata:
labels:
app: kubia
spec:
containers:
- name: kubia
image: luksa/kubia
ports:
- containerPort: 8080
保存叫做kubia-rc.yaml
然后执行
kubectl apply -f kubia-rc.yaml
然后就成功拉,可以使用
kubectl get rc
查看是否创建成功
更多推荐
已为社区贡献1条内容
所有评论(0)