寻找特别的你 發表於 2020-8-29 17:51:00

国内源安装kubernetes

<p>环境 centos7 为例</p>
<p>1 yum 源修改为国内</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 备份本地yum源</span>
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-<span style="color: rgba(0, 0, 0, 1)">Base.repo_bak

</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 获取阿里yum源配置</span>
wget -O /etc/yum.repos.d/CentOS-Base.repo http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrors.aliyun.com/repo/Centos-7.repo
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 或者</span>
curl -o /etc/yum.repos.d/CentOS-Base.repo http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrors.aliyun.com/repo/Centos-7.repo

</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 更新catch</span>
<span style="color: rgba(0, 0, 0, 1)">yum clean all <span class="token comment"># 清除系统所有的yum缓存 <br>yum makecache <span class="token comment"># 生成yum缓存</span></span>

</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 查看</span>
yum -y update <br><br>// 调整时区为上海<br>timedatectl set-timezone Asia/Shanghai</pre>
</div>
<p>2&nbsp;使用本地软件包管理软件安装 kubectl 二进制文件</p>
<div class="cnblogs_code">
<pre>$ cat &lt;&lt;EOF &gt; /etc/yum.repos.d/<span style="color: rgba(0, 0, 0, 1)">kubernetes.repo

name</span>=<span style="color: rgba(0, 0, 0, 1)">Kubernetes
baseurl</span>=https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/</span>
enabled=<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">
gpgcheck</span>=<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">
repo_gpgcheck</span>=<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">
gpgkey</span>=https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg </span><span style="color: rgba(0, 128, 0, 1); text-decoration: underline">https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg</span>
EOF</pre>
</div>
<p>&nbsp;</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">开始安装 kubelet kubeadm kubectl
$ yum install -y kubelet-1.18.2 kubeadm-1.18.2 kubectl-1.18.2</span><span style="color: rgba(0, 0, 0, 1)">

设置开机启动
$ systemctl enable kubelet </span>&amp;&amp; systemctl start kubelet<br><br>设置路由策略<br>lsmod | grep br_netfilter</pre>
<h3 id="使桥接流量对iptables可见">使桥接流量对iptables可见</h3>
<pre><code class="language-bash" data-lang="bash">cat &lt;&lt;EOF &gt;/etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system<br><br>关闭swap<br></code></pre>
<pre class="wp-block-code"><code>sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
sudo swapoff -a<br><br></code></pre>
<pre class="wp-block-code"><code>验证是否生效,均返回&nbsp;<code>1</code>&nbsp;即正确<br>sysctl -n net.bridge.bridge-nf-call-iptables<br>sysctl -n net.bridge.bridge-nf-call-ip6tables<br><br></code></pre>
<pre>echo "1" &gt;/proc/sys/net/ipv4/ip_forward</pre>
<pre class="wp-block-code"><code>&nbsp;</code></pre>
</div>
<p>3 关闭防火墙</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">sudo systemctl stop firewalld.service   #停止firewall
sudo systemctl disable firewalld.service #禁止firewall开机启动
sudo firewall</span>-cmd --state             #查看防火墙状态</pre>
</div>
<p>4 禁用SELINUX</p>
<div class="cnblogs_code">
<pre>sudo setenforce <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
sudo vi </span>/etc/selinux/<span style="color: rgba(0, 0, 0, 1)">config
#SELINUX修改为disabled
SELINUX</span>=disabled </pre>
</div>
<p>5 升级内核为 4.44 版本</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">更新yum源
yum </span>-<span style="color: rgba(0, 0, 0, 1)">y update

获取源
rpm </span>-Uvh http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm</span>
<span style="color: rgba(0, 0, 0, 1)">
安装,装完成后检查 </span>/boot/grub2/<span style="color: rgba(0, 0, 0, 1)">grub.cfg中对应内核menuentry中是否包含 initrd16 配置,如果没有,再安装一次!
yum </span>--enablerepo=elrepo-kernel install -y kernel-<span style="color: rgba(0, 0, 0, 1)">lt

查看系统的全部内核<br></span>sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg</pre>
<pre></pre>
<p>0 : CentOS Linux (4.4.234-1.el7.elrepo.x86_64) 7 (Core)<br>1 : CentOS Linux (3.10.0-1127.19.1.el7.x86_64) 7 (Core)<br>2 : CentOS Linux (3.10.0-1127.el7.x86_64) 7 (Core)<br>3 : CentOS Linux (0-rescue-a3c527d56cc044c1887c29a15fe92891) 7 (Core)</p>
<pre><span style="color: rgba(0, 0, 0, 1)">
设置开机从新内核启动<br></span>grub2-set-default 0</pre>
<pre>生成grub配置文件<br>grub2-mkconfig -o /boot/grub2/grub.cfg</pre>
<pre><span style="color: rgba(0, 0, 0, 1)">重启使配置有效
reboot

查看正在使用的内核
uname </span>-r</pre>
</div>
<p>6 安装 docker-ce,国内阿里仓库安装</p>
<p>安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。</p>
<div class="cnblogs_code">
<pre>sudo yum install -y yum-<span style="color: rgba(0, 0, 0, 1)">utils \
device</span>-mapper-persistent-<span style="color: rgba(0, 0, 0, 1)">data \
lvm2</span></pre>
</div>
<p>&nbsp;</p>
<div class="cnblogs_code">
<pre>$ sudo yum-config-<span style="color: rgba(0, 0, 0, 1)">manager \
    </span>--add-<span style="color: rgba(0, 0, 0, 1)">repo \
    http:</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo</span></pre>
</div>
<p>安装最新版本的 Docker Engine-Community 和 containerd</p>
<div class="cnblogs_code">
<pre>$ sudo yum install docker-ce docker-ce-cli containerd.io<br><br>将普通用户可以执行docker命令<br><br>创建docker 用户组<br><code class="prism language-shell"><span class="token function">sudo <span class="token function">groupadd docker<br><br></span></span></code>普通用户加入docker用户组<br><code class="prism language-shell"><span class="token function">sudo <span class="token function">usermod -aG docker <span class="token variable">${USER}</span></span></span></code></pre>
<pre>启动docker<br><code class="prism language-shell"><span class="token function">sudo systemctl restart docker<br><br></span></code></pre>
<pre><code class="language-shell" data-lang="shell">## Create /etc/docker
mkdir /etc/docker</code></pre>
<pre><code class="language-shell" data-lang="shell"># Set up the Docker daemon
cat &gt; /etc/docker/daemon.json &lt;&lt;EOF
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
    "max-size": "100m"
},
"storage-driver": "overlay2",
"storage-opts": [
    "overlay2.override_kernel_check=true"
]
}
EOF</code><br><br><br></pre>
<pre><code class="language-shell" data-lang="shell">mkdir -p /etc/systemd/system/docker.service.d</code><br><br><br></pre>
<pre><code class="language-shell" data-lang="shell"># Restart Docker
systemctl daemon-reload
systemctl restart docker<br><br># 开机启动docker<br>systemctl enable docker</code></pre>
</div>
<p>&nbsp;</p>
<p>7 查看kubeadm、kubectl、cubelet 版本命令</p>
<div class="cnblogs_code">
<pre>$ kubeadm version
kubeadm version: </span>&amp;version.Info{Major:<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">1</span><span style="color: rgba(128, 0, 0, 1)">"</span>, Minor:<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">19</span><span style="color: rgba(128, 0, 0, 1)">"</span>, GitVersion:<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">v1.19.0</span><span style="color: rgba(128, 0, 0, 1)">"</span>, GitCommit:<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">e19964183377d0ec2052d1f1fa930c4d7575bd50</span><span style="color: rgba(128, 0, 0, 1)">"</span>, GitTreeState:<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">clean</span><span style="color: rgba(128, 0, 0, 1)">"</span>, BuildDate:<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">2020-08-26T14:28:32Z</span><span style="color: rgba(128, 0, 0, 1)">"</span>, GoVersion:<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">go1.15</span><span style="color: rgba(128, 0, 0, 1)">"</span>, Compiler:<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">gc</span><span style="color: rgba(128, 0, 0, 1)">"</span>, Platform:<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">linux/amd64</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">}
$ kubectl version --<span style="color: rgba(0, 0, 0, 1)">client
Client Version: version.Info{Major:</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">1</span><span style="color: rgba(128, 0, 0, 1)">"</span>, Minor:<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">19</span><span style="color: rgba(128, 0, 0, 1)">"</span>, GitVersion:<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">v1.19.0</span><span style="color: rgba(128, 0, 0, 1)">"</span>, GitCommit:<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">e19964183377d0ec2052d1f1fa930c4d7575bd50</span><span style="color: rgba(128, 0, 0, 1)">"</span>, GitTreeState:<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">clean</span><span style="color: rgba(128, 0, 0, 1)">"</span>, BuildDate:<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">2020-08-26T14:30:33Z</span><span style="color: rgba(128, 0, 0, 1)">"</span>, GoVersion:<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">go1.15</span><span style="color: rgba(128, 0, 0, 1)">"</span>, Compiler:<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">gc</span><span style="color: rgba(128, 0, 0, 1)">"</span>, Platform:<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">linux/amd64</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">}
$ kubelet --<span style="color: rgba(0, 0, 0, 1)">version
Kubernetes v1.</span><span style="color: rgba(128, 0, 128, 1)">19.0</span></pre>
</div>
<p>&nbsp;</p>
<p>8 master 节点初始化集群</p>
<div class="cnblogs_code">
<pre># kubeadm init --kubernetes-version=1.18.2 \</pre>
<pre>--apiserver-advertise-address=192.168.253.11 \<br>--ignore-preflight-errors=all \
--image-repository registry.aliyuncs.com/google_containers \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.244.0.0/16</pre>
</div>
<p>POD的网段为: 10.122.0.0/16, api server地址就是master本机IP。</p>
<p>这一步很关键,由于kubeadm 默认从官网k8s.grc.io下载所需镜像,国内无法访问,因此需要通过–image-repository指定阿里云镜像仓库地址。</p>
<p>&nbsp;参数解释:</p>
<div class="cnblogs_code">
<pre>–kubernetes-<span style="color: rgba(0, 0, 0, 1)">version: 用于指定k8s版本;
–apiserver</span>-advertise-address:用于指定kube-<span style="color: rgba(0, 0, 0, 1)">apiserver监听的ip地址,就是 master本机IP地址。
–pod</span>-network-cidr:用于指定Pod的网络范围; <span style="color: rgba(128, 0, 128, 1)">10.244</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">16</span><span style="color: rgba(0, 0, 0, 1)">
–service</span>-<span style="color: rgba(0, 0, 0, 1)">cidr:用于指定SVC的网络范围;
–image</span>-repository: 指定阿里云镜像仓库地址</pre>
</div>
<p>&nbsp;</p>
<p>9 执行以下命令</p>
<div class="cnblogs_code">
<pre>#mkdir -p $HOME/<span style="color: rgba(0, 0, 0, 1)">.kube
# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/<span style="color: rgba(0, 0, 0, 1)">config
# sudo chown $(id -u):$(id -g) $HOME/.kube/config</pre>
</div>
<p>&nbsp;</p>
<p>10 使kubectl自动补全</p>
<div class="cnblogs_code">
<pre># source &lt;(kubectl completion bash)</pre>
</div>
<p>11 查看节点</p>
<div class="cnblogs_code">
<pre>kubectl get pod --all-namespaces -o wide</pre>
</div>
<p>12 添加网络</p>
<div class="cnblogs_code">
<pre>kubectl apply -f https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">docs.projectcalico.org/manifests/calico.yaml</span>
<span style="color: rgba(0, 0, 0, 1)">
或者

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml<br></span></pre>
</div>
<p>&nbsp;</p>
<p>13 worker 节点添加到集群中</p>
<div class="cnblogs_code">
<pre>kubeadm join <span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">253.11</span>:<span style="color: rgba(128, 0, 128, 1)">6443</span> --token zz2iu9.ta51l53ajgai8rhx --discovery-token-ca-cert-hash sha256:e49bc0b32bd1f8ebdd8420bf5f29c4d8ab8b0f4abc21d0e9612b57cb8b0c41a8 </pre>
</div>
<p>重新生成加入集群命令</p>
<div class="cnblogs_code">
<pre>kubeadm token create --print-join-command</pre>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>14 部署 dashbord 界面</p>
<p>下载 dashbord.yaml 文件到本地,可以在github上查看想要的版本,例如 2.0.0 地址如下</p>
<div class="cnblogs_code">
<pre>https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">github.com/kubernetes/dashboard/blob/v2.0.0/aio/deploy/recommended.yaml</span></pre>
</div>
<p>部署</p>
<div class="cnblogs_code">
<pre>kubectl create -f dashbord.yaml</pre>
<pre>kubectl proxy</pre>
</div>
<p>可以通过以下方式查看界面</p>
<div class="cnblogs_code">
<pre>https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">github.com/kubernetes/dashboard/blob/master/docs/user/accessing-dashboard/README.md</span></pre>
</div>
<p>&nbsp;</p>
<p>15 设置可以在外部访问dashboard,修改 dashboard以 nodePort&nbsp;访问,编辑配置文件</p>
<div class="cnblogs_code">
<pre>$ kubectl -n kubernetes-dashboard edit service kubernetes-dashboard</pre>
</div>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">修改类型
type: ClusterIP
改为
type: NodePort</span></pre>
</div>
<p>查看暴露的端口</p>
<div class="cnblogs_code">
<pre>kubectl -n kubernetes-dashboard <span style="color: rgba(0, 0, 255, 1)">get</span> service kubernetes-dashboard</pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/852501/202008/852501-20200830164036510-1031790687.png" alt="" loading="lazy"></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>此时可以通过31481端口访问</p>
<div class="cnblogs_code">
<pre>https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">192.168.253.11:31481/#/login</span></pre>
</div>
<p>&nbsp;</p>
<p><img src="https://img2020.cnblogs.com/blog/852501/202008/852501-20200830164122131-996982065.png" alt="" loading="lazy"></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>查看dashboard.yaml 文件找到&nbsp;</p>
<p><em><img src="https://img2020.cnblogs.com/blog/852501/202008/852501-20200830163122512-1412566116.png" alt="" loading="lazy"></em></p>
<p>&nbsp;</p>
<p>&nbsp;表示创建了 kubernetes-dashbord&nbsp; 账户</p>
<p>15.1 为该账户创建登录 token</p>
<div class="cnblogs_code">
<pre>kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard <span style="color: rgba(0, 0, 255, 1)">get</span> secret | grep kubernetes-dashboard | awk <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">{print $1}</span><span style="color: rgba(128, 0, 0, 1)">'</span>)</pre>
</div>
<p>输出样例如下:</p>
<div class="cnblogs_code">
<pre>Name:         kubernetes-dashboard-<span style="color: rgba(0, 0, 0, 1)">certs
Namespace:    kubernetes</span>-<span style="color: rgba(0, 0, 0, 1)">dashboard
Labels:       k8s</span>-app=kubernetes-<span style="color: rgba(0, 0, 0, 1)">dashboard
Annotations:</span>&lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">

Type:Opaque

Data
</span>====<span style="color: rgba(0, 0, 0, 1)">


Name:         kubernetes</span>-dashboard-<span style="color: rgba(0, 0, 0, 1)">csrf
Namespace:    kubernetes</span>-<span style="color: rgba(0, 0, 0, 1)">dashboard
Labels:       k8s</span>-app=kubernetes-<span style="color: rgba(0, 0, 0, 1)">dashboard
Annotations:</span>&lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">

Type:Opaque

Data
</span>====<span style="color: rgba(0, 0, 0, 1)">
csrf:</span><span style="color: rgba(128, 0, 128, 1)">256</span><span style="color: rgba(0, 0, 0, 1)"> bytes


Name:         kubernetes</span>-dashboard-key-<span style="color: rgba(0, 0, 0, 1)">holder
Namespace:    kubernetes</span>-<span style="color: rgba(0, 0, 0, 1)">dashboard
Labels:       </span>&lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
Annotations:</span>&lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">

Type:Opaque

Data
</span>====<span style="color: rgba(0, 0, 0, 1)">
priv:</span><span style="color: rgba(128, 0, 128, 1)">1679</span><span style="color: rgba(0, 0, 0, 1)"> bytes
pub:   </span><span style="color: rgba(128, 0, 128, 1)">459</span><span style="color: rgba(0, 0, 0, 1)"> bytes


Name:         kubernetes</span>-dashboard-token-<span style="color: rgba(0, 0, 0, 1)">5w8wl
Namespace:    kubernetes</span>-<span style="color: rgba(0, 0, 0, 1)">dashboard
Labels:       </span>&lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
Annotations:kubernetes.io</span>/service-account.name: kubernetes-<span style="color: rgba(0, 0, 0, 1)">dashboard
            kubernetes.io</span>/service-account.uid: bbc82fe3-cd7d-439a-b8e6-<span style="color: rgba(0, 0, 0, 1)">0cc0babc3909

Type:kubernetes.io</span>/service-account-<span style="color: rgba(0, 0, 0, 1)">token

Data
</span>====<span style="color: rgba(0, 0, 0, 1)">
ca.crt:   </span><span style="color: rgba(128, 0, 128, 1)">1025</span><span style="color: rgba(0, 0, 0, 1)"> bytes
</span><span style="color: rgba(0, 0, 255, 1)">namespace</span>:<span style="color: rgba(128, 0, 128, 1)">20</span><span style="color: rgba(0, 0, 0, 1)"> bytes
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6IlZ1Nm1aWDMxZlVqenl3OVJtdnJldmtDQ1UyS1F0UVVjd3VVLTEzc2tXYzQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZC10b2tlbi01dzh3bCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY29jZS1hY2NvdW50Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImJiYzgyZmUzLWNkN2QtNDM5YS1iOGU2LTBjYzBiYWJjMzkwOSIsInN1YiI6ZXJ2aWNlYWNjb3VudDprdWJlcm5ldGVzLWRhc2hib2FyZDprdWJlcm5ldGVzLWRhc2hib2FyZCJ9.oFNrIn9sfEXtENOz3ENWrtHN_snUkMkDD5cvMPlAVqBZMM1jHK4bzl2tzym2jcd</span>-1rA1X3g_GfgECGCmnNkU33TublWXaofkMsy8qR6y5sy9uXo8_lke-c3XRwDI3GTq_TU0A61b3MgiuP4U9z2StYxL2lsC9OZfKfmAx5cn8titkvIu7zxftxjJKVKQb6QHjX2q8zbOV3J7x9ObmdLv4emjOqUZvl_5uRNbaSTCcnXJ7TAXvdOzi506EkkjtlwQCccpnOUqt3IzMS5vT_WyeItJ2iZ_vnxs5frnsfof2diYprIr9V88WWP_XmDX0g</pre>
</div>
<p>此时将 token 复制到 dashbord 登录页 token 输入框</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;卸载kubenetes集群</p>
<div class="cnblogs_code">
<pre>kubectl delete node --<span style="color: rgba(0, 0, 0, 1)">all
kubeadm reset </span>-<span style="color: rgba(0, 0, 0, 1)">f
modprobe </span>-<span style="color: rgba(0, 0, 0, 1)">r ipip
lsmod
rm </span>-rf ~/.kube/<span style="color: rgba(0, 0, 0, 1)">
rm </span>-rf /etc/kubernetes/<span style="color: rgba(0, 0, 0, 1)">
rm </span>-rf /etc/systemd/system/<span style="color: rgba(0, 0, 0, 1)">kubelet.service.d
rm </span>-rf /etc/systemd/system/<span style="color: rgba(0, 0, 0, 1)">kubelet.service
rm </span>-rf /usr/bin/kube*<span style="color: rgba(0, 0, 0, 1)">
rm </span>-rf /etc/<span style="color: rgba(0, 0, 0, 1)">cni
rm </span>-rf /opt/<span style="color: rgba(0, 0, 0, 1)">cni
rm </span>-rf /<span style="color: rgba(0, 0, 255, 1)">var</span>/lib/<span style="color: rgba(0, 0, 0, 1)">etcd
rm </span>-rf /<span style="color: rgba(0, 0, 255, 1)">var</span>/<span style="color: rgba(0, 0, 0, 1)">etcd
yum clean all
yum remove kube</span>*</pre>
</div>
<p>&nbsp;</p>
<p>常见问题:</p>
<p>1.&nbsp; 加入集群时报错: /etc/kubernetes/kubelet.conf already exists</p>
<p>原因: 上次的配置文件没有清理干净,删除即可</p>
<div class="cnblogs_code">
<pre>rm -rf /etc/kubernetes/kubelet.conf /etc/kubernetes/pki/ca.crt</pre>
</div>
<p>2.&nbsp;&nbsp; 加入集群时报错:&nbsp;: Port 10250 is in use</p>
<p>原因:上次加入没有成功就关闭。重置kubeadm</p>
<div class="cnblogs_code">
<pre>kubeadm reset</pre>
</div>
<p>&nbsp;3. 加入集群报错:/proc/sys/net/ipv4/ip_forward contents are not set to 1</p>
<div class="cnblogs_code">
<pre>echo <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">1</span><span style="color: rgba(128, 0, 0, 1)">"</span> &gt;/proc/sys/net/ipv4/<span style="color: rgba(0, 0, 0, 1)">ip_forward</span></pre>
</div>
<p>&nbsp;</p>
<p>参考文献</p>
<p>https://blog.csdn.net/xiaojin21cen/article/details/84726193</p>
<p>https://www.cnblogs.com/xjh713/p/7458437.html</p>
<p>https://blog.csdn.net/weixin_43394724/article/details/96477946</p>
<p>https://www.cnblogs.com/chenzhenqi/p/10695959.html</p>
<p>https://blog.csdn.net/u013641234/article/details/106329087/</p>
<p>https://www.cnblogs.com/xzkzzz/p/9627658.html</p>
<p>https://www.runoob.com/docker/centos-docker-install.html</p>
<p>https://blog.csdn.net/sq4521/article/details/105873575</p>
<p>https://blog.csdn.net/aixiaoyang168/article/details/78411511</p>
<p>https://www.cnblogs.com/hellxz/p/use-kubeadm-init-kubernetes-cluster.html</p>

</div>
<div id="MySignature" role="contentinfo">
    <div>
学习过程中,难免出错。如果您在阅读过程中遇到不太明白,或者有疑问。欢迎指正...联系邮箱crazyCodeLove@163.com
<p>
如果觉得有用,想赞助一下请移步赞助页面:赞助一下
</p>
</div><br><br>
来源:https://www.cnblogs.com/zhaopengcheng/p/13582933.html
頁: [1]
查看完整版本: 国内源安装kubernetes