Kubernetes学習のチュートリアル
10390 ワード
目次
導入
クベルネッツとは
Kubernetes
またK8s
) コンテナオーケストレーションオープンソースプラットフォームです.Kubernetes高レベルアーキテクチャ
つの主要なビルディングブロックへのKubernetes.
一九九九年
Control Plane
(or Master Node
前述の通り2 .
Nodes
(or Worker Node
前述の通りコントロールプレーン
マスターノードには4つの主要なコンポーネントがあります.
Kube APIサーバ:このコンポーネントはKubernetes APIを公開し、K 8 Sコントロールプレーンのフロントエンドとして機能します.
kubectl
はAPIサーバと対話するために使用されます.2 . ETCD:安全なキー値ストア
Kubeスケジューラ:時計を新しく作成し、それらのポッドのノードを選択して実行する
コントローラマネージャー:このコンポーネントは、Kubernetesの4つのコントローラプロセスを管理します
ノード
ノードは
Kubelet :クラスタ内の各ノードで動作するエージェント.コンテナがpodで動いていることを確認します.
2 Kube proxy : Kube Proxyはクラスタ内の各ノードで動作するネットワークプロキシで、Kubernetesサービスのコンセプトの一部を実装しています.
3 .コンテナランタイム:コンテナランタイムは、コンテナの実行に責任があるソフトウェアです.
Kubernetesはいくつかのコンテナランタイムをサポートしています.
ポッド:ポッドは、我々が作成することができて、Kubernetesで管理することができるコンピューティングの最も小さな配備可能な単位です.
ポッド(クモまたはエンドウポッドのポッドのように)は、共有ストレージとネットワークリソースを持つ1つ以上のコンテナのグループ、およびコンテナを実行する方法の仕様です.
Refer Kubernetes Component Documentation 詳細は
Kubernetesツール
ワークステーションでセットアップを行うことによってKubernetesを学ぶために利用できる様々なツールがあります
minikube
インストール手順と実践レッスン.Refer documentation for more details
minikubeとは
minikube
は、任意のワークステーションでローカルにKubernetesを実行させることができますCLIツールです.minikubeインストール
始めるために
minikube
, ワークステーションにコンポーネントをインストールする必要がありますcurl
コマンドdocker
minikube
kubectl
(オプション)Ubuntu 21.04
ベースのオペレーティングシステムminikube
documentation 他のオペレーティングシステムのインストール手順インストールカール
sudo apt update
sudo apt install curl -y
インストール
# Update the apt package index, and install the latest version of Docker Engine and containerd,
# or go to the next step to install a specific version:
sudo apt update -y
sudo apt install -y docker-ce docker-ce-cli containerd.io
# Add current user to 'docker' user group to invoke minikube (otherwise, the .sock permission denied error will occur)
sudo usermod -aG docker $USER
newgrp docker
# Verify that Docker Engine is installed correctly by running the hello-world image.
sudo docker run hello-world
インストール
cd /tmp
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
sudo dpkg -i minikube_latest_amd64.deb
minikubeラン
minikube
コンテナとランタイムエンジンとしてDockerを提供する$ minikube start --driver=docker
minikube開始と地位の出力
😄 minikube v1.22.0 on Ubuntu 21.04
✨ Using the docker driver based on user configuration
👍 Starting control plane node minikube in cluster minikube
🚜 Pulling base image ...
💾 Downloading Kubernetes v1.21.2 preload ...
> preloaded-images-k8s-v11-v1...: 502.14 MiB / 502.14 MiB 100.00% 7.75 MiB
> gcr.io/k8s-minikube/kicbase...: 361.09 MiB / 361.09 MiB 100.00% 5.08 MiB
🔥 Creating docker container (CPUs=2, Memory=3900MB) ...
🐳 Preparing Kubernetes v1.21.2 on Docker 20.10.7 ...
▪ Generating certificates and keys ...
▪ Booting up control plane ...
▪ Configuring RBAC rules ...
🔎 Verifying Kubernetes components...
▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
🌟 Enabled addons: storage-provisioner, default-storageclass
💡 kubectl not found. If you need it, try: 'minikube kubectl -- get pods -A'
🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
$ minikube status
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured
Kubectlをインストールする
Kubectlのインストールはオプションです
minikube
パックされた望ましいバージョンkubectl
それで、我々がインストールしないならばkubectl
明示的に、kubectl
以下のコマンドminikube kubectl -- <expected kubectl command>
明示的にインストールするならkubectl
, その後、我々は呼び出すことができますkubectl
下記のコマンドkubectl <expected kubectl command>
Kubectlのインストール手順Kubectlをインストールするには以下のコマンドを実行します
ubuntu
sudo snap install kubectl --classic
kubectl version
Minikubeクラスタの確認と実行
kubectl
インストールされたクラスタと他の詳細を確認するコマンド.minikube
kubectl get po -A
orminikube kubectl -- get po -A
minikube
$ kubectl get po -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-558bd4d5db-4tncm 1/1 Running 5 9d
kube-system etcd-minikube 1/1 Running 5 9d
kube-system kube-apiserver-minikube 1/1 Running 5 9d
kube-system kube-controller-manager-minikube 1/1 Running 5 9d
kube-system kube-proxy-wtzn9 1/1 Running 5 9d
kube-system kube-scheduler-minikube 1/1 Running 5 9d
kube-system storage-provisioner 1/1 Running 10 9d
kubernetes-dashboard dashboard-metrics-scraper-7976b667d4-cssj8 1/1 Running 5 9d
kubernetes-dashboard kubernetes-dashboard-6fcdf4f6d-kqr78 1/1 Running 10 9d
minikube kubectl -- create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4
minikube kubectl -- expose deployment hello-minikube --type=NodePort --port=8080
minikube kubectl -- get services hello-minikube
minikube service hello-minikube
minikube dashboard
結論
参考文献
Kubernetes official documentation
Minikube documentation
Reference
この問題について(Kubernetes学習のチュートリアル), 我々は、より多くの情報をここで見つけました https://dev.to/chefgs/getting-started-tutorial-for-learning-kubernetes-455eテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol