継続的な統合テスト(3)--kubernetes環境構築
7097 ワード
背景
話題を統合し続け、容器へのテストが完了したら、どのように容器を管理するかが急務です.オープンソースコンテナ管理、サービス編成とスケジューリングの枠組みは現在広く流行している.
mesos+zookeeper+marathon
ノード拡張
に含まれるコンポーネントは次のとおりです.1.Flanneldネットワーク構成
インストール:
yum install flannle
を使用したインストール構成:/usr/lib/systemd/system/flanneld.service
の編集[Unit]
Description=Flanneld overlay address etcd agent
After=network.target
After=network-online.target
Wants=network-online.target
After=etcd.service
Before=docker.service
[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/flanneld
EnvironmentFile=-/etc/sysconfig/docker-network
ExecStart=/usr/bin/flanneld-start $FLANNEL_OPTIONS
ExecStartPost=/usr/libexec/flannel/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/docker
Restart=on-failure
[Install]
WantedBy=multi-user.target
RequiredBy=docker.service
起動パラメータの設定:
/etc/sysconfig/flanneld
の編集# Flanneld configuration options
# etcd url location. Point this to the server where etcd runs
FLANNEL_ETCD_ENDPOINTS="http://10.13.1.135:2379"
# etcd config key. This is the configuration key that flannel queries
# For address range assignment
FLANNEL_ETCD_PREFIX="/coreos.com/network"
# Any additional options that you want to pass
#FLANNEL_OPTIONS=""
開始:
systemctl start flanneld
systemctl status flanneld
クbeletのインストールと構成
インストール:
yum install kubernetes
を使用して構成サービスファイルをすべてインストール:/usr/lib/systemd/system/kubelet.service
を編集[Unit]
Description=Kubernetes Kubelet Server
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
After=docker.service
Requires=docker.service
[Service]
WorkingDirectory=/var/lib/kubelet
EnvironmentFile=-/etc/kubernetes/config
EnvironmentFile=-/etc/kubernetes/kubelet
ExecStart=/usr/bin/kubelet \
$KUBE_LOGTOSTDERR \
$KUBE_LOG_LEVEL \
$KUBELET_API_SERVER \
$KUBELET_ADDRESS \
$KUBELET_PORT \
$KUBELET_HOSTNAME \
$KUBE_ALLOW_PRIV \
$KUBELET_POD_INFRA_CONTAINER \
$KUBELET_ARGS
Restart=on-failure
[Install]
WantedBy=multi-user.target
コンフィギュレーションクbeletのコンフィギュレーションファイル:編集
/etc/kubernetes/kubelet
###
# kubernetes kubelet (minion) config
# The address for the info server to serve on (set to 0.0.0.0 or "" for all interfaces)
KUBELET_ADDRESS="--address=0.0.0.0"
# The port for the info server to serve on
# KUBELET_PORT="--port=10250"
# You may leave this blank to use the actual hostname
KUBELET_HOSTNAME="--hostname-override=10.210.130.46"
# location of the api-server
KUBELET_API_SERVER="--api-servers=http://10.13.1.135:8080"
# pod infrastructure container
#KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest"
# Add your own!
KUBELET_ARGS="--cluster_dns=10.254.159.10 --cluster_domain=cluster.local"
開始:
systemctl start kubelet
systemctl status kubelet
kube-proxy
サービスファイルの構成:
/usr/lib/systemd/system/kube-proxy.service
の編集[Unit]
Description=Kubernetes Kube-Proxy Server
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
After=network.target
[Service]
EnvironmentFile=-/etc/kubernetes/config
EnvironmentFile=-/etc/kubernetes/proxy
ExecStart=/usr/bin/kube-proxy \
$KUBE_LOGTOSTDERR \
$KUBE_LOG_LEVEL \
$KUBE_MASTER \
$KUBE_PROXY_ARGS
Restart=on-failure
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
開始:
systemctl start kube-proxy
systemctl status kube-proxy
構成説明:https://github.com/rootsongjc/follow-me-install-kubernetes-cluster/blob/master/06-%E9%83%A8%E7%BD%B2node%E8%8A%82%E7%82%B9.md