FQは、最新の国内K8Sメソッドをインストールしていません

リファレンスアドレス

詳細ます。https://juejin.im/post/5cb7dde9f265da034d2a0dbaの
インストールKubernetesノード:https://www.cnblogs.com/xieyifeng/p/9383236.html
ヘルムダッシュボード:https://mp.weixin.qq.com/s / S9OvZa7oW7qo_9m4OznVtA
K8Sの基本:https://www.jianshu.com/p/95c2bc74e2b2?utm_source=oschina-app
公式サイト:httpsを://yeasy.gitbooks.io/docker_practice/content/opensource/

インストールのドッキングウィンドウ

置き換えアリクラウドのyumソース(非必須)

wgetの-O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yumをmakecache速いです

オリジナルのドッキングウィンドウをアンインストールします

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

インストールが依存します

sudoのyumは-y && sudoのyumを-yインストールにyum-utilsのデバイスマッパー永続データLVM2を更新

公式のyumリポジトリを追加

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

インストールのドッキングウィンドウ

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

[表示]ドッキングウィンドウのバージョン

docker --version

あなたは、スクリプトをインストールすることができます

(推奨しません):

curl -fsSL "https://get.docker.com/" | sh
systemctl enable --now docker

ブート

systemctl enable --now docker

K8Sと一致し、ドッキングウィンドウのcgroupのドライブを変更し、systemdにを使用します

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

再起動して設定を有効にします

systemctl restart docker  

インストールkubelet kubeadm kubectl

マスターは、ノードノードはkubelet kubeadmのkubectlをインストールする必要があります。
インストールkubernetesはkubelet、kubeadmや他のパッケージをインストールする必要がありますが、yumを元の公式ウェブサイトへのK8Sがpackages.cloud.google.comある場合は、国がアクセスし、我々はアリ雲のyumリポジトリのミラーを使用することができますすることはできません。

kubernetsソースを追加

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
       http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

環境の準備

#关闭SElinux
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

#关闭防火墙
systemctl stop firewalld
systemctl disable --now firewalld  

#设置iptables(略)

#安装kubelet kubeadm kubectl
yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

#开机启动kubelet
systemctl enable --now kubelet  

centos7のユーザーはまた、ルーティングを設定する必要があります。

yum install -y bridge-utils.x86_64
modprobe  br_netfilter  # 加载br_netfilter模块,使用lsmod查看开启的模块
cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

# 重新加载所有配置文件
sysctl --system  

# k8s要求关闭swap  (qxl)
swapoff -a && sysctl -w vm.swappiness=0  # 关闭swap
sed -ri '/^[^#]*swap/s@^@#@' /etc/fstab  # 取消开机挂载swap

準備

ミラーリングニーズが記載されています

[root@localhost home]# kubeadm config images list
W0809 11:32:51.518614   18214 version.go:98] could not fetch a Kubernetes version from the internet: unable to get URL "https://dl.k8s.io/release/stable-1.txt": Get https://dl.k8s.io/release/stable-1.txt: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
W0809 11:32:51.519080   18214 version.go:99] falling back to the local client version: v1.15.2
k8s.gcr.io/kube-apiserver:v1.15.2
k8s.gcr.io/kube-controller-manager:v1.15.2
k8s.gcr.io/kube-scheduler:v1.15.2
k8s.gcr.io/kube-proxy:v1.15.2
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd:3.3.10
k8s.gcr.io/coredns:1.3.1

説明:段落Romのdl.k8s.io/のヒント:
します。https:我々が訪問をFQも見//storage.googleapis.com/kubernetes-release/release/stable-1.txt:v1.15.2

### 从亚马逊获取镜像(国内可以访问,而且速度不慢)
docker pull gcr.azk8s.cn/google_containers/kube-apiserver:v1.15.2
docker pull gcr.azk8s.cn/google_containers/kube-controller-manager:v1.15.2
docker pull gcr.azk8s.cn/google_containers/kube-scheduler:v1.15.2
docker pull gcr.azk8s.cn/google_containers/kube-proxy:v1.15.2
docker pull gcr.azk8s.cn/google_containers/pause:3.1
docker pull gcr.azk8s.cn/google_containers/etcd:3.3.10
docker pull gcr.azk8s.cn/google_containers/coredns:1.3.1

# 将镜像打Tag成目标镜像
docker tag gcr.azk8s.cn/google_containers/kube-proxy:v1.15.2 k8s.gcr.io/kube-proxy:v1.15.2
docker tag gcr.azk8s.cn/google_containers/kube-controller-manager:v1.15.2  k8s.gcr.io/kube-controller-manager:v1.15.2
docker tag gcr.azk8s.cn/google_containers/kube-scheduler:v1.15.2 k8s.gcr.io/kube-scheduler:v1.15.2
docker tag gcr.azk8s.cn/google_containers/kube-apiserver:v1.15.2  k8s.gcr.io/kube-apiserver:v1.15.2
docker tag gcr.azk8s.cn/google_containers/coredns:1.3.1  k8s.gcr.io/coredns:1.3.1
docker tag gcr.azk8s.cn/google_containers/etcd:3.3.10  k8s.gcr.io/etcd:3.3.10
docker tag gcr.azk8s.cn/google_containers/pause:3.1  k8s.gcr.io/pause:3.1

# 删除下载的镜像
docker rmi gcr.azk8s.cn/google_containers/kube-apiserver:v1.15.2
docker rmi gcr.azk8s.cn/google_containers/kube-controller-manager:v1.15.2
docker rmi gcr.azk8s.cn/google_containers/kube-scheduler:v1.15.2
docker rmi gcr.azk8s.cn/google_containers/kube-proxy:v1.15.2
docker rmi gcr.azk8s.cn/google_containers/pause:3.1
docker rmi gcr.azk8s.cn/google_containers/etcd:3.3.10
docker rmi gcr.azk8s.cn/google_containers/coredns:1.3.1

初期化

[root@localhost home]# kubeadm init --apiserver-advertise-address 192.168.15.174 --pod-network-cidr 192.168.0.0/16 --kubernetes-version 1.15.2

。。。。。。
Your Kubernetes control-plane has initialized successfully!

To start using your cluster, you need to run the following as a regular user:

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

You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
  https://kubernetes.io/docs/concepts/cluster-administration/addons/

Then you can join any number of worker nodes by running the following on each as root:

kubeadm join 192.168.15.174:6443 --token a04776.b0jwrvh0b7se4w0p \
    --discovery-token-ca-cert-hash sha256:1ccc89d634fb2957c186dd00899b5b9d6421492986457b168523957913910a9a 

印刷設定のヒント

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

アプリケーションフランネルネットワーク

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

ビュー

# 查看pod
kubectl get pods --all-namespaces

# 查看节点:
kubectl get nodes

問題と解決策

  1. 仮面のときkubeletプロンプト開始
    systemctlのアンマスクkubelet.service

  2. トークン忘れたり、有効期限が切れ
    、次のように解決策は以下のとおりです。
    https://blog.csdn.net/weixin_44208042/article/details/90676155

おすすめ

転載: www.cnblogs.com/bugutian/p/11329274.html