@ Author:By Runsen
Kubernetesとそのエコシステム全体(ツール、モジュール、プラグインなど)は、Go言語で記述されており、API指向の高速実行プログラムのセットを形成します。これらのプログラムは十分に文書化されており、それらの上にアプリケーションを提供したり構築したりするのは簡単です。 (バイドゥ百科事典)
では、Kubernetesの用途は何ですか?実際には非常に単純です。Dockerはプロジェクトを展開するためのコンテナですが、1つのコンテナでは展開するのに十分ではありません。Dockerを使用して複数のLinuxサーバーでコンテナを作成する場合は、複数のLinuxサーバーのコンテナを管理する必要があります。KubernetesはDockerコンテナを管理します。 。
次に、Kubernetesクラスターを正式に構築します。クラスターとは、複数のLinuxサーバーです。実際、Hadoop、elasticsearch、およびCDHクラスターに似ています。 CDHの構成はHadoopよりも簡単です。
私が選んだマシンは3つのcentos7ホストで、サーバーを購入するお金はありませんでした。 shパスワードなしのログインとDockerを使用して3つのサーバーを構成する前に、ここではそれらを1つずつ紹介しません。
NodeName | IPアドレス |
---|---|
node01 | 192.168.92.90 |
node02 | 192.168.92.91 |
node03 | 192.168.92.92 |
設定する前に、中国語のドキュメントhttp://docs.kubernetes.org.cn/と英語のドキュメントhttps://kubernetes.io/docsにアクセスしてください。
最初のステップは、ソース、ロード、およびダウンロード速度を構成することです。kubeadmをインストールすると、yumインストールできます。次の図は、公式ドキュメントのインストールコマンドです。
vimを使用して直接作成します。Googleはうまく機能していないようですが、Aliは
[ root@node01 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.92.90 node01
192.168.92.91 node02
192.168.92.92 node03
[ root@node01 ~]# vim /etc/yum.repos.d/kubernetes.repo
#########
[ kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=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
[ root@node01 ~]# yum install -y kubelet kubeadm kubectl
ロードされたプラグイン:fastestmirror
……………………
インストール済み:
ubeadm.x86_64 0:1.18.2-0 kubectl.x86_64 0:1.18.2-0 kubelet.x86_64 0:1.18.2-0
依存関係としてインストール:
conntrack-tools.x86_64 0:1.4.4-5.el7_7.2
cri-tools.x86_64 0:1.13.0-0
kubernetes-cni.x86_64 0:0.7.5-0
libnetfilter_cthelper.x86_64 0:1.0.0-10.el7_7.1
libnetfilter_cttimeout.x86_64 0:1.0.0-6.el7_7.1
libnetfilter_queue.x86_64 0:1.0.2-2.el7_2
socat.x86_64 0:1.7.3.2-2.el7
コンプリート!
[ root@node01 ~]# systemctl enable docker && systemctl start docker
[ root@node01 ~]# systemctl enable kubelet && systemctl start kubelet
[ root@node01 ~]# kubeadm
┌──────────────────────────────────────────────────────────┐
│ KUBEADM │
│ Easily bootstrap a secure Kubernetes cluster │
│ │
│ Please give us feedback at: │
│ https://github.com/kubernetes/kubeadm/issues │
└──────────────────────────────────────────────────────────┘
次は、kubeadmによってデプロイされたKubernetesです。最新の1.18.2は、そのままにしておくことができます。
[ root@node01 ~]# kubeadm init --apiserver-advertise-address=192.168.92.90--image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.18.2--service-cidr=10.1.0.0/16--pod-network-cidr=10.244.0.0/16
レポートが見つかりました[エラースワップ]:スワップをオンにして実行することはサポートされていません。スワップを無効にしてください
次に、スワップを無効にして、上記のコマンドを再度実行します
[ root@node01 ~]# systemctl stop firewalld
[ root@node01 ~]# swapoff -a
[ root@node01 ~]# kubeadm init --apiserver-advertise-address=192.168.92.90--image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.18.2--service-cidr=10.1.0.0/16--pod-network-cidr=10.244.0.0/16
kubeadm join 192.168.92.90:6443 --token niim2r.u8sgcz1vybxtfs68が表示されたら、インストールは成功しています。
出力中に次のコマンドを実行するように依頼してください。これにより、環境変数が作成されます。
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Kubernetesをインストールすると、生成されたディレクトリを/ etc / kubernetes /で表示できます。
[ root@node01 ~]# ls /etc/kubernetes/
admin.conf controller-manager.conf kubelet.conf manifests pki scheduler.conf
kubectl get nodesコマンドは、現在のノードを表示できます。
[ root@node01 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
node01 NotReady master 4m12s v1.18.2
ここで、node02とnode03で上記の操作を繰り返します。
[ root@node02 ~]# kubeadm init --apiserver-advertise-address=192.168.92.91--image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.18.2--service-cidr=10.1.0.0/16--pod-network-cidr=10.244.0.0/16[root@node03 ~]# kubeadm init --apiserver-advertise-address=192.168.92.92--image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.18.2--service-cidr=10.1.0.0/16--pod-network-cidr=10.244.0.0/16[root@node01 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
node01 NotReady master 4m12s v1.18.2
node02 NotReady <none> 4m12s v1.18.2
node03 NotReady <none> 4m12s v1.18.2
上記の情報が表示され、クラスター構成は正常に行われます。
Recommended Posts