k8経由のIstio展開の一環として、エンボイコンテナを展開しました。 各Envoyプロキシコンテナは、k8のポッド内のアプリコンテナの横に「サイドカー」としてインストールされます。Envoyの背後にあるコンテナからのRedisサーバーとの通信
アプリケーション内からHTTPトラフィックを開始できますが、Redisサーバー(別の特権プロキシを持つ別のコンテナ)に接続しようとすると、envoyに接続してHTTP/1.1 400 Bad Request
メッセージを受信できません。特使のログを調べるとき
は、私は次のようなメッセージを見ることができたときに特使を通過し、この接続:HTTP/1.1" 0 - 0 0 0 "_"."_"."_"."_""
私の知る限り理解し、Redisのは、HTTP O/W純粋なTCPトランスポートを使用して送信されるコマンド。 EnvoyはHTTPトラフィックのみを表示し、TCPのみトラフィックを拒否する可能性はありますか? 私の理解が正しいと仮定すると、Istioを使用してこの動作を変更し、汎用TCPトラフィックも受け入れて処理する方法はありますか?
次は私の関連する展開YAMLファイルです:
apiVersion: v1
kind: Service
metadata:
name: redis
namespace: default
labels:
component: redis
role: client
spec:
selector:
app: redis
ports:
- name: http
port: 6379
targetPort: 6379
protocol: TCP
type: ClusterIP
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: redis-db
spec:
replicas: 1
template:
metadata:
labels:
app: redis
spec:
containers:
- name: redis
image: redis:3.2-alpine
imagePullPolicy: IfNotPresent
ports:
- containerPort: 6379
おかげで