使用kubectl创建部署
0. 目标
在命令行下使用 kubectl 命令创建并管理部署。
1. 检查环境
检查本地的环境信息
#kubectl get nodes
2. 命令行方式创建部署
创建Tomcat部署,设置1个副本。
首先从docker仓库上将tomcat拉取到本地,拉取到本地以后也可以推送到自己的私有镜像源上
#docker pull tomcat
#kubectl run tomcat --replicas=1 --labels="app=tomcat" --image=tomcat --port=8080
创建部署之后,可以看到容器已经运行了,但是默认情况下,容器只能内部互相访问,如果需要对外提供服务,有以下几种方式:
ClusterIP,默认的方式,通过集群IP来对外提供服务,这种方式只能在集群内部访问。
NodePort,利用NAT技术在Node的指定端口上提供对外服务。外部应用通过:的方式访问。
LoadBalancer,利用外部的负载均衡设施进行服务的访问。
ExternalName,这是1.7版本之后 kube-dns 提供的功能。
ingress
2.1 端口映射,向外部暴露服务
在Kubernetes中Pod有其自己的生命周期,Node发生故障时,ReplicationController或者ReplicationSet会将Pod迁移到其他节点中以保持用户希望的状态
#kubectl expose deployment/tomcat --type="NodePort" --port 8080
查看service被映射到哪个端口
#kubectl get service
因为知道被调度到了k8s.node2节点,手工通过浏览器打开 http://192.168.9.39:31956 检查服务是否能够正常访问