查看docker的进程状态
1
systemctl status docker
安装kubeadm、kubelet和kubectl等工具的命令和步骤:
1
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
1
2
3cat <<EOF > /etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF执行更新,并且安装
1
2apt-get update
apt-get install -y kubeadm=1.14.1-00 kubectl=1.14.1-00 kubelet=1.14.1-00从k8s的mirror镜像库下载k8s master组件和node组件镜像步骤:
- 查看核心组件版本
1
kubeadm config images list
- Kuiki的方法
1
2
3
4
5
6
7
8
9
10# master节点
# 先将难以拉去的镜像通过阿里源拉下来
sudo -i # 切root方便操作docker
for i in `kubeadm config images list`; do
imageName=${i#k8s.gcr.io/}
docker pull registry.aliyuncs.com/google_containers/$imageName
docker tag registry.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
docker rmi registry.aliyuncs.com/google_containers/$imageName
done;
exit # 退出root- master节点
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19docker pull anjia0532/kube-apiserver-amd64:v1.10.2
docker pull anjia0532/kube-controller-manager-amd64:v1.10.2
docker pull anjia0532/kube-scheduler-amd64:v1.10.2
docker pull anjia0532/kube-proxy-amd64:v1.10.2
docker pull anjia0532/etcd-amd64:3.1.12
docker pull anjia0532/pause-amd64:3.1
docker pull anjia0532/k8s-dns-sidecar-amd64:1.14.8
docker pull anjia0532/k8s-dns-kube-dns-amd64:1.14.8
docker pull anjia0532/k8s-dns-dnsmasq-nanny-amd64:1.14.8
docker tag anjia0532/kube-apiserver-amd64:v1.10.2 k8s.gcr.io/kube-apiserver-amd64:v1.10.2
docker tag anjia0532/kube-scheduler-amd64:v1.10.2 k8s.gcr.io/kube-scheduler-amd64:v1.10.2
docker tag anjia0532/kube-controller-manager-amd64:v1.10.2 k8s.gcr.io/kube-controller-manager-amd64:v1.10.2
docker tag anjia0532/kube-proxy-amd64:v1.10.2 k8s.gcr.io/kube-proxy-amd64:v1.10.2
docker tag anjia0532/etcd-amd64:3.1.12 k8s.gcr.io/etcd-amd64:3.1.12
docker tag anjia0532/pause-amd64:3.1 k8s.gcr.io/pause-amd64:3.1
docker tag anjia0532/k8s-dns-sidecar-amd64:1.14.8 k8s.gcr.io/k8s-dns-sidecar-amd64:1.14.8
docker tag anjia0532/k8s-dns-kube-dns-amd64:1.14.8 k8s.gcr.io/k8s-dns-kube-dns-amd64:1.14.8
docker tag anjia0532/k8s-dns-dnsmasq-nanny-amd64:1.14.8 k8s.gcr.io/k8s-dns-dnsmasq-nanny-amd64:1.14.8worker节点
1
2
3
4
5docker pull anjia0532/pause-amd64:3.1
docker pull anjia0532/kube-proxy-amd64:v1.10.2
docker tag anjia0532/pause-amd64:3.1 k8s.gcr.io/pause-amd64:3.1
docker tag anjia0532/kube-proxy-amd64:v1.10.2 k8s.gcr.io/kube-proxy-amd64:v1.10.2查看可供安装的kubeadm的版本
1
apt-cache madison kubeadm
初始化kubeadm(master节点)
1
kubeadm init --apiserver-advertise-address=172.18.94.63 --pod-network-cidr=10.244.0.0/16 --kubernetes-version=1.14.1
从节点加入主节点
1
kubeadm join 10.0.2.15:6443 --token 8t3pie.0n7ra7idaqzl7i1j --discovery-token-ca-cert-hash sha256:00dd3ee3f9c2592bb4ce15dce533f3cae193f30a457c5c2deffd30b548f46b0a
初始化配置
1
kubeadm reset
The connection to the server localhost:8080 was refused - did you specify the right host or port?
原因:kubenetes master没有与本机绑定,集群初始化的时候没有设置
解决办法:执行以下命令1
export KUBECONFIG=/etc/kubernetes/admin.conf
/etc/kubernetes/admin.conf这个文件主要是集群初始化的时候用来传递参数的
检查功能
1
kubectl get pods -n kube-system -o wide
安装weave
- 方法1:
1
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
- 方法2: (应对weave pod启动时出现:Network 10.32.0.0/12 overlaps with existing route xx.xx.xx.xx/16 on host 错误信息) 在weave容器,修改:IPALLOC_RANGE
1
curl -L "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')" > weave.yaml
1
2
3
4vim weave.yaml
- name: IPALLOC_RANGE
value: 192.168.16.0/201
kubectl apply -f weave.yaml
- 方法1:
安装dashboard的步骤:
下载dashboard镜像
1
2docker pull anjia0532/kubernetes-dashboard-amd64:v1.8.3
docker tag anjia0532/kubernetes-dashboard-amd64:v1.8.3 k8s.gcr.io/kubernetes-dashboard-amd64:v1.8.3安装dashboard
1
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta1/aio/deploy/recommended.yaml
Dashboard 可以参考这个网址https://www.kubernetes.org.cn/5462.html
另外,1.7章,6:30 教怎么样创建dashboard的用户
其他
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18# 在kubeadm init后此时root用户还不能使用kubelet控制集群,还需要配置该环境变量。
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
# 立即生效
source ~/.bash_profile
kubectl get pods -n kube-system -o wide
echo xxxx|base64 -d
# 编辑kubelet的参数配置
vim /var/lib/kubelet/config.yaml
# 修改后重启生效
systemctl daemon-reload
systemctl restart kubelet
# 查看运行状态
service kubelet status