CentOS7環境でのKubernetes(k8s)クラスターの迅速な展開

Kubernetesは、クラウドプラットフォーム内の複数のホスト上のコンテナ化されたアプリケーションを管理するために使用されるオープンソースです。Kubernetesの目標は、コンテナ化されたアプリケーションの展開をシンプルかつ効率的にすることです。Kubernetesは、アプリケーションの展開、計画、更新、および保守を提供します。機構

k8sの概念は、次のリンクを参照できます。

[ 子供たちが理解できるkubernetesチュートリアル](http://mp.weixin.qq.com/s?__biz=MzAwNzY4OTgyNA==&mid=2651826597&idx=1&sn=d9b606b92efe85ad79484deb098b89c7&chksm=80814aaab8b89c7&chks

[ グラフィック|誰でも理解できるKubernetesチュートリアル! ](http://mp.weixin.qq.com/s?__biz=MzI1OTY2MzMxOQ==&mid=2247487479&idx=1&sn=e5e59c175ec74e993cdf86ef24285c1d&chksm=ea743b4fdd03b25975b808f1acdd2582c946

[ 写真:あなたのガールフレンドが理解できるKubernetes! ](http://mp.weixin.qq.com/s?__biz=MzI1OTY2MzMxOQ==&mid=2247487526&idx=1&sn=970c7d5e729c2423dd265105e2eb5122&chksm=ea74249edd03ad88a1bc8ceea319981b09091e980be

以下では、CentOS7環境でのKubernetes(k8s)クラスターの迅速な展開について説明します

3台のCentOS7.6.1810Linux仮想マシンのメモリサイズは4GBです

1、 k8s-master 10.20.10.235

2、 k8s-node1 10.20.10.237

3、 k8s-node2 10.20.10.238

具体的な手順は次のとおりです。

1、 環境への備え

1 )3つのホストのホスト名を個別に変更します

k8s-master 10.20.10.235: hostnamectl set-hostname k8s-master

k8s-node1 10.20.10.237:hostnamectl set-hostname k8s-node1

k8s-node2 10.20.10.238:hostnamectl set-hostname k8s-node2

3つすべてがvi / etc / hostsファイルを変更し、ホスト名の解決を追加しました

10.20.10.235 k8s-master

10.20.10.237 k8s-node1

10.20.10.238 k8s-node2

node1を例として取り上げ、分析がOKかどうかをテストします

2 )3つのホストすべてがファイアウォール、selinuxを閉じ、スワップパーティションを閉じます

swapoff -a

そして永久にシャットダウンし、/ etc / fstabのスワップパーティション行をコメントアウトします

systemctl stop firewalld

systemctl disable firewalld

sed -i 's/enforcing/disabled/' /etc/selinux/config

setenforce 0

echo "net.bridge.bridge-nf-call-iptables = 1 ">>/etc/sysctl.d/k8s.conf

echo "net.bridge.bridge-nf-call-ip6tables = 1 ">>/etc/sysctl.d/k8s.conf

sysctl --system

net.bridge.bridge-nf-call-iptables = 1をオンにします。これは、パケットを転送するときに、第2層ブリッジもiptablesFORWARDルールによってフィルタリングされることを意味します。

具体的な原則は、次の記事を参照することができます

https://blog.csdn.net/qq_44910432/article/details/89292974

**2、 すべてのノードにdockerをインストールし、docker **を有効にします

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

yum install docker-ce

systemctl enable docker

systemctl start docker

docker version

**3、 すべてのノードがインストールされ、有効になっていますkubelet kubeadm kubectl **

cat < /etc/yum.repos.d/kubernetes.repo

[ kubernetes]

name=Kubernetes

baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/

enabled=1

gpgcheck=1

repo_gpgcheck=1

gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

EOF

yum install -y kubelet kubeadm kubectl

systemctl enable kubelet

systemctl start kubelet

**4、 マスターノードはkubeadminit **を初期化します

  1. kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.17.0 --apiserver-advertise-address 10.20.10.235 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.1.0.0/16

  1. 次のように、前の手順のプロンプトに従います。

mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown (id -u):(id -g) $HOME/.kube/config

これは、kubectlgetノードがマスターがまだNotReady状態にあることを確認できるかどうかです。

5、 ネットワークフランネルコンポーネントをインストールする

wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

kubectl apply -f kube-flannel.yml

kubectl get pods -n kube-system

kubectl get nodes

これで、ステータスが準備完了であることがわかります。

6、 k8s-node1とk8s-node2がクラスターに参加します

kubeadm join 10.20.10.235:6443 --token h5oegb.ops4pu6ynhmixhwh \

( トークンは、マスターノードがkubeadm init)を初期化してクラスターに参加するときのプロンプトです。

このとき、しばらく待ってからノードの状態を確認し、クラスタが正常に確立されていることを確認してください。

kubectl get pods,svc -n kube-system

7、 もちろん、kubernetes-dashboardなどのUIツールをインストールしてクラスターを管理することもできます

次に、コックピットのインストール方法を使用して、kubernetesクラスターを表示します

コックピットの設置については、前回の記事「コックピットを使用してCentOS7環境でKVM仮想マシンを作成する」(http://mp.weixin.qq.com/s?__biz=MzU2MjU1OTE0MA==&mid=2247486749&idx=1&sn=ab68ebeb45b4d7baed0e18eeeddb0a53&chksm=fc66ecd6cb1165c07c28bb0b12bef4c79e1cfadee7b5bb17dc72af52e29b2f853da43b72d6c8&scene=21#wechat_redirect)を参照してください。

yum install cockpit

yum install cockpit-docker.x86_64

yum install cockpit-kubernetes.x86_64

systemctl enable cockpit.socket

systemctl start cockpit.socket

Recommended Posts

CentOS7環境でのKubernetes(k8s)クラスターの迅速な展開
k8sプラクティス(1):Centos 7.6デプロイメントk8s(v1.14.2)クラスター
Centos-6.5LNMP環境のインストールと展開
セントス環境でのPythonとスクレイプ展開
CentOS6でのRHCSクラスターの簡単な実践
CentOS7.3.1611はk8s1.5.2クラスターを展開します
Centos7ビルドKubernetesクラスター
Centos7はKubernetesクラスターを展開します
CentOS7はk8sクラスターを展開します
[CentOS環境の展開] CentOSでのJava7 / Java8の展開
Centos7.4デプロイメント構成Elasticsearch5.6クラスター
Centos7.2 /7.3クラスターインストールKubernetes1.8.4 +ダッシュボード
DockerのCentOS環境インストール
Centos7インストールk8sクラスター1.15.0バージョン
Cephの迅速な展開(Centos7 + Jewel)
CentOS環境でのMySQLインポートファイルの失敗の問題
centos7でk8sクラスターをインストールおよび構成するための詳細な手順
Centos6.5のインストールとKVMの展開
Centos6.9でのRabbitMQクラスター展開レコード
CentOS8でのnmcliの詳細な使用
k8sクラスターのバイナリインストール(1)-開始
centos7でのFFmpeg環境の展開記録
CentosでのPPTP環境の展開記録
centos6.5環境でのTomcat構成JMX
Centos7でのCeph展開の簡潔な要約
Centos7のインストールとgitlabサーバーの展開
Ubuntu環境でのNginxのインストールと展開
(1)クラスター環境を構築するためのCentos7のインストール
Centos7のインストールとAirflowの展開の詳細
一部のCentosPython実稼働環境デプロイメントコマンド
CentOS7システムでのJDKのインストールと構成
ubuntu Django + Uwsgi + Nginxの実稼働環境の展開
実際のCentOSシステムにHadoopクラスターサービスを展開する
CentOS7のLNMP環境でDiscuzフォーラムを構築する
LinuxでのCentos7のLVMディスク拡張の問題
CentOS7のLNMP環境でDedecmsWebサイトを構築する
VMwareWorkstationでのCentOS7のインストールと構成
CentOS8でのApollo構成センターの分散展開
Ubuntu環境でのSSHのインストールと使用