我已经将docker应用程序部署到了docker hub https://hub.docker.com/r/leexha/nodejsapp/上。
我通过做一个码头工人拉动验证了这一点,并做了function my_deregister_scripts(){
wp_dequeue_script( 'wp-embed' );
}
add_action( 'wp_footer', 'my_deregister_scripts' );
我正在尝试将其部署到kubernetes中。这是我的docker run docker run -p 8000:3000 index.docker.io/leexha/nodejsapp:latest
文件:
deploy.yml
然后我将部署作为服务公开:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: secondapp
spec:
replicas: 3
template:
metadata:
labels:
app: webapp
spec:
containers:
- name: webapp
image: index.docker.io/leexha/nodejsapp
ports:
- containerPort: 3000
resources:
requests:
memory: 500Mi
cpu: 0.5
limits:
memory: 500Mi
cpu: 0.5
imagePullPolicy: Always
似乎一切正常,但是当我尝试访问群集上的应用程序(:3000)时,无法访问它。
因此,我尝试进行一些调试。
我做到了:
C:\Users\adrlee\Desktop\oracle\Web_projects>kubectl get nodes
NAME STATUS ROLES AGE VERSION
xxxxxxxxxxx Ready node 1d v1.8.11
yyyyyyyyyyy NotReady node 1d v1.8.11
zzzzzzzzzzz Ready node 1d v1.8.11
C:\Users\adrlee\Desktop\oracle\Web_projects>kubectl get deployments
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
firstapp 3 3 3 3 6m
C:\Users\adrlee\Desktop\oracle\Web_projects>kubectl expose deployment/firstapp --type="NodePort" --port 3000
service "firstapp" exposed
C:\Users\adrlee\Desktop\oracle\Web_projects>kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
firstapp NodePort 10.96.156.3 <none> 3000:31872/TCP 10s
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 1d
我卷发了
export POD_NAME=$(kubectl get pods -o go-template --template '{{range .items}} {{.metadata.name}}{{"\n"}}{{end}}')
我注意到此回复:
curl http://localhost:8001/api/v1/namespaces/default/pods/$POD_NAME/proxy/
Little失去了现在该做什么。需要任何帮助吗?
答案 0 :(得分:1)
如果将类型字段设置为NodePort,则Kubernetes主服务器将在kube-apiserver中的--service-node-port-range
标志(默认值:30000-32767)指定的范围内分配端口。
尝试使用此默认范围内的端口,或检查主服务器上的kube-apiserver服务以获取特定的自定义范围。