我本地环境为Windows。 本地安装了kubectl 工具, 可以直接设置环境为minikube环境,进行环境的部署及搭建。如果你本地没有安装kubectl的话,你可以参考在 Windows 上安装 kubectl | Kubernetes。
安装好之后就可以使用kubectl进行服务的部署了。
翻到get started页面之后,找到标识为4“Deploy applications” ,开始参考示例进行部署。
# 镜像地址修改为cilium/echoserver,原地址--image=k8s.gcr.io/echoserver:1.4
C:\Users\smy1102>kubectl create deployment hello-minikube --image=cilium/echoserver
deployment.apps/hello-minikube created
上面显示创建成功,之后在执行设置端口号的操作,因为cilium/echoserver设置的端口号是80,所以设置开放端口为80,如下:
C:\Users\smy1102>kubectl expose deployment hello-minikube --type=NodePort --port=80
service/hello-minikube exposed
执行成功。这个是我们部署了一个服务,这个服务开通了端口号80.
C:\Users\smy1102>kubectl get pod
NAME READY STATUS RESTARTS AGE
hello-minikube-6ddfcc9757-sm9z9 0/1 ImagePullBackOff 0 12m
这里面有个参数“STATUS” ,里面显示“ImagePullBackOff”,说明我们的镜像拉取失败了,我们需要修改一下镜像地址,重新创建。修改镜像地址为:
# 镜像地址为:cilium/echoserver
C:\Users\smy1102>kubectl get pod
NAME READY STATUS RESTARTS AGE
hello-minikube-86f46bddd5-dsqxj 1/1 Running 0 26s
然后服务启动成功。
PS C:\Users\smy1102> kubectl get services hello-minikube
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello-minikube NodePort 10.104.170.22 80:32045/TCP 3m55s
说明服务已经执行成功,可以提供外部访问。
执行结果如下:
PS C:\Users\smy1102> minikube service hello-minikube
|-----------|----------------|-------------|---------------------------|
| NAMESPACE | NAME | TARGET PORT | URL |
|-----------|----------------|-------------|---------------------------|
| default | hello-minikube | 80 | http://192.168.49.2:32045 |
|-----------|----------------|-------------|---------------------------|
Starting tunnel for service hello-minikube.
|-----------|----------------|-------------|------------------------|
| NAMESPACE | NAME | TARGET PORT | URL |
|-----------|----------------|-------------|------------------------|
| default | hello-minikube | | http://127.0.0.1:59768 |
|-----------|----------------|-------------|------------------------|
正通过默认浏览器打开服务 default/hello-minikube...
Active code page: 65001
❗ Because you are using a Docker driver on windows, the terminal needs to be open to run it.
正常部署成功,说明我们的操作步骤是没有问题的