Kubernetesネットワーク構築-flannel
2924 ワード
一、環境準備
まずkubernetesクラスタがあり、クラスタネットワークは未配置状態であり、クラスタ情報は以下の通りである.
IPアドレス
ノード
192.168.1.101
master
192.168.1.102
Node,etcd(単点)
192.168.1.103
node
二、やる
2.1.kubernetesクラスタの作成
詳細はここでは説明しませんが、このブログの他の記事を参照してください.唯一注意しなければならないのは、クラスタ(init)を作成するときに
2.2.flannelネットワークの作成
前にネットワークを作成するように設定すれば簡単ですweaveと同じです
興味のある人はymlを見てもいいです.彼のミラーは
2.3、ネットワークテスト
環境が限られているため、しばらくはネットワークの相互接続に問題があるかどうかをテストするだけで、性能については本人もネットワーク部分に対してずっと短い板なので、大神たちが自分で来る必要があります.
rcは以下の通り
2つのホストに行ってそれぞれコンテナに入り、その後、互いにpingクラスタIPをpingすることができる.図2 pingは間違っていて、再び図を切り取らないで、理解します
まずkubernetesクラスタがあり、クラスタネットワークは未配置状態であり、クラスタ情報は以下の通りである.
IPアドレス
ノード
192.168.1.101
master
192.168.1.102
Node,etcd(単点)
192.168.1.103
node
二、やる
2.1.kubernetesクラスタの作成
詳細はここでは説明しませんが、このブログの他の記事を参照してください.唯一注意しなければならないのは、クラスタ(init)を作成するときに
--pod-network-cidr 10.244.0.0/16
パラメータを追加することです.セグメントは必要に応じて自分で指定し、--pod-network-cidr
パラメータを使用しない場合、flannel podが起動するとfailed to register network: failed to acquire lease: node "xxxxxx" pod cidr not assigned
エラーが発生します.以下は一部のサンプルコマンドです.# rpm
tee /etc/yum.repos.d/mritd.repo << EOF
[mritdrepo]
name=Mritd Repository
baseurl=https://rpm.mritd.me/centos/7/x86_64
enabled=1
gpgcheck=1
gpgkey=https://cdn.oss.link/keys/rpm.public.key
EOF
yum install -y kubelet kubectl kubernetes-cni kubeadm
# hostname
echo "192-168-1-101.master" > /etc/hostname
echo "127.0.0.1 192-168-1-101.master" >> /etc/hosts
sysctl kernel.hostname="192-168-1-101.master"
# load
images=(kube-proxy-amd64:v1.4.6 kube-discovery-amd64:1.0 kubedns-amd64:1.7 kube-scheduler-amd64:v1.4.6 kube-controller-manager-amd64:v1.4.6 kube-apiserver-amd64:v1.4.6 etcd-amd64:2.2.5 kube-dnsmasq-amd64:1.3 exechealthz-amd64:1.1 pause-amd64:3.0 kubernetes-dashboard-amd64:v1.4.1)
for imageName in ${images[@]} ; do
docker pull mritd/$imageName
docker tag mritd/$imageName gcr.io/google_containers/$imageName
docker rmi mritd/$imageName
done
# dns、etcd
kubeadm init --api-advertise-addresses 192.168.1.101 --external-etcd-endpoints http://192.168.1.102:2379 --use-kubernetes-version v1.4.6 --pod-network-cidr 10.244.0.0/16
2.2.flannelネットワークの作成
前にネットワークを作成するように設定すれば簡単ですweaveと同じです
kubectl create -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
興味のある人はymlを見てもいいです.彼のミラーは
quay.io
に管理されているので、壁の問題はなく、事前にloadを入れることもできます.ymlの上のConfigMap
のipセグメントは--pod-network-cidr
と一致したほうがいい(一致しないでテストしていないので、自分でやってみたい)、それから少し待ってネットワークが作成されて成功し、スクリーンショットは以下の通りです.2.3、ネットワークテスト
環境が限られているため、しばらくはネットワークの相互接続に問題があるかどうかをテストするだけで、性能については本人もネットワーク部分に対してずっと短い板なので、大神たちが自分で来る必要があります.
rcは以下の通り
apiVersion: v1
kind: ReplicationController
metadata:
name: alpine
labels:
name: alpine
spec:
replicas: 2
selector:
name: alpine
template:
metadata:
labels:
name: alpine
spec:
containers:
- image: mritd/alpine:3.4
imagePullPolicy: Always
name: alpine
command:
- "bash"
- "-c"
- "while true;do echo test;done"
ports:
- containerPort: 8080
name: alpine
2つのホストに行ってそれぞれコンテナに入り、その後、互いにpingクラスタIPをpingすることができる.図2 pingは間違っていて、再び図を切り取らないで、理解します