2017-12-28 18 views
-3

私はVSTSにシェルスクリプトを使ってデプロイされているサービスの外部IPをフェッチする必要があるリリース定義を作成します。私はコマンドラインからはできますが、VSTSのリリース定義からはできません。 JSONはIPで構成された変数に格納されています。このJSONからIPを取得する必要があります。kubernetesクラスタにデプロイされたサービスのIPをフェッチするために、シェルスクリプトが必要です

または、kubernetesのコマンドであれば、配備されたサービスの外部IPだけを返し、その他の情報は返さない場合はお知らせください。

kubectl get svc <your_service> -ao jsonpath='{..ip}' 
+0

SOはkubernetesのサポートサイトではありません。この質問はプログラミングに関するものではありません。 – Nic3500

+0

私はいくつかの他の人々がkubernetes展開についての質問もしているのを見ました。だから、もし私がkubernetesに関する質問をしたら、何が間違っているのですか。このサイトは、毎日の仕事中に人々が直面する問題を解決するために作られています。私はこの質問を間違って何かしたとは思わない。 –

答えて

0

+0

ありがとうございました –

+0

@VatanBansalうまくいけば答えを受け入れることを検討できます:) – Sebastian

+0

私はまだ1つの問題に直面しています。 Kubernetesは外部のipsを割り当てるのに多くの時間を費やしています。しかし、私はサービスがVSTSのリリース中に展開されるとすぐにIPを取得する必要があります。 ipが割り当てられていない場合、空白の値が返されます。この場合、どうすればよいですか? –

0

このコードを試してみてください:

function readJson { 
    UNAMESTR=`uname` 
    if [[ "$UNAMESTR" == 'Linux' ]]; then 
    SED_EXTENDED='-r' 
    elif [[ "$UNAMESTR" == 'Darwin' ]]; then 
    SED_EXTENDED='-E' 
    fi; 

    VALUE=`grep -m 1 "\"${2}\"" ${1} | sed ${SED_EXTENDED} 's/^ *//;s/.*: *"//;s/",?//'` 

    if [ ! "$VALUE" ]; then 
    echo "Error: Cannot find \"${2}\" in ${1}" >&2; 
    exit 1; 
    else 
    echo $VALUE ; 
    fi; 
} 
NAME=`readJson package.json name` || exit 1; 
# $NAME is "sample-project" 

Read a JSON Value in Bash

することができますecho {variable} > test.jsonを呼び出すことによって、JSONファイルに出力変数の値をあなたがタイプLoadBalancerのサービスを持っていると仮定すると

関連する問題