上一章我们搭建了k8s集群,这一章我们开始在k8s集群上运行.netcore程序
1.kubectl run
在我的Docker系列教程里,我曾往docker hub中推送过一个镜像“webdokcer_s_provider”,今天我们就是使用这个镜像来配合K8S来演示。
1.1创建一个deployment,命名为web1
kubectl run web1 --image=chenyishi/webdocker_s_provider --env="serverport=1000" --port=1000 --replicas=2
1.2查看生成的资源
[root@localhost ~]# kubectl get all
我们可以看到,创建了资源deployment-web1,还有replicaset.apps/web1-797598b877,还有两个pod,我查询了两次kubectl get all,可以看到存在着状态的改变从ContainerCreating->Running。这其中的具体过程我们可以通过describe命令查看一下。
2.describe命令
2.1查看deployment
kubectl describe deployment.apps/web1
我们可以看到Events信息,发现deployment创建了replica web1-797598b877,并没有创建pod,我们再查看replica的信息
2.2查看rs
kubectl describe replicaset.apps/web1-797598b877
我们发现rs创建了pod,这样deployment与rs与pod的关系,我们就清楚了。
2.3查看pod详细信息
kubectl get pods -o wide
我们可以看到pod所在的node都是192.168.8.202,这是因为我们目前只有一个node节点,如果我们有多个node节点,这两个pod就是存在于不同的主机。
3.创建service,访问网站
虽然目前pod已经创建成功,但是目前我们还是不能访问,我们需要创建一个service来访问
3.1创建service
kubectl expose deployment web1 --port=1001 --target-port=1000 --type=NodePort #指定类型为NodePort,供外部访问
3.2查看service
kubectl get service
3.3访问service
至此网站运行成功