[英]Client sent an HTTP request to an HTTPS server - Kubernetes cluster
我已經使用本教程在雲中創建了一個 Kubernetes 集群,並從 Docker 私有注冊表部署 [到集群] 一個名為chatapp
的后端應用程序。 由於沒有將服務類型包含為LoadBalancer
選項,我不得不恢復到NodePort
類型。 這里是chatapp-deployment.yml
文件供參考:
apiVersion: v1
kind: Service
metadata:
name: chatapp
spec:
selector:
app: chatapp
ports:
- protocol: "TCP"
port: 6443
targetPort: 3000
type: NodePort
externalIPs:
- A.B.C.D
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: chatapp
labels:
app: chatapp
spec:
replicas: 2
selector:
matchLabels:
app: chatapp
template:
metadata:
labels:
app: chatapp
spec:
imagePullSecrets:
- name: regsecret
containers:
- name: chatapp
image: sebastian/chatapp
imagePullPolicy: Always
command: ["/bin/sh"]
args: ["-c", "while true; do echo hello; sleep 10;done"]
ports:
- containerPort: 3000
注意:出於安全原因,我刪除了外部 IP。
我必須手動分配外部 IP,因為我無法將LoadBalancer
設置為服務類型。 每當我嘗試訪問http://ABCD:6443
,我都會得到以下信息:
Client sent an HTTP request to an HTTPS server.
我瀏覽了此鏈接,但無法解決我的問題。 我使用的外部 IP 來自master-o
。
在嘗試使用https://ABCD:6443訪問它時,我收到以下403
消息:
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {
},
"status": "Failure",
"message": "forbidden: User \"system:anonymous\" cannot get path \"/\"",
"reason": "Forbidden",
"details": {
},
"code": 403
如何授權訪問我的集群? 任何反饋和建議將不勝感激。
您的請求已到達 6443 處的 k8s api-server 而不是您的聊天應用程序。 訪問您的聊天應用程序; 首先檢索nodePort號: kubectl describe service chatapp | grep -i nodeport
kubectl describe service chatapp | grep -i nodeport
,然后使用此 # 在http://abcd:<nodePort>
訪問您的應用程序
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.