Kubernetesインストール

https://qiita.com/sheepland/items/d63bfe24c8e363132f7a
https://qiita.com/nagase/items/15726e37057e7cc3b8cd


mmm124: CentOS7 Kubernetes master node
mmm125: CentOS7 Kubernetes worker node


前提:
CPU数=2に増強


※インストール後の作業はmaster nodeから一般ユーザ(test)でおこなう


--(1) master nodeの作成

yum update -y


useradd test
echo test | passwd --stdin test

visudo

test ALL=(ALL) NOPASSWD: ALL

 

vim /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1

sysctl --system

 

swapoff -a

vim /etc/fstab
swapの行をコメントアウト


vim /etc/yum.repos.d/kubernetes.repo

[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg


yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

yum remove docker docker-common docker-selinux docker-engine
yum install -y docker-ce
yum install -y kubeadm kubectl kubelet

systemctl restart docker && systemctl enable docker
systemctl restart kubelet && systemctl enable kubelet

 

kubeadm init

最後に表示される下記のような出力をコピーペーストして保存。あとでworker nodeで実行する
 
 kubeadm join 192.168.137.124:6443 --token odxohs.sms5hram4i8jiv2d \
  --discovery-token-ca-cert-hash sha256:8aee8a88c23de0b4541fd995d5a0e27fd47a54ff4bdd2e4f4ad5e65f8fcac9da


su - test

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

 

 


export kubever=$(kubectl version | base64 | tr -d '\n')
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$kubever"

 



kubectl get nodes
kubectl get pod --all-namespaces

 

--(2) worker nodeの作成

yum update -y

 

vim /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1

sysctl --system

 

swapoff -a

vim /etc/fstab
swapの行をコメントアウト

 

vim /etc/yum.repos.d/kubernetes.repo

[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg


yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

yum remove docker docker-common docker-selinux docker-engine
yum install -y docker-ce
yum install -y kubeadm kubectl kubelet


systemctl restart docker && systemctl enable docker
systemctl restart kubelet && systemctl enable kubelet

 

kubeadm join 192.168.137.124:6443 --token odxohs.sms5hram4i8jiv2d \
--discovery-token-ca-cert-hash sha256:8aee8a88c23de0b4541fd995d5a0e27fd47a54ff4bdd2e4f4ad5e65f8fcac9da


---------------------
master nodeで確認

kubectl get nodes
kubectl get pod --all-namespaces

---------------------

JMeterインストール(マスター/スレーブ)

https://qiita.com/marumaru/items/1c79b9fef5bbeb1adb42

 

前提:JMeterインストール済でJMeter停止済
(手順はJMeterインストール(シングル)参照)

----JMETER バージョン: 5.1.1の場合

--マスターノードでの作業


cd $JMETER_HOME/bin

LANG=C create-rmi-keystore.sh

※key passwordは未入力でenter

生成されたrmi_keystore.jksをスレーブノードの$JMETER_HOME/binへコピー


vim jmeter.properties

remote_hosts=192.168.137.121,192.168.137.122


cd $JMETER_HOME/bin
jmeter

jmeterを起動した場所からrmi_keystore.jksを読み込むため、rmi_keystore.jksのあるディレクトリへ移動する必要がある


--スレーブノードでの作業

cd $JMETER_HOME/bin

jmeter-server


----JMETER バージョン: 3.2の場合

--マスターノードでの作業

cd $JMETER_HOME/bin

vim jmeter.properties
remote_hosts=192.168.137.121,192.168.137.122

jmeter


--スレーブノードでの作業

cd $JMETER_HOME/bin
jmeter-server

 

Hinemosインストール

マネージャホスト: mmm124 CentOS7 Hinemosマネージャ6.2 Hinemosクライアント6.2
エージェントホスト: mmm125 CentOS7 Hinemosエージェント6.2

 

http://www.matsubarasystems.com/centos/%e6%ad%bb%e6%b4%bb%e7%9b%a3%e8%a6%96%e3%83%84%e3%83%bc%e3%83%ab%e3%80%8chinemos%e3%80%8d%e3%82%92%e8%a9%a6%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b

https://github.com/hinemos/hinemos/blob/master/README.jp.md
https://github.com/hinemos/hinemos/releases#packages


参考マニュアル: Hinemos ver.6.2 インストールマニュアル(Linux版マネージャ) 第3版

(1) マネージャホストの設定

(1.1) 必要なパッケージのインストール

--3.2 Hinemosコンポーネントに必要なパッケージ一覧

yum -y install \
java-1.8.0-openjdk \
vim-common \
java-1.8.0-openjdk-devel \
net-snmp-utils \
sysstat \
tcpdump \
lsof \
lsof \
sblim-wbemcli \
wsmancli \
unzip \
vlgothic-p-fonts \
net-snmp

(1.2) Hinemosマネージャのインストール

--4.1.1 インストーラの実行

localectl

yum -y install https://github.com/hinemos/hinemos/releases/download/v6.2.2/hinemos-6.2-manager-6.2.2-1.el7.x86_64.rpm


cat /opt/hinemos/etc/hinemos.cfg | grep -A 3 "Environment Attributes"

→LANG=ja_JP.UTF-8であることを確認

----Hinemosマネージャ起動
systemctl start hinemos_manager

----Hinemosマネージャ停止
systemctl stop hinemos_manager

----Hinemosマネージャ起動確認
systemctl status hinemos_manager

ps -ef | grep /opt/hinemos/

以下の2つのプロセスが起動していることを確認します
/opt/hinemos/postgresql/bin/postgres -D /opt/hinemos/var/data
java ... com.clustercontrol.HinemosManagerMain


(1.3) Hinemosクライアントのインストール

--5.1.2 インストーラの実行

localectl


yum -y install https://github.com/hinemos/hinemos/releases/download/v6.2.2/hinemos-6.2-web-6.2.2-1.el7.x86_64.rpm

 

cat /opt/hinemos_web/conf/hinemos_web.cfg | grep -A 3 "Environment Attributes"

→LANG=ja_JP.UTF-8であることを確認


----Hinemosクライアント起動
systemctl start hinemos_web

----Hinemosクライアント停止
systemctl stop hinemos_web

----Hinemosクライアント起動確認
systemctl status hinemos_web

ps -ef | grep /opt/hinemos_web/

(1.4) Hinemosクライアントでの接続

http://192.168.137.124

ユーザID: hinemos
パスワード: hinemos

 


(2) エージェントホストの設定

(2.1) 必要なパッケージのインストール

--3.2 Hinemosコンポーネントに必要なパッケージ一覧

yum -y install \
openssh-clients \
net-snmp \
net-snmp-libs \
net-snmp-utils \
tog-pegasus \
sblim-wbemcli \
sblim-cmpi-base \
sblim-cmpi-fsvol \
openlmi-storage \
libpcap

(2.2) Hinemosエージェントのインストール

--8.1.1 インストーラの実行

yum -y install https://github.com/hinemos/hinemos/releases/download/v6.2.2/hinemos-6.2-agent-6.2.2-1.el.noarch.rpm

 

cat /opt/hinemos_agent/conf/hinemos_agent.cfg | grep -A 3 "Environment Attributes"

→LANG=ja_JP.UTF-8であることを確認

 

--8.1.2 接続先Hinemosマネージャの設定

vim /opt/hinemos_agent/conf/Agent.properties

managerAddress=http://127.0.0.1:8081/HinemosWS/

managerAddress=http://192.168.137.124:8081/HinemosWS/


vim /etc/rsyslog.d/rsyslog_hinemos_agent.conf

*.info;mail.none;authpriv.none;cron.none @@127.0.0.1:514

*.info;mail.none;authpriv.none;cron.none @@192.168.137.124:514

systemctl restart rsyslog


----Hinemosエージェント起動
systemctl start hinemos_agent

----Hinemosエージェント停止
systemctl stop hinemos_agent

----Hinemosエージェント起動確認
systemctl status hinemos_agent


----NET-SNMP起動
systemctl start snmpd

----NET-SNMP停止
systemctl stop snmpd

----NET-SNMP起動確認
systemctl status snmpd


(3) 動作確認

https://qiita.com/itatibs/items/5a3d5ad8b11581ca9262

https://www.hinemos.info/technology/nttdata/2015071601

 

EC2自動起動停止

https://www.t3a.jp/blog/infrastructure/lambda-auto/
https://aws.amazon.com/jp/premiumsupport/knowledge-center/start-stop-lambda-cloudwatch/


(1)Lambda用のIAMロールの作成

(1.1)ポリシーの作成
ポリシー名:pol_ec2

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:Start*",
"ec2:Stop*"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:*"
}
]
}

(1.2)ロールの作成
ロール名:role_ec2
参照ポリシー名: pol_ec2

 

(2)Lambdaファンクションの作成

(2.1)起動用ファンクションの作成
関数名: fun_start_ec2
ランタイム: Python3.7
ロール名:role_ec2

import boto3

def lambda_handler(event, context):
client = boto3.client('ec2')
response = client.start_instances(InstanceIds=event["instanceid"])
print(response)

 

(2.2)停止用ファンクションの作成

関数名: fun_stop_ec2
ランタイム: Python3.7
ロール名:role_ec2

import boto3

def lambda_handler(event, context):
client = boto3.client('ec2')
response = client.stop_instances(InstanceIds=event["instanceid"])
print(response)

 

(3)CloudWatch Eventsの登録
※ 注意:cronはUTC指定です

(3.1)起動用ルールの作成
ルール名: rule_start_ec2
Cron式: 01 12 * * ? *
関数名: fun_start_ec2
入力: 定数: {"instanceid": ["i-12345678901234567","i-12345678901234568"] }

(3.2)停止用ルールの作成
ルール名: rule_stop_ec2
Cron式: 06 12 * * ? *
関数名: fun_stop_ec2
入力: 定数: {"instanceid": ["i-12345678901234567","i-12345678901234568"] }

 

RDS自動起動停止

http://dev.classmethod.jp/cloud/aws/rds-auto-stop-start/
https://qiita.com/aoi1/items/fe0caaedb036ab79773a

 

(1)Lambda用のIAMロールの作成

(1.1)ポリシーの作成
ポリシー名:pol_rds

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"rds:StopDBInstance",
"rds:StartDBInstance"
],
"Resource": "arn:aws:rds:*:*:db:*"
},
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:*"
}
]
}

(1.2)ロールの作成
ロール名:role_rds
参照ポリシー名: pol_rds

 

(2)Lambdaファンクションの作成

(2.1)起動用ファンクションの作成
関数名: fun_start_rds
ランタイム: Python3.7
ロール名:role_rds

import boto3

def lambda_handler(event, context):
client = boto3.client('rds')
for id in event["instanceid"]:
response = client.start_db_instance(DBInstanceIdentifier=id)
print(response)


(2.2)停止用ファンクションの作成

関数名: fun_stop_rds
ランタイム: Python3.7
ロール名:role_rds

import boto3

def lambda_handler(event, context):
client = boto3.client('rds')
for id in event["instanceid"]:
response = client.stop_db_instance(DBInstanceIdentifier=id)
print(response)

 

(3)CloudWatch Eventsの登録
※ 注意:cronはUTC指定です

(3.1)起動用ルールの作成
ルール名: rule_start_rds
Cron式: 24 11 * * ? *
関数名: fun_start_rds
入力: 定数: {"instanceid": ["test1","test2"] }

(3.2)停止用ルールの作成
ルール名: rule_stop_rds
Cron式: 32 11 * * ? *
関数名: fun_stop_rds
入力: 定数: {"instanceid": ["test1","test2"] }

 

JMeterインストール(シングル)

OS: CentOS Linux release 7.6.1810 (Core)
Kernel: 3.10.0-957.1.3.el7.x86_64


メモリサイズ=4GB

 

--JMETER バージョン: 5.1.1の場合

 


yum remove java*

yum -y install java-1.8.0-openjdk
yum -y install java-1.8.0-openjdk-devel
java -version

vim ~/.bash_profile

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$PATH:$JAVA_HOME/bin

. ~/.bash_profile

echo $JAVA_HOME

javac -version

wget http://ftp.yz.yamagata-u.ac.jp/pub/network/apache//jmeter/binaries/apache-jmeter-5.1.1.tgz

tar xvzf apache-jmeter-5.1.1.tgz -C /usr/local/

cd /usr/local/apache-jmeter-5.1.1
ls -1p

vim ~/.bash_profile

export JMETER_HOME="/usr/local/apache-jmeter-5.1.1"
export PATH=$PATH:$JMETER_HOME/bin

. ~/.bash_profile

jmeter

--JMETER バージョン: 3.2の場合

 

yum remove java*

yum -y install java-1.8.0-openjdk
yum -y install java-1.8.0-openjdk-devel
java -version

vim ~/.bash_profile

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$PATH:$JAVA_HOME/bin

. ~/.bash_profile

echo $JAVA_HOME

javac -version

wget https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-3.2.tgz

tar xvzf apache-jmeter-3.2.tgz -C /usr/local/

 

vim ~/.bash_profile

export JMETER_HOME="/usr/local/apache-jmeter-3.2"
export PATH=$PATH:$JMETER_HOME/bin

. ~/.bash_profile


cd /usr/local/apache-jmeter-3.2/bin
vim jmeter
31行目付近を次のように修正

_java=`type java | awk '{ print $ NF }'`

_java=`which java | awk '{ print $ NF }'`

 

jmeter

 

 

 

Dockerインストール

OS: CentOS Linux release 7.6.1810 (Core)
Kernel: 3.10.0-957.12.1.el7.x86_64

https://qiita.com/inakadegaebal/items/be9fecce813cebec5986
https://docs.docker.com/install/linux/docker-ce/centos/


yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine \
docker-selinux \
docker-ce \
docker-ce-cli

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo


yum -y install docker-ce docker-ce-cli containerd.io
yum list docker-ce --showduplicates

systemctl restart docker
systemctl status docker
docker run hello-world