Kubernetesシリーズ(1)のデプロイとインストール(不完全)

1.Kubernetesとは

kuberneterは、コンピュータークラスターコア内のコンピュータークラスター全体でアプリケーションコンテナーの展開(スケジューリング)と実行を調整できる世代レベルのオープンソースプラットフォームであり、マルチレベルのセキュリティ保護とアクセスメカニズム、およびマルチを含む完全なクラスター管理機能を備えています。 -テナンシーアプリケーションサポート機能、透過的なサービス登録とサービス検出メカニズム、組み込みのインテリジェントロードバランサー、強力な障害検出と自己修復機能、サービスローリングアップグレード、オンライン拡張機能、スケーラブルなリソース自動スケジューリングメカニズム、および複数の粒度リソース割り当て管理機能

Kubernetesはオープンプラットフォームです。言語に限定されず、プログラミングインターフェースもありません。したがって、Java、Go、C ++、またはpythonで記述されたサービスをKubernetesサービスサービスにマッピングし、相互作用のために標準のTCP通信プロトコルを渡すことができます。さらに、Kubernetesプラットフォームは、既存のプログラミング言語、プログラミングフレームワーク、ミドルウェアに影響を与えないため、既存のシステムを簡単にアップグレードして、Kubernetesプラットフォームに移行できます。

2.Kubernetesの利点

  1. 強力な生態系環境(Googleが承認)

  2. 簡単で便利な分散システムの設計、実装、運用、保守

  3. マイクロサービスアーキテクチャを含むインフラストラクチャ(サービス登録の検出、負荷分散、オンライン拡張、ローリングアップグレードなど)

  4. 超水平拡張機能。オンラインクラスター拡張により、Kubernetesクラスターをわずか数ノードから数百ノードを含む大規模クラスターにスムーズに拡張できます

  5. 内部サービスの弾力性のある拡張メカニズム、システムスループットを増減するためのサービスインスタンスコピーの迅速な拡張と縮小

3.kubernetesインフラストラクチャ

ここに画像の説明を挿入

4.インストールと構成

周囲:

  1. 3台のマシン:Master、Node01、Node02
  2. 64ビットオペレーティングシステムLinuxカーネル3.10以降CentOS7(Ubuntu16.04 +)
  3. 少なくとも2コア、4コアを推奨するCPU
  4. 少なくとも2Gのメモリ、8Gを推奨
  5. Etcd3.0バージョン
  6. Docker18.03バージョン以降
  7. フランネル(フランネル)
    1:システムのバージョンが4.0であり、バージョン3.1に予期しない問題があるかどうかを確認します
uname -a

ここに画像の説明を挿入

# 内核的第三方仓库
$ rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

ここに画像の説明を挿入
3:

# 查看可以安装的最新的稳定内核
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

ここに画像の説明を挿入
カーネル-[lt / ml]
lt:長期サポートブランチラインバージョン
ml:メインラインバージョン

# 安装最新的稳定内核
$ yum --enablerepo=elrepo-kernel install -y kernel-lt
# 查看可用的操作系统内衬相关包
$ cat /boot/grub2/grub.cfg
$ awk -F\' '$1=="menuentry " {
    
    print i++ " : " $2}' /boot/grub2/grub.cfg
# 设置相应的Linux内核
$ yum install -y grub2-pc
$ grub2-set-default 0
#重启后才会生效
$ reboot

構成下の仮想マシンのhostsファイル。これにより、相互にホスト名を使用して通信できるようになります。

192.168.1.108 master
192.168.1.109 docker1
192.168.1.110 docker2

これまで、Sansei仮想マシンの基本環境が構成されています。

#1. 关闭swap
$ swapoff -a
$ sed -i '/swap / s/^\(.*\)$/#\1/g' /etc/fstab
#2. 关闭SELinux
$ setenforce 0
$ sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
#3. 安装iptables
$ yum install -y iptables-services
$ systemctl start iptables
$ systemctl enable iptables
#4. 清空iptables规则
$ iptables -F
#5. 开启Netfilter
$ modprobe br_netfilter
#6. 设置ipvs支持
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf-conntrack_ipv4

4.1K8S構成ファイル

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
# 开启网桥模式
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sudo sysctl --system

元に戻しました。

2.デスクトップ/ Windows用のDockerはk8sをインストールします

最初にWindowsコンピューターの下にdockerをインストールします(私のものは現在の最新バージョンです)
ここに画像の説明を挿入

2.1 AlibabaCloudの画像ソースを入力します

https://docker.mirrors.ustc.edu.cn
ここに画像の説明を挿入
は、デフォルトでは国内ユーザーは利用できません。ユーザーは次の方法でk8sをインストールする必要があり
ます。powershellを使用して次のコマンドを実行します

git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git
cd k8s-for-docker-desktop
#修改为docker上提示的版本
git checkout v1.19.7

イメージがプルされた後、k8sを起動でき、起動後ここに画像の説明を挿入
にPowerShellで実行された表示結果は次のようになります。
ここに画像の説明を挿入

ここに画像の説明を挿入

2.2Kubernetesコンソールを設定する

 $ kubectl get pods -n kubernetes-dashboard

表示がすべて開始されていない場合は、理由を調査する必要があります
ここに画像の説明を挿入

#查看k8s节点错误信息
#kube-system:系统节点
#storage-provisioner:节点名称
kubectl describe pod storage-provisioner -n kube-system

確認後、操作が正しいことがわかった場合は、dockerとk8sを再起動し、すべてが開始されていることを確認します。

2.3Kubernetesダッシュボードをデプロイする

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml
# 或
kubectl create -f kubernetes-dashboard.yaml
# 检查 kubernetes-dashboard 应用状态
kubectl get pod -n kubernetes-dashboard
# 开启 API Server 访问代理
kubectl proxy

通過如下URL访问Kubernetesダッシュボード:
http:// localhost:8001 / api / v1 / namespaces / kubernetes-dashboard / services / https:kubernetes-dashboard:/ proxy /#/ override?namespace = default

2.4コンソールアクセストークンを構成する

Windows環境の場合

$TOKEN=((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1]
kubectl config set-credentials docker-for-desktop --token="${TOKEN}"
echo $TOKEN

ここに画像の説明を挿入
ここに画像の説明を挿入

参照アドレス:https://github.com/AliyunContainerService/k8s-for-docker-desktop#%E9%83%A8%E7%BD%B2-kubernetes-dashboard

おすすめ

転載: blog.csdn.net/qq_38130094/article/details/115110354