calicoctlコマンドの概要
5947 ワード
背景
calicoには、複数のネットワークリソースがあります.v 1.6.1の例として、ネットワークリソースは、node、bgpPeer、hostEndpoint、workloadEndpoint、ipPool、policy、profileなどを含む.
これらのネットワークリソースを制御するためにcalicoctlコマンドラインツールを使用する方法について説明します.
使用法
create
ネットワークリソースを作成します.たとえば、「profile」のネットワークリソースを作成するには、jsonまたはyamlのファイル形式でこのprofileのプロパティを定義し、-fパラメータを使用して指定します.たとえば、プロパティファイル名profile 1.json、その内容は:
calicoctlコマンドを使用してprofileを作成します.
また、-cオプションを使用してプロファイルを指定することもできます.
ps:ここで注意しなければならないのは、calicoネットワークを作成した後、同じcalicoネットワークのコンテナ間でネットワーク相互接続を実現することができることです.しかし、外部のノードもこのcalicoネットワークと相互接続できるようにするには、profileのspec.ingressに構成を追加するいくつかの変更が必要です.
次に、profileを次の「calicoctl replace」コマンドで置き換えます.これにより、ipセグメントが「115.105.115.0/24」にあるdocker hostは、calicoネットワーク下のコンテナにアクセスすることができる.
get
ネットワークリソースの情報を取得します.
ここでは、上記で作成したprofileを例に挙げます.
ここではjson形式で出力し、yaml、GoFormatなどの形式も使用できます.
replace
ネットワークリソースを置き換えます.上記のprofile 1を修正する.jsonファイルの内容が表示されたら、次のコマンドを直接実行してネットワークリソースの関連プロパティを置き換えることができます.
apply
createとreplaceコマンドを統合しました.リソースがない場合は作成し、リソースがある場合は置き換えます.
delete
ネットワークリソースを削除します.
代替ネットワークリソースを作成する場合は、ファイルによって作成されますが、プロファイルにはネットワークリソースのタイプ、プロパティなどが示されています.しかし、ネットワークリソースを削除するのは簡単で、ネットワークリソースのタイプと名前だけで対応するリソースを削除することができます.
config
システム・レベルとノード・レベルの構成オプションを管理します.
このコマンドの下には、set、unset、getの3つのサブコマンドも含まれています.設定、キャンセル、および取得.
具体的な設定項目には、logLevel(構成値はnone,debug,info,warning,error,critical)、nodeToNodeMesh(on,off)、asNumber(0-4294967295)、ipip(on,off)が含まれます.
ipam
IPアドレス管理.
このコマンドにはreleaseとshowの3つのサブコマンドも含まれています.次のようになります. release:calicoによって割り当てられたIPを解放する. show:割り当てIPの詳細を表示します.
node
calicoノード管理.
このコマンドには、run、status、diags、checksystemの4つのサブコマンドも含まれます.次のようになります. runコマンドは、サーバ上でcalicoインスタンスを実行するために使用することができる. statusコマンドはcalicoネットワーク全体の状態を確認することができる. diagsは携帯電話calicoノードの診断情報に使用される. checksystemコマンドは、変更サーバがcalicoインスタンスを実行できるかどうかを確認するために使用されます.
runコマンドを使用してcalicoインスタンスを作成することがよくあります.たとえば、次のようにします.
ここで、使用したcalicoミラーバージョンはcalico/node:v 2である.6.2では、calicoコンテナを起動するときの具体的なコマンドがログで表示されます.
また、「calicoctl node run」にはかなりの選択肢があり、「calicoctl node run--help」で見ることができます.しかし、これらのオプションは、etcdのurlなど、すべてのcalico自身のオプションを上書きするのに十分ではなく、/etc/calico/calicoctlを構成することができる.cfgファイルで実現します.もちろん、他のファイルに構成し、-fオプションでファイルを指定することもできます.プロファイルの例は次のとおりです.
version
バージョンを表示します.
オプション
-h --help
ヘルプを表示します.
-l --log-level=
ログ・レベルを設定します.ログ・レベルには、panic、fatal、error、warn、info、debugが含まれます.デフォルトはfatalレベルです.
転載先:https://www.cnblogs.com/styshoo/p/8486598.html
calicoには、複数のネットワークリソースがあります.v 1.6.1の例として、ネットワークリソースは、node、bgpPeer、hostEndpoint、workloadEndpoint、ipPool、policy、profileなどを含む.
これらのネットワークリソースを制御するためにcalicoctlコマンドラインツールを使用する方法について説明します.
使用法
create
ネットワークリソースを作成します.たとえば、「profile」のネットワークリソースを作成するには、jsonまたはyamlのファイル形式でこのprofileのプロパティを定義し、-fパラメータを使用して指定します.たとえば、プロパティファイル名profile 1.json、その内容は:
{
"kind": "profile",
"apiVersion": "v1",
"metadata": {
"name": "calico-test",
"tags": [
"calico-test"
]
},
"spec": {
"ingress": [
{
"action": "allow",
"source": {
"tag": "calico-test"
},
"destination": {}
}
],
"egress": [
{
"action": "allow",
"source": {},
"destination": {}
}
]
}
}
calicoctlコマンドを使用してprofileを作成します.
# calicoctl create -f profile1.json
Successfully created 1 'profile' resource(s)
また、-cオプションを使用してプロファイルを指定することもできます.
ps:ここで注意しなければならないのは、calicoネットワークを作成した後、同じcalicoネットワークのコンテナ間でネットワーク相互接続を実現することができることです.しかし、外部のノードもこのcalicoネットワークと相互接続できるようにするには、profileのspec.ingressに構成を追加するいくつかの変更が必要です.
{
"action": "allow",
"source": {
"nets": [
"115.105.115.0/24"
]
},
"destination": {}
}
次に、profileを次の「calicoctl replace」コマンドで置き換えます.これにより、ipセグメントが「115.105.115.0/24」にあるdocker hostは、calicoネットワーク下のコンテナにアクセスすることができる.
get
ネットワークリソースの情報を取得します.
ここでは、上記で作成したprofileを例に挙げます.
# calicoctl get profile calico-test -o json
[
{
"kind": "profile",
"apiVersion": "v1",
"metadata": {
"name": "calico-test",
"tags": [
"calico-test"
]
},
"spec": {
"ingress": [
{
"action": "allow",
"source": {
"tag": "calico-test"
},
"destination": {}
}
],
"egress": [
{
"action": "allow",
"source": {},
"destination": {}
}
]
}
}
]
ここではjson形式で出力し、yaml、GoFormatなどの形式も使用できます.
replace
ネットワークリソースを置き換えます.上記のprofile 1を修正する.jsonファイルの内容が表示されたら、次のコマンドを直接実行してネットワークリソースの関連プロパティを置き換えることができます.
# calicoctl replace -f profile1.json
Successfully replaced 1 'profile' resource(s)
apply
createとreplaceコマンドを統合しました.リソースがない場合は作成し、リソースがある場合は置き換えます.
delete
ネットワークリソースを削除します.
代替ネットワークリソースを作成する場合は、ファイルによって作成されますが、プロファイルにはネットワークリソースのタイプ、プロパティなどが示されています.しかし、ネットワークリソースを削除するのは簡単で、ネットワークリソースのタイプと名前だけで対応するリソースを削除することができます.
# calicoctl delete profile calico-test
Successfully deleted 1 'profile' resource(s)
config
システム・レベルとノード・レベルの構成オプションを管理します.
このコマンドの下には、set、unset、getの3つのサブコマンドも含まれています.設定、キャンセル、および取得.
具体的な設定項目には、logLevel(構成値はnone,debug,info,warning,error,critical)、nodeToNodeMesh(on,off)、asNumber(0-4294967295)、ipip(on,off)が含まれます.
ipam
IPアドレス管理.
このコマンドにはreleaseとshowの3つのサブコマンドも含まれています.次のようになります.
node
calicoノード管理.
このコマンドには、run、status、diags、checksystemの4つのサブコマンドも含まれます.次のようになります.
runコマンドを使用してcalicoインスタンスを作成することがよくあります.たとえば、次のようにします.
# calicoctl node run --node-image=calico/node:v2.6.2 --ip=192.168.115.73
Running command to load modules: modprobe -a xt_set ip6_tables
Enabling IPv4 forwarding
Enabling IPv6 forwarding
Increasing conntrack limit
Removing old calico-node container (if running).
Running the following command to start calico-node:
docker run --net=host --privileged --name=calico-node -d --restart=always -e NODENAME=dcos-agent1 -e CALICO_NETWORKING_BACKEND=bird -e CALICO_LIBNETWORK_ENABLED=true -e IP=192.168.115.73 -e ETCD_ENDPOINTS=http://192.168.115.111:2379 -v /var/log/calico:/var/log/calico -v /var/run/calico:/var/run/calico -v /lib/modules:/lib/modules -v /run:/run -v /run/docker/plugins:/run/docker/plugins -v /var/run/docker.sock:/var/run/docker.sock calico/node:v2.6.2
Image may take a short time to download if it is not available locally.
Container started, checking progress logs.
Skipping datastore connection test
Using IPv4 address from environment: IP=109.105.115.73
IPv4 address 109.105.115.73 discovered on interface em1
No AS number configured on node resource, using global value
Using node name: dcos-agent1
Starting libnetwork service
Calico node started successfully
ここで、使用したcalicoミラーバージョンはcalico/node:v 2である.6.2では、calicoコンテナを起動するときの具体的なコマンドがログで表示されます.
また、「calicoctl node run」にはかなりの選択肢があり、「calicoctl node run--help」で見ることができます.しかし、これらのオプションは、etcdのurlなど、すべてのcalico自身のオプションを上書きするのに十分ではなく、/etc/calico/calicoctlを構成することができる.cfgファイルで実現します.もちろん、他のファイルに構成し、-fオプションでファイルを指定することもできます.プロファイルの例は次のとおりです.
apiVersion: v1
kind: calicoApiConfig
metadata:
spec:
datastoreType: "etcdv2"
etcdEndpoints: "http://${etcd-ip1}:2379,http://${etcd-ip2}:2379"
version
バージョンを表示します.
オプション
-h --help
ヘルプを表示します.
-l --log-level=
ログ・レベルを設定します.ログ・レベルには、panic、fatal、error、warn、info、debugが含まれます.デフォルトはfatalレベルです.
転載先:https://www.cnblogs.com/styshoo/p/8486598.html