K8S:(1)CentOSスタンドアロン展開に関する予備調査

注:K8Sスタンドアロンインストールでは多くの問題が発生する可能性があります。現在のオンラインチュートリアルのほとんどは、最新バージョンには適用されなくなりました。ピットを踏んだ後、方法をあなたと共有してください

1.環境の準備###

VirtualBoxをインストールします:####

CentOS 7をダウンロード:[http://mirrors.163.com/centos/7.7.1908/isos/x86_64/CentOS-7-x86_64-DVD-1908.torrent](http://mirrors.163.com/centos/7.7.1908/isos/x86_64/CentOS-7-x86_64-DVD-1908.torrent)####

CentOS 7のインストール:マシンがそれをサポートしている場合は、使いやすいようにグラフィカルインターフェイスを選択することをお勧めします####

ソフトウェアソースを変更する####

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache

2つ目は、k8sをインストールして構成を変更する###

k8sなどをインストールします。docker####

yum install -y etcd kubernetes

構成変更リファレンス:[https://lihaoquan.me/2017/2/25/create-kubernetes-single-node-mode.html](https://lihaoquan.me/2017/2/25/create-kubernetes-single-node-mode.html)

次のサービスを開始します:####

systemctl start etcd
systemctl start docker
systemctl start kube-apiserver.service
systemctl start kube-controller-manager.service
systemctl start kube-scheduler.service
systemctl start kubelet.service
systemctl start kube-proxy.service

エラーが発生した場合は、journalctl -xeを使用してエラーメッセージを表示します。ファイアウォールの設定やプロキシの設定などの問題が発生する可能性があります。

journalctl -xe

3、ブートイメージをプルします###

mysql ####をインストールします

docker pull mysql:5.7

ファイルを作成します:mysql-rc.yaml

apiVersion: v1
kind: ReplicationController
metadata:
 name: mysql
spec:
 replicas:1
 selector:
 app: mysql
 template:
 metadata:
  labels:
  app: mysql
 spec:
  containers:- name: mysql
  image: mysql:5.7
  ports:- containerPort:3306
  env:- name: MYSQL_ROOT_PASSWORD
   value:"123456"

kubectlコマンドマニュアル:[https://hardocs.com/d/kubernetes/136-Command%20Reference.html](https://hardocs.com/d/kubernetes/136-Command%2520Reference.html)####

kubectl create -f mysql-rc.yaml

mysql 5.7を使用し、mysqlを直接プルするとmysql 8バージョンにプルされ、古いJDBCは互換性がない可能性があります

mysqlの特定の起動状況を表示します。エラーメッセージも含まれます

kubectl describe pod mysql

image.png

証明書をダウンロードしてインストールします####

wget [http://mirror.centos.org/centos/7/os/x86\_64/Packages/python-rhsm-certificates-1.19.10-1.el7\_4.x86\_64.rpm](http://mirror.centos.org/centos/7/os/x86_64/Packages/python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm)
rpm2cpio python-rhsm-certificates-1.19.10-1.el7\_4.x86\_64.rpm | cpio -iv --to-stdout ./etc/rhsm/ca/redhat-uep.pem | tee /etc/rhsm/ca/redhat-uep.pem
# rpm2cpioコマンドは、rpmソフトウェアパッケージをcpio形式のファイルに変換するために使用されます。cpioコマンドは、主にバックアップファイルを作成または復元するために使用されるツールプログラムです。cpioコマンドは、アーカイブパッケージとの間でファイルをコピーできます。

mysqlrcを削除して再生成します

kubectl delete-f mysql-rc.yaml

kubectl get pods

kubectl create -f mysql-rc.yaml

image.png

kubectl describe pod mysql

image.png

kubectl get pods

image.png

ファイルを作成します:mysql-svc.yaml

apiVersion: v1
kind: Service
metadata: 
 name: mysql
spec:
 ports:- port:3306
 selector:
 app: mysql
kubectl create -f mysql-svc.yaml

image.png

tomcatのデモミラーをプルして実行します####

docker pull kubeguide/tomcat-app:v1

ファイルの作成:myweb-rc.yaml

apiVersion: v1
kind: ReplicationController
metadata:
 name: myweb
spec:
 replicas:5
 selector:
 app: myweb
 template:
 metadata:
  labels:
  app: myweb
 spec:
  containers:- name: myweb
  image: docker.io/kubeguide/tomcat-app:v1
  ports:- containerPort:8080
  env:- name: MYSQL_SERVICE_HOST
   value:"10.254.65.209"    #<===ここでのmysqlアドレスは、サービスのmysqlアドレスを入力し、kubectl getsvcを実行して表示する必要があります。
  - name: MYSQL_SERVICE_PORT
   value:"3306"

ファイルの作成:myweb-svc.yaml

apiVersion: v1
kind: Service
metadata: 
 name: myweb
spec:
 type: NodePort
 ports:- port:8080
  nodePort:30001   #外部ポートマッピング
 selector:
 app: myweb
kubectl create -f myweb-rc.yaml
kubectl create -f myweb-svc.yaml

image.png

第四に、外部アクセスとデータの表示###

操作するには、http://127.0.0.1:30001 / demo /index.jspにアクセスしてください。

image.png

コンテナに入って、すでにmysqlにあるデータを表示できます

image.png

Recommended Posts

K8S:(1)CentOSスタンドアロン展開に関する予備調査
centos mysql-構成、基本操作、および問題に関する予備調査
centos7でk8s1.9.9をビルドする
centos7へのグラファイトの展開
k8sプラクティス(1):Centos 7.6デプロイメントk8s(v1.14.2)クラスター
Centos7でのCeph展開の簡潔な要約
centos7.2でLAMP環境を構築する方法
CentOS8でのMySQL8.0のインストール、展開、および構成のチュートリアル
CentOS展開ハーバー
MacOSでVirtualboxを使用してCentOSネットワークをセットアップする
ランチャーを使用して、CentOS7でK8sクラスターを構築します
CentOS 7にKVMをインストールし、仮想マシンを作成します
CentOS7環境でのKubernetes(k8s)クラスターの迅速な展開