Kubernetes

来自ling
跳转至: 导航搜索

kubernetes

Kubernetes-architecture.png

kubernetes 安装

docker run -t -i --privileged centos:6.8 /bin/bash
yum update

yum -y install wget   
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
yum makecache

更多参考centos阿里镜像

yum install -y etcd kubernetes
rpm -Va --nofiles --nodigest

docker中文文档

创建镜像并上传

docker commit -m="kubernetes" -a="bo.wang" 0b2616b0e5a8 102010cncger/kubernetes
docker tag 7d9495d03763 102010cncger/docker-whale:latest
docker login
docker push 102010cncger/centos:v1

问题解决

docker Failed to get D-Bus connection

  • Failed to connect to bus: No such file or directory

这个的原因是因为dbus-daemon没能启动。其实systemctl并不是不可以使用。将你的CMD或者entrypoint设置为/usr/sbin/init即可。会自动将dbus等服务启动起来。 然后就可以使用systemctl了

docker run -t -i --privileged 102010cncger/ubuntu:v3 /bin/bash
docker run --privileged  -ti -e "centos-kubernetes"  102010cncger/centos:v1  /usr/sbin/init
docker run --privileged  -ti -e "container=docker"  -v /sys/fs/cgroup:/sys/fs/cgroup  centos  /usr/sbin/init

华为云集群内不能访问

https://support.huaweicloud.com/usermanual-cce/cce_01_0014.html#cce_01_0014__section52631714117


集群内使用ELB地址无法访问Service说明 当LoadBalancer Service设置了服务亲和为节点级别,即externalTrafficPolicy取值为Local时,在使用中可能会碰到从集群内部(节点上或容器中)使用ELB地址访问不通的情况。

这是因为创建LoadBalancer Service时,kube-proxy会把ELB的访问地址(external-ip)添加到iptables或IPVS中,当在集群内部访问ELB地址时不会经过ELB,而是kube-proxy直接转发。不同容器网络模型和服务转发模式下会有情况不同。

解决这个问题通常有如下办法:

(推荐)在集群内部访问使用Service的ClusterIP或服务域名访问。 将Service的externalTrafficPolicy设置为Cluster,即集群级别服务亲和。不过需要注意这会影响源地址保持。

spec: 
  externalTrafficPolicy: Cluster