首先安裝docker
sudo apt-get update && apt-get install -y apt-transport-https
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker
普通用戶添加到docker用戶組
這樣可以非root用戶使用docker命令
sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo systemctl restart docker
然后重新打開終端
添加k8s官方源
sudo curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
sudo cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl kubernetes-cni
這一步需要科學上網,否則會出現下載失敗。
使用kubeadm部署k8s
swapoff -a
kubeadm init \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.14.0 \
--pod-network-cidr=10.244.0.0/16
設置k8s的網絡插件
如果不安裝網絡插件的話,kubectl get pods -n kube-system
會有pod是polling狀態(tài)。
我們使用weave作為網絡插件冬耿,執(zhí)行下面命令安裝
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
設置k8s的存儲插件
我們使用rook作為k8s的存儲插件,執(zhí)行下面的命令
kubectl apply -f https://raw.githubusercontent.com/rook/rook/master/cluster/examples/kubernetes/ceph/common.yaml
kubectl apply -f https://raw.githubusercontent.com/rook/rook/master/cluster/examples/kubernetes/ceph/cluster.yaml
kubectl apply -f https://raw.githubusercontent.com/rook/rook/master/cluster/examples/kubernetes/ceph/operator.yaml
如果你是單節(jié)點的k8s,還需要刪除Master節(jié)點的taint
kubectl taint node <nodename> node-role.kubernetes.io/master:NoSchedule-
nodename根據你的node名稱填寫斟览,使用下面命令查看
kubectl get nodes
設置kubectl的自動補全
bash
執(zhí)行
echo 'source <(kubectl completion bash)' >>~/.bashrc
kubectl completion bash >/etc/bash_completion.d/kubectl
zsh
編輯~/.zshrc文件,添加下面內容
autoload -Uz compinit
compinit
source <(kubectl completion zsh