kubeクラスター管理dashbroadビルドレコードとnginxクラスター

クラスター管理の必要性

コンテナの時代が到来しました。コンテナをバッチで管理する方法は重要なスキルです。

単一マシンのインストールチュートリアル

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
然后访问网址

http:// localhost:8001 / api / v1 / namespaces / kubernetes-dashboard / services / https:kubernetes-dashboard:/ 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

おすすめ

転載: blog.csdn.net/qq_43373608/article/details/107591867