LinuxでKubernetes導入する

Dockerができたら、次は、Kubernetesかな

この通りに実行

Rockey8.4

kubenetesインストール

  • docker インストール
  • kubernetes インストール

# vi /etc/yum.repos.d/kubernetes.repo

[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-$basearch
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
exclude=kubelet kubeadm kubectl

# dnf upgrade -y

# dnf install -y kubelet kubeadm kubectl –disableexcludes=kubernetes

# systemctl enable kubelet
# systemctl start kubelet

環境設定(マスターノードのみ)

 

 

Ubuntu20.04

kubectlインストール

$ curl -LO “https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl”

$ chmod +x ./kubectl

$ sudo mv ./kubectl /usr/local/bin/kubectl

$ kubectl version –short
Flag –short has been deprecated, and will be removed in the future. The –short output will become the default.
Client Version: v1.24.3
Kustomize Version: v4.5.4
The connection to the server localhost:8080 was refused – did you specify the right host or port?

kubectl config

コンテキストを作成、表示する方法

ユーザー作成

$ kubectl config set-credentials user1 –username=user1 –password=pass1
User “user1” set.
$ kubectl config set-credentials user2 –username=user2 –password=pass2
User “user2” set.

クラスタを作成

$ kubectl config set-cluster cluster –insecure-skip-tls-verify=true –server=http://master:8080
Cluster “cluster” set.

クラスタとユーザーを関連付ける

$ kubectl config set-context context1 –user=user1 –cluster=cluster
Context “context1” created.
$ kubectl config set-context context2 –user=user2 –cluster=cluster
Context “context2” created.

利用するコンテキストを選択と切替

$ kubectl config use-context context2
Switched to context “context2”.

$ kubectl config get-contexts  <= 確認
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
context1 cluster user1
* context2 cluster user2

$ kubectl config use-context context1
Switched to context “context1”.

$ kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
* context1 cluster user1
context2 cluster user2

設定内容の確認
$ kubectl config view
apiVersion: v1
clusters:
- cluster:
insecure-skip-tls-verify: true
server: http://master:8080
name: cluster
contexts:
- context:
cluster: cluster
user: user1
name: context1
- context:
cluster: cluster
user: user2
name: context2
current-context: context1
kind: Config
preferences: {}
users:
- name: user1
user:
password: pass1
username: user1
- name: user2
user:
password: pass2
username: user2
クラスタの確認

$ kubectl config get-clusters
NAME
cluster

作成したものを削除

[コンテキスト削除]
$ kubectl config delete-context context1
deleted context context1 from /home/u000326/.kube/config
$ kubectl config delete-context context2  <= 警告「activeを消すよ!」
warning: this removed your active context, use "kubectl config use-context" to select a different one
deleted context context2 from /home/u000326/.kube/config
(確認)
$ kubectl config get-contexts <= 確認。消えている。
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
[クラスタ削除]
$ kubectl config delete-cluster cluster
deleted cluster cluster from /home/u000326/.kube/config
[ユーザー削除]
$ kubectl config unset users.user1
Property "users.user1" unset.
$ kubectl config unset users.user2
Property "users.user2" unset.
[最終確認]
$ kubectl config view
apiVersion: v1
clusters: null
contexts: null
current-context: context2
kind: Config
preferences: {}
users: null

指定したホストでPodを動かす方法(taint)

 

 

 

 

 

 

 

 

以下は、止めた

事前、Proxyな環境な人は、環境設定

sudo vi /etc/systemd/system/multi-user.target.wants/snapd.service
以下を追加
[Service]
Environment=http_proxy=http://172.16.1.81:8080
Environment=https_proxy=http://172.16.1.81:8080
sudo systemctl daemon-reload
sudo systemctl restart snapd.service

$ sudo apt-get install -y kubernetes

$ sudo kubernetes install

 

$ sudo systemctl restart snapd.service

$ sudo kubectl version –short

Client Version: v1.24.3
Kustomize Version: v4.5.4
タイトルとURLをコピーしました