目标
上一篇文章我们将自己的服务hecheng_be制作成了docker镜像。本文将在k8s中运行制作好的docker镜像。
发布镜像到k8s
1.制作rc文件
hecheng_be_rc.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: hecheng
spec:
replicas: 2
selector:
app: hecheng
template:
metadata:
labels:
app: hecheng
spec:
containers:
- name: hecheng
image: docker_repo_usename/hecheng_be_docker_image
ports:
- containerPort: 80
将它发布到k8s中
kubectl create -f hecheng_be_rc.yaml
结果
replicationcontroller "hecheng" created
查看
说明发布成功。Kubernetes 通过template来生成pod,创建完后模板和pod就没有任何关系了,rc通过 labels来找对应的pod,控制副本。
查看pod
可以看到已经生成了两个pod,并且已经跑起来了。
2.创建与之关联的Kubernetes Service
hecheng_be_svc.yaml
apiVersion: v1
kind: Service
metadata:
name: hecheng
spec:
type: NodePort
ports:
- port: 80
nodePort: 30001
selector:
app: hecheng
创建service
kubectl create -f hecheng_be_svc.yaml
结果
service "hecheng" created
查看
注意到hecheng服务被分配了一个值为10.254.111.236的Cluster IP地址,这是一个虚地址,随后,Kubernetes集群中其他新创建的Pod就可以通过Service的Cluster IP+ 端口号来连接和访问它了。
查看pod日志,发现两个Pod都正常
至此,docker相关以及k8s相关从零开始学习的相关文档已经写完了,我个人也学习完了,对k8s的基本命令也有了一些了解。将来准备去学一下极客时间上很早之前买的一个关于k8s的视频,深入学习一下k8s。如果你也想从零了解k8s,下面几篇文章可能有点帮助。
1.kubernetes(一)搭建简单实例
2.kubernetes(二)常用命令
3.在两台腾讯云上安装k8s
4.将自己的服务制作成docker镜像
5.在k8s中运行docker镜像
参考
[1]kubernetes集群Pod详细信息为Failed create pod sandbox,缺失镜像google_containers/pause-amd64.3.0解决方法
[2]Docker & k8s 系列三:在k8s中部署单个服务实例