クラスター管理の必要性
コンテナの時代が到来しました。コンテナをバッチで管理する方法は重要なスキルです。
単一マシンのインストールチュートリアル
https://blog.csdn.net/weixin_41632383/article/details/107878329
ネットワークプラグインをインストールする
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
ダッシュブロードを構築する
デプロイメントコンテナをダウンロードします
Recommendationd.yamlコンテンツ
リソースのダウンロードについては、https://github.com/mengkaibulusili/k8sConfigFilsにアクセスしてください。
クラスターをリセット
kubeadm reset
rm -rf $HOME/.kube
kubeadm init --pod-network-cidr=10.0.0.0/24
#解决错误 The connection to the server localhost:8080 was refused
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
アプリケーションyaml
kubectl apply -f recommended.yaml
ユーザーを構成するためのファイルを作成する
adduser.yaml
ClusterRoleBinding.yaml
ログイントークンを構成する
// 创建用户
kubectl apply -f C:\Users\73444\Desktop\kbs\dashbroad\adduser.yaml
// 绑定用户和服务
kubectl apply -f C:\Users\73444\Desktop\kbs\dashbroad\ClusterRoleBinding.yaml
// 生成并查看秘钥
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | sls admin-user | ForEach-Object {
$_ -Split '\s+' } | Select -First 1)
output:
Name: admin-user-token-h9lvx
Namespace: kubernetes-dashboard
Labels: <none>
Annotations: kubernetes.io/service-account.name: admin-user
kubernetes.io/service-account.uid: 61e3d84e-b871-469f-abb7-b50c8a325d76
Type: kubernetes.io/service-account-token
Data
====
token: eyJhbGciOiJ
ca.crt: 1025 bytes
namespace: 20 bytes
dashbroadにアクセス
kubectl proxy
然后访问网址
キーを入力するだけ
minikubeの設立に基づき、nginxサービスが公開されます
ホットアップグレード、ホット拡張の紹介
ただし、複数のサービスサブノードをアップグレードおよび拡張すると、k8sはサービスをスムーズに移行します。構成ファイルで対応する構成を変更するだけで済みます。
nginxサービスの展開、アップグレード、拡張
#提交一个 nginx deployment;
kubectl apply -f https://k8s.io/examples/application/deployment.yaml
#升级 nginx deployment;
kubectl apply -f https://k8s.io/examples/application/deployment-update.yaml
#扩容 nginx deployment。
kubectl apply -f https://k8s.io/examples/application/deployment-scale.yaml
開始されたnginxポッドを表示する
kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx-deployment-574b87c764-hn9p5 1/1 Running 0 56m
nginx-deployment-574b87c764-lc9h2 1/1 Running 0 56m
nginxデプロイメントを表示する
kubectl get deployment
NAME READY UP-TO-DATE AVAILABLE AGE
nginx-deployment 2/2 2 2 55m
nginxサービスを公開する
kubectl expose deployment/nginx-deployment --type="NodePort" --port 80
nginxサービスを表示
kubectl get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 26h
nginx-deployment NodePort 10.96.0.88 <none> 80:31174/TCP 26m
サービスの削除
kubectl delete service nginx-deployment
固定外部サービスポート
apiVersion: v1 # for versions before 1.9.0 use apps/v1beta2
kind: Service
metadata:
name: nginx-service
spec:
ports:
- protocol: TCP
port: 80
targetPort: 80
# 固定端口数值,必须是配置文件范围内
nodePort: 30100
type: NodePort
selector:
app: nginx
実施した
kubectl create -f C:\Users\73444\Desktop\service.yaml