# 在所有节点docker配置文件中加入 私有仓库地址(解决安全认证问题)
vi /etc/docker/deamon.json

  },
"insecure-registries": ["https://hub.myhub.com"]
}

# 重启docker 
systemctl restart docker

# 添加host
vi /etc/host
192.168.2.2 hub.myhub.com

# 一下操作在私有仓库node进行
# 上传 docker-compose
mv docker-compose /usr/local/bin
chmod a+x /usr/local/bin/docker-compose

# 上传 harbor-offline-installer-v1.2.0.tgz 并解压
tar -zxvf harbor-offline-installer-v1.2.0.tgz
mv harbor /usr/local
cd /usr/local/harbor

# 修改harbor配置文件
vi harbor.cfg
hostname = hub.myhub.com
ssl_cert = /data/cert/server.crt

# 创建ssl_cert 所需的目录
mkdir -p /data/cert

# 创建 https证书 
openssl genrsa -des3 -out server.key 2048
openssl req -new -key server.key -out server.csr
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
mkdir /data/cert
chmod -R 777 /data/cert

# 引导安装
./harbor/install.sh

# 安装成功后登录网页
https://hub.myhub.com
用户名 admin 密码查看配置文件 /harbor/harbor.cfg

# docker 访问私有仓库
docker login https://hub.myhub.com

# 测试私有仓库
docker pull wangyanglinux/myapp:v1
docker tag wangyanglinux/myapp:v1 hub.myhub.com/libray/myapp:v1
docker push hub.myhub.com/libray/myapp:v1

# 查看私有仓库网页是否上传成功,删除images
docker rmi -f wangyanglinux/myapp:v1
docker rmi -f hub.myhub.com/libray/myapp:v1


# 测试k8s 集群是否可用 启动pod
kubectl run nginx-deployment --image=hub.myhub.com/libray/myapp:v1 --port=80 --replicas=1

# 查看 k8s状态
kubectl get deployment
kubectl get rs
kubectl get pod 
kubectl get pod -o wide
docker ps |grep nginx

# 访问
curl 私有ip地址
curl 私有ip地址/hostname.html

# 测试删除pod
kubectl get pod 
kubectl delete pod pod名称
kubectl get pod 
通过查看可以看到 会重新新建pod ,因为指定了--replicas=1 ,k8s会保证该pod 有1个实例在运行

# 重新指定副本数(扩容)
kubectl get deployment  #查看要扩容的deployment名称
kubectl scale --replicas=3 deployment/nginx-deployment
kubectl get pod -o wide

# 设置负载均衡(svc) 测试访问
kubectl expose --help   #查看创建帮助
kubectl expose deployment nginx-deployment --port=30000 --target-port=80
kubectl get svc 
curl nginx-deployment的IP地址:30000/hostname.html  # 多次访问 测试是否为轮循机制
ipvsadm -Ln #查看lvs规则
kubectl get pod -o wide


# 设置外部访问 把svc type 设置为NodePort
kubectl get svc
kubectl edit svc nginx-deployment  #修改 tpye: NodePort
kubectl get svc #再次查看svc 可以看到端口,此时通过外部访问该端口 即可访问到pod

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐