Kubeadmインストール
kubeadmはKubernetesに沿って、迅速なインストールKubernetesクラスタのKubernetes公式のツールである各バージョンのリリースと同時に更新され、調整を行う必要がありkubeadmクラスタ構成の実用的な側面のいくつかは、実験でクラスタ構成Kubernetes公式に学ぶことができkubeadmいくつかの新しいベストプラクティス。
インストールドッカーのCE
ドッカーインストール
各マシンが満たされる必要があります
環境の準備
ホスト間の編集対応
cat <<EOF >>/etc/hosts
192.168.37.61 Smile1
192.168.37.62 Smile2
192.168.37.63 Smile3
EOF
ファイアウォールをオフにします
systemctl stop firewalld.service
systemctl disable firewalld.service
SELinuxを無効にします
sudo setenforce 0
sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
閉じるスワップ
swapoff -a
sed -i 's/.*swap.*/#&/' /etc/fstab
以下のカーネル構成パラメーターを追加します。
猫> /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-NF-CALL-ip6tablesを= 1
net.bridge.bridge-NF-CALL-のiptables = 1
EOF
ソースyum設定のK8S
猫<
[Kubernetes]
名= Kubernetes
BASEURL =
http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
イネーブル= 1
gpgcheck = 0
repo_gpgcheck = 0
gpgkey =
http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
インストールkubelet、kubeadm、kubectl
yum makecache fast
yum install -y kubelet kubeadm kubectl
起動モードを調整します
ドッキングウィンドウのドライブのcgroup-ドライバのようになりkubeletブート環境変数
docker info | grep -i cgroup
Cgroup Driver: cgroupfs --> 运行命令显示
ドッキングウィンドウののcgroup-ドライバがcgroupfsで、K8SのデフォルトはシステムD
のcgroup-ドライバーのドッキングウィンドウを変更します
vim /etc/docker/daemon.json
加入内容 : { "exec-opts": ["native.cgroupdriver=systemd"] }
ファイルの最終内容
{
"レジストリミラー":[
" https://dockerhub.azk8s.cn "、
" https://reg-mirror.qiniu.com "
]、
"EXEC-OPTS":[ "native.cgroupdriver = systemdに"]
}
再起動ドッカー
systemctl restart docker
systemctl status docker
kubeletサービスを開始
systemctl enable kubelet.service
systemctl start kubelet.service
マスターノードの設定
kubernetesクラスタの初期化して
マスターノードの実行は:
INIT = --kubernetes-バージョン1.15.0 kubeadm
--apiserver -広告アドレス192.168.37.61 =
--image-リポジトリ= gcr.azk8s.cn / google_containers
--pod-ネットワークCIDR = 10.244を。 0.0 / 16 --token-TTL 0
--kubernetesバージョン:バージョン番号を指定し
--apiserver -広告アドレス:ホストアドレスを指定します
。このステップは非常に重要である画像リポジトリここで、公式サイトからkubeadmのデフォルトが必要、必要な画像、国内アクセスできないをダウンロードk8s.grc.ioアリクラウドまたはその他の指定された国内の倉庫ミラーアドレス。
セグメントがPODに定義される:10.244.0.0/16、
これは、初期化が成功した後、次のメッセージを返します。
//这个返回信息三条命令是配置kubectl工具的命令
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
// 这个返回信息是配置Node节点的命令
kubeadm join 192.168.98.230:6443 --token dexs09.ftjp7y7obq6a3t6n \
--discovery-token-ca-cert-hash sha256:4aace846f8a6c381902592049591152fd7250b63e500e370a4b64902d202f7f2
設定ツールのkubectl
初期化に成功して戻った後、3つのコマンドを実行します
ネットワーク展開ポッド
多くのリファレンスがあります
私たちが選んだフランネルは、他のいくつかは、問題がある可能性があります
wget https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml
//在kube-flannel.yml里面默认的镜像下载地址是quay.io,国内无法访问,这里替换所有的quay.io为 quay-mirror.qiniu.com
sed -i "s/quay.io/quay-mirror.qiniu.com/g" kube-flannel.yml
インストールコマンド
kubectl apply -f kube-flannel.yml
実行中のステータスを表示
kubectl get pod --all-namespaces -o wide
ポッドのすべてが実行状態であることを確認してください
ノードノードの展開
ノードクラスタノードのすべてがkubernetsに追加されます
//在Node节点上执行(这个命令就是集群初始化之后的返回信息)
kubeadm join 192.168.98.230:6443 --token dexs09.ftjp7y7obq6a3t6n \
--discovery-token-ca-cert-hash sha256:4aace846f8a6c381902592049591152fd7250b63e500e370a4b64902d202f7f2
クラスタ内の各ノードのステータスが最後に検出されました
kubectl get nodes
runingてにそのすべての状態を確認するために、再度、各ポッドのステータスを表示
kubectl get pod --all-namespaces -o wide
あなたは問題がある場合は、マスターを再構成
kubeadm reset