[kubernetes]プライマリノード、ノードの構成

8215 ワード

インスタンスk 8 s関連構成


構成スクリプト

#!/bin/bash
# 방화벽 끄기
systemctl stop firewalld
systemctl disable firewalld
# swap 시스템 메모리가 부족할 경우 하드 공간을 활용하여 작업을 도와주는 영역 --> off
swapoff -a && sed -i '/swap/s/^/#/' /etc/fstab

# Docker 설치
yum install -y yum-utils

yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

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

systemctl enable docker --now

mkdir /etc/docker
cat <<EOF |  tee /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF

systemctl enable docker
systemctl daemon-reload
systemctl restart docker

cat <<EOF |  tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF

# 브릿지 연결
cat <<EOF |  tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
 sysctl --system

systemctl enable --now docker && systemctl status docker

#kubeadm 설치
cat <<EOF |  sudo tee /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
EOF

# permissive 모드로 SELinux 설정(효과적으로 비활성화)
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

yum install -y kubelet-1.21.4-0 kubeadm-1.21.4-0 kubectl-1.21.4-0 --disableexcludes=kubernetes

 systemctl enable --now kubelet


# ip전달 값 변경
echo '1' > /proc/sys/net/ipv4/ip_forward

kubeadm init

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

プライマリ構成


クバーネディス構成LINK

クバーネディスは証明書で通信する.
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
kubectlはユーザーのホームページに置くべきです.
Then you can join any number of worker nodes by running the following on each as root:

kubeadm join 10.0.0.6:6443 --token zwfaf2.dmzbq1dttqx8tckl \
        --discovery-token-ca-cert-hash sha256:f80194adee67af701c319ec3fadb36e0e5335203a69a0bc4096ec441c77c6e6c
ノードは、上記のコマンドを入力して使用する必要があります.
ワークノードに接続するには、マイクロトークンを使用します.
k 8 sは互いに通信するためにcniで物理ネットワークに接続できますか?
cniインストールリンクlink
[root@master ~]# kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
serviceaccount/weave-net created
clusterrole.rbac.authorization.k8s.io/weave-net created
clusterrolebinding.rbac.authorization.k8s.io/weave-net created
role.rbac.authorization.k8s.io/weave-net created
rolebinding.rbac.authorization.k8s.io/weave-net created
daemonset.apps/weave-net created

ネットワーク構成


設定後

対ノード
# 호스트에 접근할 수 있는 토근과 해쉬값 입력
kubeadm join 10.0.0.6:6443 --token zwfaf2.dmzbq1dttqx8tckl \
        --discovery-token-ca-cert-hash sha256:f80194adee67af701c319ec3fadb36e0e5335203a69a0bc4096ec441c77c6e6c

ノードに適用後