<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=%E4%BD%BF%E7%94%A8kubeadm%E7%A6%BB%E7%BA%BF%E9%83%A8%E7%BD%B2kubernetesv1.9.0_on_centos7</id>
	<title>使用kubeadm离线部署kubernetesv1.9.0 on centos7 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=%E4%BD%BF%E7%94%A8kubeadm%E7%A6%BB%E7%BA%BF%E9%83%A8%E7%BD%B2kubernetesv1.9.0_on_centos7"/>
	<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=%E4%BD%BF%E7%94%A8kubeadm%E7%A6%BB%E7%BA%BF%E9%83%A8%E7%BD%B2kubernetesv1.9.0_on_centos7&amp;action=history"/>
	<updated>2026-04-20T13:26:03Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.linuxsa.org/index.php?title=%E4%BD%BF%E7%94%A8kubeadm%E7%A6%BB%E7%BA%BF%E9%83%A8%E7%BD%B2kubernetesv1.9.0_on_centos7&amp;diff=1201&amp;oldid=prev</id>
		<title>Evan：​/* 2021 */</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=%E4%BD%BF%E7%94%A8kubeadm%E7%A6%BB%E7%BA%BF%E9%83%A8%E7%BD%B2kubernetesv1.9.0_on_centos7&amp;diff=1201&amp;oldid=prev"/>
		<updated>2021-08-28T14:48:07Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;2021&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=2021=&lt;br /&gt;
[https://www.cnblogs.com/SimpleWu/p/14561276.html  Kubernetes集群环境搭建全过程 ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/user-sunli/p/13893991.html  Shell脚本实现----Kubernetes单集群二进制部署 ]&lt;br /&gt;
&lt;br /&gt;
=同内节点或者离线 2020=&lt;br /&gt;
 on debian  好点呢&lt;br /&gt;
&lt;br /&gt;
=全局翻墙=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
centos7&lt;br /&gt;
https://www.jianshu.com/p/1cb70b8ea2d7&lt;br /&gt;
&lt;br /&gt;
这个直接用gcr.io  暂时还在用 还没成功呢  Fri May 24 16:24:42 CST 2019 成功了 docker代理&lt;br /&gt;
&lt;br /&gt;
[[CentOS7.x安装配置Shadowsocks客户端]]&lt;br /&gt;
&lt;br /&gt;
[[Ubuntu利用shadowsocks和polipo终端翻墙]]&lt;br /&gt;
&lt;br /&gt;
=docker registry mirrors[[K8s镜像]]=&lt;br /&gt;
用了不成功呢 有空再试一下 [[K8s镜像]]&lt;br /&gt;
&lt;br /&gt;
=使用kubeadm离线部署kubernetes v1.9.0=&lt;br /&gt;
以下就是这种办法&lt;br /&gt;
&lt;br /&gt;
=pre=&lt;br /&gt;
&lt;br /&gt;
关闭swap 关闭防火墙  selinux&lt;br /&gt;
&lt;br /&gt;
[[Docker国内镜像的配置及使用|docker添加registry-mirror ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==info==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
os: centos 7.x&lt;br /&gt;
ip:&lt;br /&gt;
2018k8smaster 2018k8snode1 2018k8snode2&lt;br /&gt;
192.168.88.117    master&lt;br /&gt;
192.168.88.118      slave&lt;br /&gt;
192.168.88.119     slave&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#hosts&lt;br /&gt;
cat &amp;gt;&amp;gt;/etc/hosts &amp;lt;&amp;lt;EOF&lt;br /&gt;
192.168.88.30  master&lt;br /&gt;
192.168.88.31  node1&lt;br /&gt;
192.168.88.32  node2&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==主机时间同步 ==&lt;br /&gt;
 systemctl  start chronyd.service &amp;amp;&amp;amp; systemctl  enable chronyd.service&lt;br /&gt;
&lt;br /&gt;
==关闭 swap==&lt;br /&gt;
 swapoff -a  # 打开文件&lt;br /&gt;
&lt;br /&gt;
==永久修改主机名，你可以修改静态主机名==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hostnamectl --static set-hostname  master&lt;br /&gt;
hostnamectl --static set-hostname  node1&lt;br /&gt;
hostnamectl --static set-hostname  node2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=所有节点操作=&lt;br /&gt;
== confing ssh key and  stop firewall stop selinux==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 systemctl stop firewalld &amp;amp;&amp;amp; systemctl disable firewalld #如果是在外网环境，请打开iptables etc &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 setenforce 0&lt;br /&gt;
 cat /etc/selinux/config | grep -v ^#&lt;br /&gt;
# This file controls the state of SELinux on the system.&lt;br /&gt;
# SELINUX= can take one of these three values:&lt;br /&gt;
#     enforcing - SELinux security policy is enforced.&lt;br /&gt;
#     permissive - SELinux prints warnings instead of enforcing.&lt;br /&gt;
#     disabled - No SELinux policy is loaded.&lt;br /&gt;
SELINUX=disabled&lt;br /&gt;
# SELINUXTYPE= can take one of three two values:&lt;br /&gt;
#     targeted - Targeted processes are protected,&lt;br /&gt;
#     minimum - Modification of targeted policy. Only selected processes are protected. &lt;br /&gt;
#     mls - Multi Level Security protection.&lt;br /&gt;
SELINUXTYPE=targeted&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==启用ipvs 内核模块==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==安装docker-ce ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 sudo yum install -y yum-utils   device-mapper-persistent-data   lvm2&lt;br /&gt;
sudo yum-config-manager     --add-repo     https://download.docker.com/linux/centos/docker-ce.repo &lt;br /&gt;
yum install docker-ce -y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [http://wiki.linuxchina.net/index.php?title=Docker%E5%85%A5%E9%97%A8#install-using-the-repository  利用阿里云安装docker-ce]&lt;br /&gt;
&lt;br /&gt;
=[[CentOS7.x安装配置Shadowsocks客户端终端翻墙]]=&lt;br /&gt;
&lt;br /&gt;
=docker 代理=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#不要少了开头的service 还要记得check一个代理成功不&lt;br /&gt;
#mkdir -p /etc/systemd/system/docker.service.d&lt;br /&gt;
#vi /etc/systemd/system/docker.service.d/http-proxy.conf&lt;br /&gt;
&lt;br /&gt;
vi /usr/lib/systemd/system/docker.service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Environment=&amp;quot;HTTPS_PROXY=http://127.0.0.1:8188/&amp;quot; &amp;quot;HTTP_PROXY=http://127.0.0.1:8188/&amp;quot; &amp;quot;NO_PROXY=localhost,127.0.0.1,192.168.88.30,192.168.88.31,192.168.88.32,10.96.0.0,10.224.0.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#Environment=&amp;quot;HTTP_PROXY=http://proxy.example.com:80/&amp;quot; &amp;quot;HTTPS_PROXY=http://proxy.example.com:80/&amp;quot;&amp;quot;NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
systemctl daemon-reload&lt;br /&gt;
systemctl restart docker &lt;br /&gt;
systemctl enable docker&lt;br /&gt;
systemctl status  docker&lt;br /&gt;
systemctl show --property=Environment docker&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
other&lt;br /&gt;
evan@k8s-master:~$ sudo systemctl enable docker &lt;br /&gt;
Synchronizing state of docker.service with SysV service script with /lib/systemd/systemd-sysv-install.&lt;br /&gt;
Executing: /lib/systemd/systemd-sysv-install enable docke&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=docker 配置=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#[WARNING IsDockerSystemdCheck]: detected &amp;quot;cgroupfs&amp;quot; as the Docker cgroup driver. The recommended driver is &amp;quot;systemd&amp;quot;. Please follow the guide at https://kubernetes.io/docs/setup/cri/&lt;br /&gt;
&lt;br /&gt;
建议docker  也为 cgroupfs  和kube 一致&lt;br /&gt;
&lt;br /&gt;
所有节点&lt;br /&gt;
## Create /etc/docker directory.&lt;br /&gt;
mkdir /etc/docker&lt;br /&gt;
&lt;br /&gt;
# Setup daemon.&lt;br /&gt;
cat &amp;gt; /etc/docker/daemon.json &amp;lt;&amp;lt;EOF&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;exec-opts&amp;quot;: [&amp;quot;native.cgroupdriver=cgroupfs&amp;quot;],&lt;br /&gt;
  &amp;quot;log-driver&amp;quot;: &amp;quot;json-file&amp;quot;,&lt;br /&gt;
  &amp;quot;log-opts&amp;quot;: {&lt;br /&gt;
    &amp;quot;max-size&amp;quot;: &amp;quot;100m&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;storage-driver&amp;quot;: &amp;quot;overlay2&amp;quot;,&lt;br /&gt;
  &amp;quot;storage-opts&amp;quot;: [&lt;br /&gt;
    &amp;quot;overlay2.override_kernel_check=true&amp;quot;&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
mkdir -p /etc/systemd/system/docker.service.d&lt;br /&gt;
&lt;br /&gt;
# Restart Docker&lt;br /&gt;
systemctl daemon-reload&lt;br /&gt;
systemctl restart docker&lt;br /&gt;
&lt;br /&gt;
https://kubernetes.io/docs/setup/production-environment/container-runtimes/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=aliyun maybe ok=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==CentOS / RHEL / Fedora==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#在所有节点上&lt;br /&gt;
cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/yum.repos.d/kubernetes.repo&lt;br /&gt;
[kubernetes]&lt;br /&gt;
name=Kubernetes&lt;br /&gt;
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/&lt;br /&gt;
enabled=1&lt;br /&gt;
gpgcheck=1&lt;br /&gt;
repo_gpgcheck=1&lt;br /&gt;
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
setenforce 0&lt;br /&gt;
yum install -y  kubelet kubeadm kubectl kubernetes-cni #docker&lt;br /&gt;
systemctl enable docker &amp;amp;&amp;amp; systemctl start docker&lt;br /&gt;
systemctl enable kubelet&lt;br /&gt;
#systemctl start kubelet #这个要在下面改配置 不然有时启动不了&lt;br /&gt;
&lt;br /&gt;
 sudo usermod -aG docker  `whoami`&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= install start=&lt;br /&gt;
&lt;br /&gt;
==pass 对所以节点的操作==&lt;br /&gt;
&lt;br /&gt;
下载相关软件包&lt;br /&gt;
docker/k8s/k8s_images.tar.bz2 &lt;br /&gt;
&lt;br /&gt;
 md5sum k8s_images.tar.bz2 &lt;br /&gt;
b60ad6a638eda472b8ddcfa9006315ee  k8s_images.tar.bz2&lt;br /&gt;
&lt;br /&gt;
tar xvf k8s_images.tar.bz2  &amp;amp;&amp;amp; cd k8s_images&lt;br /&gt;
&lt;br /&gt;
==pass安装docker-ce,解决依赖==&lt;br /&gt;
&amp;lt;pre&amp;gt;rpm -ivh libtool-ltdl-2.4.2-22.el7_3.x86_64.rpm  libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm  libseccomp-2.3.1-3.el7.x86_64.rpm &lt;br /&gt;
yum install -y  policycoreutils-python&lt;br /&gt;
rpm -ivh docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm &amp;amp;&amp;amp;  rpm -ivh docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==修改docker的镜像源为国内的daocloud==&lt;br /&gt;
 curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://5a71e0d8.m.daocloud.io&lt;br /&gt;
&lt;br /&gt;
==启动docker，并设置开机启动==&lt;br /&gt;
&amp;lt;pre&amp;gt; systemctl start docker &amp;amp;&amp;amp; systemctl enable docker&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==配置系统路由参数,防止kubeadm报路由警告==&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;net.bridge.bridge-nf-call-ip6tables = 1&lt;br /&gt;
net.bridge.bridge-nf-call-iptables = 1&lt;br /&gt;
&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
sysctl -p&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
== pass 安装kubadm kubelet kubectl==&lt;br /&gt;
&amp;lt;pre&amp;gt;rpm -ivh kubectl-1.9.0-0.x86_64.rpm kubeadm-1.9.0-0.x86_64.rpm kubelet-1.9.9-9.x86_64.rpm  \&lt;br /&gt;
kubernetes-cni-0.6.0-0.x86_64.rpm socat-1.7.3.2-2.el7.x86_64.rpm &amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
== pass 加载离线docker镜像==&lt;br /&gt;
&amp;lt;pre&amp;gt; cd docker_images/&lt;br /&gt;
  for image in `ls -l . |awk &amp;#039;{print $9}&amp;#039;`;do echo &amp;quot;$image is loading&amp;quot;&amp;amp;&amp;amp;docker load &amp;lt; ${image};done&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=master 节点操作=&lt;br /&gt;
&lt;br /&gt;
==启动kubelet and 初始化master节点==&lt;br /&gt;
 &amp;lt;pre&amp;gt;#systemctl start kubelet&amp;amp;&amp;amp;  systemctl enable kubelet.service&lt;br /&gt;
 &lt;br /&gt;
启动不了&lt;br /&gt;
原来是kubelet 的cgroup dirver 与 docker的不一样。docker默认使用cgroupfs,keubelet 默认使用systemd。&lt;br /&gt;
&lt;br /&gt;
vi /usr/lib/systemd/system/kubelet.service&lt;br /&gt;
[Service]&lt;br /&gt;
Environment=&amp;quot;KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#这个老的版本&lt;br /&gt;
vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf &lt;br /&gt;
[Service]&lt;br /&gt;
Environment=&amp;quot;KUBELET_AUTHZ_ARGS=--authorization-mode=Webhook --client-ca-file=/etc/kubernetes/pki/ca.crt&amp;quot;&lt;br /&gt;
Environment=&amp;quot;KUBELET_CADVISOR_ARGS=--cadvisor-port=0&amp;quot;&lt;br /&gt;
Environment=&amp;quot;KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#auto&lt;br /&gt;
 sed -i &amp;quot;s/cgroup-driver=systemd/cgroup-driver=cgroupfs/g&amp;quot; /etc/systemd/system/kubelet.service.d/10-kubeadm.conf&lt;br /&gt;
systemctl daemon-reload &amp;amp;&amp;amp; systemctl restart kubelet &amp;amp;&amp;amp;  systemctl enable kubelet.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==init master==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#开始初始化&lt;br /&gt;
kubeadm init   --apiserver-advertise-address=192.168.88.30  --pod-network-cidr=10.224.0.0/16 # --apiserver-advertise-address=masterip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
另外有一个小技巧，在init的过程中，另开一个终端，运行&lt;br /&gt;
&lt;br /&gt;
journalctl -f -u kubelet.service&lt;br /&gt;
&lt;br /&gt;
可以查看具体是什么愿意卡住了&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
成功的话 如下&lt;br /&gt;
&lt;br /&gt;
Your Kubernetes control-plane has initialized successfully!&lt;br /&gt;
&lt;br /&gt;
To start using your cluster, you need to run the following as a regular user:&lt;br /&gt;
&lt;br /&gt;
  mkdir -p $HOME/.kube&lt;br /&gt;
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config&lt;br /&gt;
  sudo chown $(id -u):$(id -g) $HOME/.kube/config&lt;br /&gt;
&lt;br /&gt;
Alternatively, if you are the root user, you can run:&lt;br /&gt;
&lt;br /&gt;
export KUBECONFIG=/etc/kubernetes/admin.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now deploy a pod network to the cluster.&lt;br /&gt;
Run &amp;quot;kubectl apply -f [podnetwork].yaml&amp;quot; with one of the options listed at:&lt;br /&gt;
  https://kubernetes.io/docs/concepts/cluster-administration/addons/&lt;br /&gt;
&lt;br /&gt;
Then you can join any number of worker nodes by running the following on each as root:&lt;br /&gt;
&lt;br /&gt;
kubeadm join 192.168.88.30:6443 --token lebi4u.ja4kqi7ly89qzlpe \&lt;br /&gt;
    --discovery-token-ca-cert-hash sha256:5cedf4ddfd61c549e5d926e6041a5e29272c7a253c8d4bcae9d189ea6745c867 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#psss&lt;br /&gt;
&lt;br /&gt;
kubeadm init --kubernetes-version=v1.9.0 --pod-network-cidr=10.224.0.0/16&lt;br /&gt;
&lt;br /&gt;
kubeadm init --kubernetes-version=v1.9.0  --apiserver-advertise-address=192.168.88.21  --pod-network-cidr=10.224.0.0/16&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
systemctl start kubelet&amp;amp;&amp;amp;  systemctl enable kubelet.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===calico 网络===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#如果用第二种pod 网络&lt;br /&gt;
&lt;br /&gt;
kubeadm init   --apiserver-advertise-address=192.168.88.30  --pod-network-cidr=192.168.0.0/16&lt;br /&gt;
&lt;br /&gt;
mkdir -p $HOME/.kube&lt;br /&gt;
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config&lt;br /&gt;
  sudo chown $(id -u):$(id -g) $HOME/.kube/config&lt;br /&gt;
&lt;br /&gt;
You should now deploy a pod network to the cluster.&lt;br /&gt;
Run &amp;quot;kubectl apply -f [podnetwork].yaml&amp;quot; with one of the options listed at:&lt;br /&gt;
  https://kubernetes.io/docs/concepts/cluster-administration/addons/&lt;br /&gt;
&lt;br /&gt;
Then you can join any number of worker nodes by running the following on each as root:&lt;br /&gt;
&lt;br /&gt;
kubeadm join 192.168.88.30:6443 --token zwznuv.mpjlc3wd2crtmzh9 \&lt;br /&gt;
    --discovery-token-ca-cert-hash sha256:2b10a8586ed7dc82d48369906329ad63dffac146c10238a18d327652ef343a65 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
kubectl apply -f https://docs.projectcalico.org/v3.7/manifests/calico.yaml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/&lt;br /&gt;
&lt;br /&gt;
==kubectl 配置==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
master 其它配置&lt;br /&gt;
如果是线上 建议用普通用户 这里用root &lt;br /&gt;
&lt;br /&gt;
  mkdir -p $HOME/.kube&lt;br /&gt;
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[root@master ~]# kubectl  get cs &lt;br /&gt;
NAME                 STATUS    MESSAGE             ERROR&lt;br /&gt;
scheduler            Healthy   ok                  &lt;br /&gt;
controller-manager   Healthy   ok                  &lt;br /&gt;
etcd-0               Healthy   {&amp;quot;health&amp;quot;:&amp;quot;true&amp;quot;}   &lt;br /&gt;
[root@master ~]# kubectl  get nodes &lt;br /&gt;
NAME     STATUS     ROLES    AGE     VERSION&lt;br /&gt;
master   NotReady   master   8m56s   v1.15.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== k8s reset==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#在天朝 因为你懂的 有时网络有问题，老是连不上，一次就init 成功很少见，于是就有了reset你得懂&lt;br /&gt;
#小心哦 重置&lt;br /&gt;
kubeadm reset&lt;br /&gt;
rm  -rf  /var/lib/etcd/*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==移除节点==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#on master&lt;br /&gt;
kubectl drain node1  --delete-local-data --force --ignore-daemonsets&lt;br /&gt;
 kubectl delete node node1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#on 节点&lt;br /&gt;
[root@node2 ~]# kubeadm  reset&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 7.配置kubectl认证信息==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 cat  /etc/sudoers.d/evan&lt;br /&gt;
echo &amp;#039;evan ALL=(ALL) NOPASSWD:NOPASSWD:ALL&amp;#039; &amp;gt; /etc/sudoers.d/evan&lt;br /&gt;
&lt;br /&gt;
su - evan &lt;br /&gt;
mkdir -p $HOME/.kube&lt;br /&gt;
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config&lt;br /&gt;
  sudo chown $(id -u):$(id -g) $HOME/.kube/config&lt;br /&gt;
echo &amp;quot;source &amp;lt;(kubectl completion bash)&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
exit &lt;br /&gt;
&lt;br /&gt;
# 对于root用户 这省不能少 不然  #  kubectl  apply -f kube-flannel.yml  The connection to the server localhost:8080 was refused - did you specify the right host or port?&lt;br /&gt;
&lt;br /&gt;
export KUBECONFIG=/etc/kubernetes/admin.conf&lt;br /&gt;
#也可以直接放到~/.bash_profile&lt;br /&gt;
echo &amp;quot;export KUBECONFIG=/etc/kubernetes/admin.conf&amp;quot; &amp;gt;&amp;gt; ~/.bash_profile&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
kubeadm join xxxx 可以保留下来，如果忘记了，可以通过kubeadm token list 获取&lt;br /&gt;
&lt;br /&gt;
==安装网络==&lt;br /&gt;
注：该小节仅在Master节点上执行 节点可用使用flannel、macvlan、calico、weave，这里我们使用flannel&lt;br /&gt;
===下载此文件===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#download the yml file&lt;br /&gt;
wget  https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml&lt;br /&gt;
kubectl apply -f kube-flannel.yml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#这是新版本,直接安装 不下载yml文件 有些老版本要两个文件&lt;br /&gt;
kubectl apply -f  wget  https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml&lt;br /&gt;
&lt;br /&gt;
[root@master tmp]# kubectl apply -f kube-flannel.yml&lt;br /&gt;
podsecuritypolicy.extensions/psp.flannel.unprivileged created&lt;br /&gt;
clusterrole.rbac.authorization.k8s.io/flannel created&lt;br /&gt;
clusterrolebinding.rbac.authorization.k8s.io/flannel created&lt;br /&gt;
serviceaccount/flannel created&lt;br /&gt;
configmap/kube-flannel-cfg created&lt;br /&gt;
daemonset.extensions/kube-flannel-ds-amd64 created&lt;br /&gt;
daemonset.extensions/kube-flannel-ds-arm64 created&lt;br /&gt;
daemonset.extensions/kube-flannel-ds-arm created&lt;br /&gt;
daemonset.extensions/kube-flannel-ds-ppc64le created&lt;br /&gt;
daemonset.extensions/kube-flannel-ds-s390x created&lt;br /&gt;
&lt;br /&gt;
#第一次不小心用了0.9这个老的版本 会造成 coredns一直不成功&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
一般不用改的&lt;br /&gt;
若要修改网段，需要kubeadm –pod-network-cidr=和这里同步，修改network项。&lt;br /&gt;
&lt;br /&gt;
vim kube-flannel.yml&lt;br /&gt;
&lt;br /&gt;
net-conf.json: |&lt;br /&gt;
      {&lt;br /&gt;
      &amp;quot;Network&amp;quot;: &amp;quot;10.244.0.0/16&amp;quot;,&lt;br /&gt;
     &amp;quot;Backend&amp;quot;: {&lt;br /&gt;
        &amp;quot;Type&amp;quot;: &amp;quot;vxlan&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==node join==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  kubeadm join 192.168.88.30:6443 --token 5l64r8.j9fyewgp28gzvcdb \&lt;br /&gt;
    --discovery-token-ca-cert-hash sha256:0802f5d6e097a834c70fbf6012b9c66cbe1c17fd13b62562aa62d74a80bd4c49 &lt;br /&gt;
&lt;br /&gt;
--ignore-preflight-errors=Swap #出于为操作系统及其它应用保留swap分区之目的&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==查看所pod状态，过一下子已经都running==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kubectl get nodes#节点状态查看&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[root@master docker_images]#  kubectl get pod --all-namespaces&lt;br /&gt;
NAMESPACE     NAME                             READY     STATUS    RESTARTS   AGE&lt;br /&gt;
kube-system   etcd-master                      0/1       Pending   0          1s&lt;br /&gt;
kube-system   kube-apiserver-master            1/1       Running   0          0s&lt;br /&gt;
kube-system   kube-controller-manager-master   0/1       Pending   0          0s&lt;br /&gt;
kube-system   kube-dns-6f4fd4bdf-r6w6q         0/3       Pending   0          9m&lt;br /&gt;
kube-system   kube-flannel-ds-x5xqw            1/1       Running   0          9s&lt;br /&gt;
kube-system   kube-proxy-69q7f                 1/1       Running   0          9m&lt;br /&gt;
kube-system   kube-scheduler-master            0/1       Pending   0          0s&lt;br /&gt;
[root@master docker_images]#  kubectl get pod --all-namespaces&lt;br /&gt;
NAMESPACE     NAME                             READY     STATUS    RESTARTS   AGE&lt;br /&gt;
kube-system   etcd-master                      1/1       Running   0          54s&lt;br /&gt;
kube-system   kube-apiserver-master            1/1       Running   0          53s&lt;br /&gt;
kube-system   kube-controller-manager-master   1/1       Running   0          53s&lt;br /&gt;
kube-system   kube-dns-6f4fd4bdf-r6w6q         3/3       Running   0          10m&lt;br /&gt;
kube-system   kube-flannel-ds-x5xqw            1/1       Running   0          1m&lt;br /&gt;
kube-system   kube-proxy-69q7f                 1/1       Running   0          10m&lt;br /&gt;
kube-system   kube-scheduler-master            1/1       Running   0          53s&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==get 集群状态信息==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@master tmp]# kubectl  cluster-info &lt;br /&gt;
Kubernetes master is running at https://192.168.88.30:6443&lt;br /&gt;
KubeDNS is running at https://192.168.88.30:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy&lt;br /&gt;
&lt;br /&gt;
To further debug and diagnose cluster problems, use &amp;#039;kubectl cluster-info dump&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
[root@master tmp]# kubectl  version --short=true&lt;br /&gt;
Client Version: v1.15.0&lt;br /&gt;
Server Version: v1.15.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=pass本涉及到安装的镜像=&lt;br /&gt;
&amp;lt;pre&amp;gt; #大家可以自己下载回来，然后本地load 更加好的是导出成为tar    p27&lt;br /&gt;
gcr.io/google_containers/kube-proxy-amd64:v1.9.0&lt;br /&gt;
gcr.io/google_containers/kube-apiserver-amd64:v1.9.0&lt;br /&gt;
gcr.io/google_containers/kube-controller-manager-amd64:v1.9.0&lt;br /&gt;
gcr.io/google_containers/kube-scheduler-amd64:v1.9.0&lt;br /&gt;
quay.io/coreos/flannel:v0.9.1-amd64&lt;br /&gt;
gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.7&lt;br /&gt;
gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.7&lt;br /&gt;
gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.7&lt;br /&gt;
gcr.io/google_containers/etcd-amd64:3.1.10&lt;br /&gt;
gcr.io/google_containers/pause-amd64:3.0&lt;br /&gt;
&lt;br /&gt;
gcr.io/google_containers/kubernetes-dashboard-amd64:v1.8.1&lt;br /&gt;
gcr.io/google_containers/heapster-influxdb-amd64:v1.3.3&lt;br /&gt;
gcr.io/google_containers/heapster-grafana-amd64:v4.4.3&lt;br /&gt;
gcr.io/google_containers/heapster-amd64:v1.4.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.linuxhub.org/?p=4809 Kubernetes相关国外镜像离线]&lt;br /&gt;
&lt;br /&gt;
==测试集群==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#这个不成功呢 在ubuntu18.04 成功的&lt;br /&gt;
在master节点上发起个创建应用请求 &lt;br /&gt;
这里我们创建个名为httpd-app的应用，镜像为httpd，有两个副本pod&lt;br /&gt;
&lt;br /&gt;
kubectl run httpd-app --image=httpd --replicas=2&lt;br /&gt;
&lt;br /&gt;
[root@master ~]#  kubectl get deployment&lt;br /&gt;
NAME        DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE&lt;br /&gt;
httpd-app   2         2         2            0           24s&lt;br /&gt;
[root@master ~]# kubectl get pods -o wide&lt;br /&gt;
NAME                         READY     STATUS              RESTARTS   AGE       IP        NODE&lt;br /&gt;
httpd-app-5fbccd7c6c-jq2bh   0/1       ContainerCreating   0          1m        &amp;lt;none&amp;gt;    node2&lt;br /&gt;
httpd-app-5fbccd7c6c-q4jcz   0/1       ContainerCreating   0          1m        &amp;lt;none&amp;gt;    node1&lt;br /&gt;
&lt;br /&gt;
因为创建的资源不是service所以不会调用kube-proxy&lt;br /&gt;
直接访问测试&lt;br /&gt;
&lt;br /&gt;
测试不成功呀&lt;br /&gt;
[root@k8sm ~]#  kubectl get services kubernetes-dashboard -n kube-system&lt;br /&gt;
NAME                   TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)   AGE&lt;br /&gt;
kubernetes-dashboard   ClusterIP   10.98.65.86   &amp;lt;none&amp;gt;        443/TCP   16h&lt;br /&gt;
[root@k8sm ~]# kubectl  get pods -o wide &lt;br /&gt;
NAME                               READY     STATUS    RESTARTS   AGE       IP           NODE&lt;br /&gt;
httpd-app-5fbccd7c6c-54w56         1/1       Running   0          1d        10.224.1.2   k8sn1&lt;br /&gt;
httpd-app-5fbccd7c6c-55796         1/1       Running   0          1d        10.224.2.5   k8sn2&lt;br /&gt;
nginx-deployment-d5655dd9d-d5pns   1/1       Running   0          1d        10.224.2.6   k8sn2&lt;br /&gt;
nginx-deployment-d5655dd9d-w8jcn   1/1       Running   0          1d        10.224.1.3   k8sn1&lt;br /&gt;
[root@k8sm ~]# curl 10.224.1.2&lt;br /&gt;
^C&lt;br /&gt;
[root@k8sm ~]# ping  10.224.1.2&lt;br /&gt;
PING 10.224.1.2 (10.224.1.2) 56(84) bytes of data.&lt;br /&gt;
^C&lt;br /&gt;
--- 10.224.1.2 ping statistics ---&lt;br /&gt;
123 packets transmitted, 0 received, 100% packet loss, time 122000ms&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[https://blog.csdn.net/tongzidane/article/details/79716958 参考]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==移除节点==&lt;br /&gt;
&lt;br /&gt;
==重新生成token==&lt;br /&gt;
&lt;br /&gt;
=troubeshooting=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
安装k8s&lt;br /&gt;
https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/../../pool/7143f62ad72a1eb1849d5c1e9490567d405870d2c00ab2b577f1f3bdf9f547ba-kubeadm-1.15.0-0.x86_64.rpm: [Errno -1] 软件包与预期下载的不符。建议：运行 yum --enablerepo=kubernetes clean metadata&lt;br /&gt;
正在尝试其它镜像。&lt;br /&gt;
&lt;br /&gt;
不要翻墙 DNS改为ali docker不代理 就好了&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[root@master ~]# kubectl get nodes&lt;br /&gt;
Unable to connect to the server: x509: certificate signed by unknown authority (possibly because of &amp;quot;crypto/rsa: verification error&amp;quot; while trying to verify candidate authority certificate &amp;quot;kubernetes&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
#少了这步&lt;br /&gt;
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
k8s init err&lt;br /&gt;
	[ERROR ImagePull]: failed to pull image k8s.gcr.io/coredns:1.3.1: output: Error response from daemon: Get https://k8s.gcr.io/v2/: proxyconnect tcp: dial tcp 127.0.0.1:8188: connect: connection refused&lt;br /&gt;
, error: exit status 1&lt;br /&gt;
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
docker  代理端口是8118 不是8188&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
kubelet服务启动不了？&lt;br /&gt;
cgroup driver配置要相同&lt;br /&gt;
&lt;br /&gt;
查看docker cgroup driver:&lt;br /&gt;
&lt;br /&gt;
docker info|grep Cgroup&lt;br /&gt;
有systemd和cgroupfs两种，把kubelet service配置改成与docker一致&lt;br /&gt;
&lt;br /&gt;
#kubelet 15的写法&lt;br /&gt;
vi /usr/lib/systemd/system/kubelet.service&lt;br /&gt;
[Service]&lt;br /&gt;
Environment=&amp;quot;KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#这个可能是老版本的写法&lt;br /&gt;
vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf&lt;br /&gt;
&lt;br /&gt;
KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs #这个配置与docker改成一致&lt;br /&gt;
&lt;br /&gt;
systemctl daemon-reload &amp;amp;&amp;amp; systemctl restart kubelet &amp;amp;&amp;amp;  systemctl enable kubelet.service&lt;br /&gt;
&lt;br /&gt;
初始化不成功 解决办法如上的kubelet服务启动不了&lt;br /&gt;
[kubelet-check] Initial timeout of 40s passed.&lt;br /&gt;
[kubelet-check] It seems like the kubelet isn&amp;#039;t running or healthy.&lt;br /&gt;
[kubelet-check] The HTTP call equal to &amp;#039;curl -sSL http://localhost:10248/healthz&amp;#039; failed with error: Get http://localhost:10248/healthz: dial tcp [::1]:10248: connect: connection refused.&lt;br /&gt;
[kubelet-check] It seems like the kubelet isn&amp;#039;t running or healthy.&lt;br /&gt;
[kubelet-check] The HTTP call equal to &amp;#039;curl -sSL http://localhost:10248/healthz&amp;#039; failed with error: Get http://localhost:10248/healthz: dial tcp [::1]:10248: connect: connection refused.&lt;br /&gt;
[kubelet-check] It seems like the kubelet isn&amp;#039;t running or healthy.&lt;br /&gt;
[kubelet-check] The HTTP call equal to &amp;#039;curl -sSL http://localhost:10248/healthz&amp;#039; failed with error: Get http://localhost:10248/healthz: dial tcp [::1]:10248: connect: connection refused.&lt;br /&gt;
[kubelet-check] It seems like the kubelet isn&amp;#039;t running or healthy.&lt;br /&gt;
[kubelet-check] The HTTP call equal to &amp;#039;curl -sSL http://localhost:10248/healthz&amp;#039; failed with error: Get http://localhost:10248/healthz: dial tcp [::1]:10248: connect: connection refused.&lt;br /&gt;
[kubelet-check] It seems like the kubelet isn&amp;#039;t running or healthy.&lt;br /&gt;
[kubelet-check] The HTTP call equal to &amp;#039;curl -sSL http://localhost:10248/healthz&amp;#039; failed with error: Get http://localhost:10248/healthz: dial tcp [::1]:10248: connect: connection refused.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, an error has occurred:&lt;br /&gt;
	timed out waiting for the condition&lt;br /&gt;
&lt;br /&gt;
This error is likely caused by:&lt;br /&gt;
	- The kubelet is not running&lt;br /&gt;
	- The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)&lt;br /&gt;
&lt;br /&gt;
If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:&lt;br /&gt;
	- &amp;#039;systemctl status kubelet&amp;#039;&lt;br /&gt;
	- &amp;#039;journalctl -xeu kubelet&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
问题原因 &lt;br /&gt;
token失效被删除。在Master上查看token，结果为空。&lt;br /&gt;
kubeadm token list&lt;br /&gt;
解决方法 &lt;br /&gt;
重新生成token，默认token有效期为24小时，生成token时通过指定--ttl 0可设置token永久有效。&lt;br /&gt;
[root@master ~]# kubeadm token create --ttl 0&lt;br /&gt;
3a536a.5d22075f49cc5fb8&lt;br /&gt;
[root@master ~]# kubeadm token list&lt;br /&gt;
TOKEN                     TTL         EXPIRES                     USAGES                   DESCRIPTION   EXTRA GROUPS&lt;br /&gt;
3a536a.5d22075f49cc5fb8   &amp;lt;forever&amp;gt;   &amp;lt;never&amp;gt;                     authentication,signing   &amp;lt;none&amp;gt;        system:bootstrappers:kubeadm:default-node-token&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
remove  docker-io&lt;br /&gt;
 yum remove docker*&lt;br /&gt;
&lt;br /&gt;
yum 阿里云也是安装不上的了啦 init 要连接到k8s.gcr.io&lt;br /&gt;
root@master ~]# kubeadm init&lt;br /&gt;
I0522 15:45:12.888481    9523 version.go:96] could not fetch a Kubernetes version from the internet: unable to get URL &amp;quot;https://dl.k8s.io/release/stable-1.txt&amp;quot;: Get https://dl.k8s.io/release/stable-1.txt: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
warning on node &lt;br /&gt;
[root@node1 ~]# kubeadm join 192.168.88.30:6443 --token 5l64r8.j9fyewgp28gzvcdb     --discovery-token-ca-cert-hash sha256:0802f5d6e097a834c70fbf6012b9c66cbe1c17fd13b62562aa62d74a80bd4c49&lt;br /&gt;
[preflight] Running pre-flight checks&lt;br /&gt;
	[WARNING IsDockerSystemdCheck]: detected &amp;quot;cgroupfs&amp;quot; as the Docker cgroup driver. The recommended driver is &amp;quot;systemd&amp;quot;. Please follow the guide at https://kubernetes.io/docs/setup/cri/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 cat  /var/lib/kubelet/kubeadm-flags.env&lt;br /&gt;
KUBELET_KUBEADM_ARGS=&amp;quot;--cgroup-driver=cgroupfs --network-plugin=cni --pod-infra-container-image=k8s.gcr.io/pause:3.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
由于 kubelet 默认的驱动就是cgroupfs，所以只有CRI的cgroup driver不是cgroupfs时才需要指定（k8s推荐docker的cgroup driver配置为systemd）&lt;br /&gt;
但是这想init 有问题&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://zhuanlan.zhihu.com/p/52122243 谷歌k8s.gcr.io镜像快速传入阿里云镜像源的解决方案（需浏览器科学上网）]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://segmentfault.com/a/1190000011764684 k8s安装常见问题]&lt;br /&gt;
&lt;br /&gt;
=进阶=&lt;br /&gt;
&lt;br /&gt;
下一步 搞自己的离线images&lt;br /&gt;
&lt;br /&gt;
[https://gitee.com/imlzw/Kubernetes-1.12.3-all-auto-install Centos7.x + Kubernetes-1.12.3 + Dashboard-1.8.3的master、node节点全自动快速一键安装部署]&lt;br /&gt;
&lt;br /&gt;
[https://www.jianshu.com/p/c01ba5bd1359?utm_campaign=maleskine&amp;amp;utm_content=note&amp;amp;utm_medium=seo_notes&amp;amp;utm_source=recommendation 安装k8s Master高可用集群]&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/RainingNight/p/using-kubeadm-to-create-a-cluster-1-12.html 使用Kubeadm搭建Kubernetes(1.12.2)集群]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.cnblogs.com/CloudMan6/p/8486913.html 通过 Service 访问 Pod - 每天5分钟玩转 Docker 容器技术（136）]&lt;br /&gt;
&lt;br /&gt;
[https://www.kubernetes.org.cn/3787.html 纯手工搭建k8s集群-(一)预先准备环境]&lt;br /&gt;
&lt;br /&gt;
[https://www.kubernetes.org.cn/3788.html 纯手工搭建k8s集群-(二)核心模块部署]&lt;br /&gt;
&lt;br /&gt;
[https://www.kubernetes.org.cn/3789.html 纯手工搭建k8s集群-(三)认证授权和服务发现]&lt;br /&gt;
&lt;br /&gt;
[http://www.cnblogs.com/ilinuxer/p/6368416.html 手工 Ubuntu 16.04下搭建kubernetes集群环境]&lt;br /&gt;
&lt;br /&gt;
[https://jimmysong.io/posts/kubernetes-installation-on-centos/ 在CentOS上各种方式安装kubernetes详细指南]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/devopser/article/details/79953440 (一)超详细纯手工搭建kubernetes(k8s)集群 - 预先准备环境]&lt;br /&gt;
&lt;br /&gt;
[https://blog.qikqiak.com/post/manual-install-high-available-kubernetes-cluster/ 手动搭建高可用的kubernetes 集群]&lt;br /&gt;
&lt;br /&gt;
[https://smalltowntechblog.com/2016/09/22/kubernetes-%E7%B4%94%E6%89%8B%E4%BD%9C%E9%83%A8%E7%BD%B2%E5%9C%A8-ubuntu-16-04/ Kubernetes 純手作部署在 Ubuntu 16.04]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/devopser/article/details/79953440 (一)超详细纯手工搭建kubernetes(k8s)集群 - 预先准备环境]&lt;br /&gt;
&lt;br /&gt;
[https://blog.qikqiak.com/post/manual-install-high-available-kubernetes-cluster/ 手动搭建高可用的kubernetes 集群]&lt;br /&gt;
&lt;br /&gt;
[https://tonybai.com/2017/05/15/setup-a-ha-kubernetes-cluster-based-on-kubeadm-part1/ 一步步打造基于Kubeadm的高可用Kubernetes集群-第一部分]&lt;br /&gt;
&lt;br /&gt;
[https://www.kubernetes.org.cn/3814.html Kubernetes v1.10.x HA 全手动安装教程(TL;DR)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.kubernetes.org.cn/5213.html kubeadm HA master(v1.14.0)离线包 + 自动化脚本 + 常用插件 For Centos]&lt;br /&gt;
&lt;br /&gt;
=see also=&lt;br /&gt;
&lt;br /&gt;
[https://www.jianshu.com/p/51542b0b239b 离线kubeadm搭建k8s集群]&lt;br /&gt;
&lt;br /&gt;
[https://juejin.im/post/5cb7dde9f265da034d2a0dba 2019最新k8s集群搭建教程 (centos k8s 搭建)]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/lansye/article/details/79984077 使用kubeadm重新初始化kubernetes集群V1.10.0]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.jianshu.com/p/e43f5e848da1 离线 Calico网络 从零开始搭建Kubernetes集群（三、搭建K8S集群）]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.centos.bz/2017/05/centos-7-kubeadm-install-k8s-kubernetes/ CentOS-7使用kubeadm安装配置k8s(kubernetes)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.kubiops.com/blog/2017/06/27/ansible%E9%83%A8%E7%BD%B2kubernetesv1.6.0.html ansible部署kubernetesv1.6.0]&lt;br /&gt;
&lt;br /&gt;
[https://blog.lab99.org/post/docker-2016-07-14-faq.html Docker 问答录（100 问）]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.jianshu.com/p/78a5afd0c597 从零开始搭建Kubernetes集群（一、开篇）]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/u012286287/article/details/79716588 使用kubeadm离线部署kubernetes v1.9.0]&lt;br /&gt;
&lt;br /&gt;
[https://kubernetes.io/docs/tasks/tools/install-kubeadm/ 官方文档]&lt;br /&gt;
&lt;br /&gt;
[https://kubernetes.io/cn/docs/tutorials/kubernetes-basics/ 官方中文文档]&lt;br /&gt;
&lt;br /&gt;
[https://k8smeetup.github.io/docs/reference/setup-tools/kubeadm/kubeadm-init/#config-file kubeadm-init use configfile]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/liuliuzi_hz/article/details/54574464 k8s网络插件cni]&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/CloudMan6/p/8269620.html 部署 k8s Cluster（上）- 每天5分钟玩转 Docker 容器技术（118）]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/aixiaoyang168/article/details/78411511  国内使用kubeadm 在Centos7搭建Kubernetes 集群 have Kubernetes Dashboard]&lt;br /&gt;
&lt;br /&gt;
[https://mritd.me/2016/10/29/set-up-kubernetes-cluster-by-kubeadm/ kubeadm 搭建 kubernetes 集群]&lt;br /&gt;
&lt;br /&gt;
[https://www.kubernetes.org.cn/2955.html 感觉意义不大 原生加速中国区Kubernetes安装]&lt;br /&gt;
&lt;br /&gt;
[https://mritd.me/2017/02/27/how-to-download-kubernetes-images-and-rpm/ 如何下载 Kubernetes 镜像和 rpm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://aclisp.github.io/blog/2015/08/20/kubernetes-scratch.html 安装 Kubernetes 二三事]&lt;br /&gt;
&lt;br /&gt;
[https://cloud.tencent.com/developer/article/1010569 国内使用 kubeadm 在 Centos 7 搭建 Kubernetes 集群]&lt;br /&gt;
&lt;br /&gt;
[https://kubernetes.io/docs/tasks/tools/install-kubeadm/ 官方文档]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.kubernetes.org.cn/k8s k8s入门文档]&lt;br /&gt;
&lt;br /&gt;
[https://www.kubernetes.org.cn/3805.html 使用kubeadm安装Kubernetes v1.10以及常见问题解答]&lt;br /&gt;
&lt;br /&gt;
[http://blog.gcalls.cn/blog/2017/01/Kubernetes%E9%9B%86%E7%BE%A4%E6%90%AD%E5%BB%BA.html Kubernetes集群多种搭建]&lt;br /&gt;
&lt;br /&gt;
[https://jimmysong.io/kubernetes-handbook/ Kubernetes Handbook]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/tongzidane/article/details/79716958 Kubetenets 1.9 离线安装]&lt;br /&gt;
&lt;br /&gt;
[https://blog.frognew.com/2017/04/kubeadm-install-kubernetes-1.6.html 使用kubeadm安装Kubernetes 1.6]&lt;br /&gt;
&lt;br /&gt;
[http://windgreen.me/2018/02/23/%E5%9B%BD%E5%86%85%E4%BD%BF%E7%94%A8kubernetes%E8%B8%A9%E8%BF%87%E7%9A%84%E5%9D%91/ 国内使用kubernetes踩过的坑]&lt;br /&gt;
&lt;br /&gt;
[https://www.zybuluo.com/ncepuwanghui/note/953929 good使用kubeadm在CentOS 7上安装Kubernetes 1.8]&lt;br /&gt;
&lt;br /&gt;
[https://kubernetes.io/docs/setup/pick-right-solution/ 官方文档]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.kubernetes.org.cn/k8s k8s入门文档]&lt;br /&gt;
&lt;br /&gt;
[https://www.kubernetes.org.cn/3805.html 使用kubeadm安装Kubernetes v1.10以及常见问题解答]&lt;br /&gt;
&lt;br /&gt;
[http://blog.gcalls.cn/blog/2017/01/Kubernetes%E9%9B%86%E7%BE%A4%E6%90%AD%E5%BB%BA.html Kubernetes集群多种搭建]&lt;br /&gt;
&lt;br /&gt;
[https://jimmysong.io/kubernetes-handbook/ Kubernetes Handbook]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/CHENYUFENG1991/article/details/79118330 解决gcr.io/google_container/***镜像下载失败的解决方案 不过没试过]&lt;br /&gt;
&lt;br /&gt;
[https://mritd.me/2017/02/09/gcr.io-registy-proxy/ gcr.io 仓库代理]&lt;br /&gt;
&lt;br /&gt;
[https://my.oschina.net/xdatk/blog/895645 如何在国内愉快的安装 Kubernetes]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/AtlanSI/article/details/80849927 K8S集群搭建，并部署nginx实现跨网络访问]&lt;br /&gt;
&lt;br /&gt;
[[category:k8s]] [[category:容器]] [[category: container]]&lt;/div&gt;</summary>
		<author><name>Evan</name></author>
	</entry>
</feed>