kubernetes 环境搭建(ubuntu16.04)
通过kubeadm安装kubernetes的教程:1: 首先在每台机器上安装: docker(1.12), kubeadm(1.6), kubectl, kubelet, kubernetes-cni
apt-get update && apt-get install -y apt-transport-https
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main #将kubernetes的源加入到当前的source list中
EOF
apt-get update
# Install docker if you don't have it already.
apt-get install -y docker-engine
apt-get install -y kubelet kubeadm kubectl kubernetes-cni
~~~~~~~~~~~~~~~~~~~~~~~~
其中docker install 安装注意事项:
https://docs.docker.com/engine/installation/linux/ubuntu/#install-using-the-repository
由于通过k8s管理containers,只需要有docker-engine部分就可以了,其它的并不需要,因此:
有两个命令可以查看当前可以安装的docker-ce版本和docker-engine版本:
apt-cache policy docker-engine
apt-cache madison docker-ce
~~~~~~~~~~~~~~~~~~~~~~~~~
2: 然后在master节点上:
kubeadm init
第一次执行等待时间比较长,卡在(Created API client, waiting for the control plane to become ready)
解决办法:kubeadm reset -> kubeadm init
当出现:
renjingui@renjg-HP-Compaq-Pro-6380-MT:~$ sudo kubeadm init
WARNING: kubeadm is in beta, please do not use it for production clusters.
Using Kubernetes version: v1.6.2
Using Authorization mode: RBAC
Running pre-flight checks
Starting the kubelet service
Generated CA certificate and key.
Generated API server certificate and key.
API Server serving cert is signed for DNS names and IPs
Generated API server kubelet client certificate and key.
Generated service account token signing key and public key.
Generated front-proxy CA certificate and key.
Generated front-proxy client certificate and key.
Valid certificates and keys now exist in "/etc/kubernetes/pki"
Wrote KubeConfig file to disk: "/etc/kubernetes/controller-manager.conf"
Wrote KubeConfig file to disk: "/etc/kubernetes/scheduler.conf"
Wrote KubeConfig file to disk: "/etc/kubernetes/admin.conf"
Wrote KubeConfig file to disk: "/etc/kubernetes/kubelet.conf"
Created API client, waiting for the control plane to become ready
All control plane components are healthy after 16.520114 seconds
Waiting for at least one node to register
First node has registered after 4.010585 seconds
Using token: d9961d.36bce67db0c5bd3b
Created RBAC rules
Created essential addon: kube-proxy
Created essential addon: kube-dns
Your Kubernetes master has initialized successfully!
To start using your cluster, you need to run (as a regular user):
sudo cp /etc/kubernetes/admin.conf $HOME/
sudo chown $(id -u):$(id -g) $HOME/admin.conf
export KUBECONFIG=$HOME/admin.conf
You should now deploy a pod network to the cluster.
Run "kubectl apply -f .yaml" with one of the options listed at:
http://kubernetes.io/docs/admin/addons/
You can now join any number of machines by running the following on each node
as root:
kubeadm join --token d9961d.36bce67db0c5bd3b 109.123.123.6:6443
就说明init成功了。
通过: kubectl taint nodes --all node-role.kubernetes.io/master- 可以将一个master节点映射为一个node节点
通过 kubectl get nodes 可以查看当前节点情况。
3: 配置网络环境。
由于机器的硬件环境不同,所以要采用通用的网络组件,Flannel 和 Weave Net,前面一种没有成功,原因:dns docker container启动不了
后面一种配置方法:
kubectl apply -f https://git.io/weave-kube-1.6
可以查看所有的namespace的信息:
renjingui@renjg-HP-Compaq-Pro-6380-MT:~$ kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system etcd-renjg-hp-compaq-pro-6380-mt 1/1 Running 0 6m
kube-system kube-apiserver-renjg-hp-compaq-pro-6380-mt 1/1 Running 0 6m
kube-system kube-controller-manager-renjg-hp-compaq-pro-6380-mt 1/1 Running 0 6m
kube-system kube-dns-3913472980-1j8dx 3/3 Running 0 7m
kube-system kube-proxy-4j745 1/1 Running 0 7m
kube-system kube-scheduler-renjg-hp-compaq-pro-6380-mt 1/1 Running 0 6m
kube-system weave-net-r4b8d 2/2 Running 0 5m
renjingui@renjg-HP-Compaq-Pro-6380-MT:~$
4:部署应用/调试信息
kubectl describe -n kube-system po kube-flannel-ds-rr7xv
(NAMESPACE) (NAME)
5:删除一个节点:
Master:
kubectl drain maoxj-optiplex-7010 --delete-local-data --force --ignore-daemonsets
kubectl delete node <node name>
node:
kubeadm reset
6:加入Cluster的方式为:
在node节点上执行:
kubeadm join --token a93f59.e500af089136cc83 109.123.123.6:6443
7:添加dashboard:
在master节点上执行
参看链接:
https://github.com/kubernetes/dashboard#kubernetes-dashboard
apache 转发代理配置:
<VirtualHost *:8081>
ProxyRequests On
ProxyPass / http://127.0.0.1:8001/
</VirtualHost>
页:
[1]