編集済み 4 数か月前 によって ExtremeHow 編集チーム
フェドラクバネティスコンテナオーケストレーションインストールソフトウェア開発コマンドラインターミナルシステム管理コンピュータ
翻訳が更新されました 4 数か月前
Kubernetes(よくK8sと略されます)は、コンテナ化されたワークロードとサービスを管理するためのオープンソースのプラットフォームです。ホストのクラスター全体にわたるアプリケーションコンテナのデプロイ、スケーリング、および操作を自動化するのに役立ちます。FedoraにKubernetesをインストールすることは、特にローカルシステムでコンテナオーケストレーションを試したいと考える開発者にとって、有意義な経験となるでしょう。以下では、スムーズなセットアップを確保するため、例と説明を交えてFedoraシステムにKubernetesをインストールするためのステップバイステップの詳細なプロセスを案内します。
インストールプロセスに入る前に、いくつかの事前条件と検討事項があります。
最初のステップは、すべてのパッケージと依存関係が最新であることを確認するために、Fedoraシステムを更新することです。以下のコマンドを使用してください。
sudo dnf update -y
このコマンドは最新の更新をダウンロードしてインストールし、システムがKubernetesに準備が整います。
Kubernetesにはコンテナランタイムが必要で、Dockerは最も一般的に使用されているオプションの1つです。FedoraにDockerをインストールするには、次の手順に従います。
sudo dnf config-manager --add-repo=https://download.docker.com/linux/fedora/docker-ce.repo
sudo dnf install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker sudo systemctl enable docker
Dockerがインストールされたら、sudo systemctl status docker
でそのステータスを確認することでインストールを確認してください。
セキュリティ強化Linux(SELinux)は、アクセス制御セキュリティポリシーをサポートするメカニズムを提供するLinuxカーネルのセキュリティ機能です。KubernetesやコンテナランタイムがSELinuxに問題があることがあるので、緩和モードに設定することをお勧めします。
sudo setenforce 0
SELinux設定ファイルを編集して、この変更を恒久的にする:
sudo vi /etc/selinux/config
SELINUX=enforcing
行をSELINUX=permissive
に変更します。エディタを保存して終了します。
次に、必要なパッケージをインストールするためにKubernetesリポジトリを追加する必要があります。次の手順を実行してください:
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg https://packages.cloud.google.com/yum/doc/yum-key.gpg EOF
sudo dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
sudo systemctl enable kubelet
これらは主要なKubernetesコンポーネントです。kubelet
は各ノードで動作するエージェントです。kubeadm
はクラスターをブートストラップするためのツールです。kubectl
はクラスターと対話するためのコマンドラインツールです。
Kubernetesのネットワーク設定のためにシステム設定を変更します。sysctl設定ファイルを開いて設定を調整します:
sudo vi /etc/sysctl.d/k8s.conf
ブリッジトラフィックのネットワークパケットが正しく処理されるようにするには、次の行を追加します:
net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1
これらの変更を適用します:
sudo sysctl --system
Kubernetesが最適に機能するためには、スワップメモリを無効にする必要があります。一時的および恒久的に次のコマンドでスワップを無効にします:
スワップを一時的に無効にする:
sudo swapoff -a
スワップを恒久的に無効にする: /etc/fstab
ファイルを編集し、スワップパーティションを参照する行をコメントアウトします。次を使用:
sudo vi /etc/fstab
スワップエントリを含む行を見つけ、その前に#
を追加してコメントアウトします。
kubeadmを使用してKubernetesマスターノードを初期化します。このステップでは必要な制御プレーンも設定されます。以下のコマンドを使用して初期化を行います:
sudo kubeadm init --pod-network-cidr=192.168.0.0/16
--pod-network-cidr
引数は、ポッドネットワークのIP範囲を指定します。これは使用するネットワークソリューションに応じて異なる場合があります。
初期化が成功すると、コマンドはkubeadm "join" コマンドを返します。これを保存しておくと、後でクラスターに追加するノードがあります。
非rootユーザーとしてkubectlツールを正しく動作させるには、ローカルkubeconfigファイルを設定します:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
これらのコマンドは、構成ディレクトリを作成し、管理資格情報をコピーして、毎回sudoすることなくkubectlを使用できるようにします。
KubernetesにはPodネットワークアドオンが必要です。最も人気のあるオプションはFlannelです。Flannelをクラスターにデプロイするには、次を使用:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
これにより、KubernetesノードがFlannelの仮想ネットワークを介して互いに通信できるようになります。
すべてが設定されたら、次のコマンドを使用してクラスターのノードの状態を確認します:
kubectl get nodes
システムが"Ready" 状態でリストされているはずです。さらに、すべてのシステムポッドを次のコマンドで確認します:
kubectl get pods --all-namespaces
おめでとうございます、FedoraにKubernetesを正常にインストールしました。クラスターが起動して実行されると、アプリケーションのデプロイを開始し、コンテナ化されたワークロードを効果的に管理できます。このインストールプロセスは詳細ではありますが、学習と開発目的で環境を設定するために必要な手順をすべてカバーしています。今後の管理には、権限の管理、スケーリング、およびクラスターの健全性の維持が含まれる可能性があり、Fedoraシステム上のKubernetesに関する強力な理解を構築できます。
Kubernetesは強力なシステムであり、習得には多くの時間を要することを覚えておいてください。ただし、上記のようにインストールと構成を手動で進めることにより、実際のシナリオでのコンテナオーケストレーションに関する貴重な実践経験と理解を深めることができます。
記事の内容に誤りがある場合, あなたは