記事のディレクトリ
1.Kubernetesとは
kuberneterは、コンピュータークラスターコア内のコンピュータークラスター全体でアプリケーションコンテナーの展開(スケジューリング)と実行を調整できる世代レベルのオープンソースプラットフォームであり、マルチレベルのセキュリティ保護とアクセスメカニズム、およびマルチを含む完全なクラスター管理機能を備えています。 -テナンシーアプリケーションサポート機能、透過的なサービス登録とサービス検出メカニズム、組み込みのインテリジェントロードバランサー、強力な障害検出と自己修復機能、サービスローリングアップグレード、オンライン拡張機能、スケーラブルなリソース自動スケジューリングメカニズム、および複数の粒度リソース割り当て管理機能
Kubernetesはオープンプラットフォームです。言語に限定されず、プログラミングインターフェースもありません。したがって、Java、Go、C ++、またはpythonで記述されたサービスをKubernetesサービスサービスにマッピングし、相互作用のために標準のTCP通信プロトコルを渡すことができます。さらに、Kubernetesプラットフォームは、既存のプログラミング言語、プログラミングフレームワーク、ミドルウェアに影響を与えないため、既存のシステムを簡単にアップグレードして、Kubernetesプラットフォームに移行できます。
2.Kubernetesの利点
-
強力な生態系環境(Googleが承認)
-
簡単で便利な分散システムの設計、実装、運用、保守
-
マイクロサービスアーキテクチャを含むインフラストラクチャ(サービス登録の検出、負荷分散、オンライン拡張、ローリングアップグレードなど)
-
超水平拡張機能。オンラインクラスター拡張により、Kubernetesクラスターをわずか数ノードから数百ノードを含む大規模クラスターにスムーズに拡張できます
-
内部サービスの弾力性のある拡張メカニズム、システムスループットを増減するためのサービスインスタンスコピーの迅速な拡張と縮小
3.kubernetesインフラストラクチャ
4.インストールと構成
周囲:
- 3台のマシン:Master、Node01、Node02
- 64ビットオペレーティングシステムLinuxカーネル3.10以降CentOS7(Ubuntu16.04 +)
- 少なくとも2コア、4コアを推奨するCPU
- 少なくとも2Gのメモリ、8Gを推奨
- Etcd3.0バージョン
- Docker18.03バージョン以降
- フランネル(フランネル)
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